怎样设计一个扩展性好的技能系统?

classic 经典版 list 列表 threaded 结构树
5 条帖子 选项
回复 | 结构树
以树状图样式打开这个帖子
|

怎样设计一个扩展性好的技能系统?

greenbird (壹零)
管理员
该帖在被更新。
一起来讨论吧!
11月 02, 2017; 9:49pm

噢,那还是换个话题吧
11月 02, 2017; 10:39pm

那我简单介绍一下。
技能主要有几个方面:
0. 触发: 如UI触发,事件触发。
1. 效果: 如触发动画。
2. 数值: 如生命值改变,各种属性值改变。
3. 目标: 作用的对象,指向,或范围,或随机。

技能可以看成一堆effect的集合,而player拥有一个技能的序列。
( 我们也许应该在player上预留接口:受到伤害,播放动画,播放音效等。
每帧中,被触发的技能应该自动地完成它的逻辑。
( 假如加入buff的概念,还有起止点的问题。

这只是粗略的想法,有疏漏多请指摘。

11月 03, 2017; 8:54am
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 怎样设计一个扩展性好的技能系统?

dragonly(李逸龙)
管理员
你这个题目有点过于笼统吧...
然后对于我这种没有太多概念的萌新, 你是不是应该先介绍下你在说什么, 然后提提你的一些想法
dragonly.github.io
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 怎样设计一个扩展性好的技能系统?

shudin(丁戍)
管理员
作为对greenbird (壹零)帖子的答复
我只考虑过炉石……应该是(在设计上)来一个巨大的公式保证各种 buff 平衡,然后:
给所有 item 设置一个扩展效果队列,每一层依次对于原始 item 进行继承+扩展,像类一样……

g@shud.in
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 怎样设计一个扩展性好的技能系统?

farter(杨皓然)
该帖在被更新。
作为对greenbird (壹零)帖子的答复
虽然我现在所在的砍砍砍游戏(
不过在技能系统复杂性扩展性上,似乎,是很有发言权的(
对,就是你说的差不多,一张大表,几十上百列,名为技能策划表,里面就这些数值
(包括各种布尔值开关,特效文件路径,特效挂接点,后接特效等等。这个技能触发时干不同的事情都是用开关变量表达)
还有buff表也是一张策划表(
各种NPC 商店 道具 都是策划表,表里面的域都很多(

大概还是,非常特殊的技能总会有硬编码,但是只要能复用的特征,就会做成表里面加一列,多个就都可以调用它。
毕竟都是用脚本语言(
回复 | 结构树
以树状图样式打开这个帖子
|

Re: 怎样设计一个扩展性好的技能系统?

instante(章凌豪)
作为对greenbird (壹零)帖子的答复
对这个我倒挺感兴趣的,大佬们有没有可能涉及一个作业来让大家动手实现&学习一下(