最近有机会开发一项回合制的战斗体系,记录一下自己在制作过程中的感悟与理解,方便后续进行回顾和反思,同时也整理一下现有战斗思路
1.对于回合制的理解
传统的回合制游戏如仙剑、梦幻西游、八方旅人等。这些游戏有一些特定的特点:
1.确定的角色行动顺序与回合时序
2.每个角色每个回合只有一次行动机会,但可能有多次技能释放机会
3.技能或者事件可以触发其他的技能或事件
4.无法确定的事件触发时机
2.功能制作的方向与目标
我们对战斗的期望比较偏向八方旅人,但是因为我从小是玩仙剑和梦幻西游的,同时之前受炉石和杀戮尖塔影响较深,所以我在功能制作方向上会更多参考到梦幻西游、炉石传说和杀戮尖塔的相关功能。
3.战斗逻辑框架
为了保证整个战斗系统的灵活性和配置各种效果相关的功能复用性,我们决定参考Dota2中的战斗技能模块进行设计与制作。也就是采用Ability-Modifier-Action的模式进行战斗的设计。
Ability:
包含固定的执行类节点:如Ability的添加节点与移除节点、释放技能(Ability触发节点)等
节点内包含一些Action
维护一张Modifier列表,也就是Ability中会包含所有这个Ability中用到的Modifier
Modifier:
具有一些触发性质的节点:如OnAttacked,OnAbilityExcuted
节点内包含一些Action
Action:
具体的执行事件,如播放特效音效,添加一个Modifier等
对于这套系统我的理解是:Ability其实就是一个大的技能容器&#x