Ps:所有代码都是unity3d c#版。
纵观现在的手游,大部分都开始模仿刀塔传奇的模式:多人自动战斗+少数可控制技能。
具体的实现细节不考虑,毕竟如果你用cocos2d-x和你用u3d去做可能具体实现起来是完全用了两套系统。这里只对更高层面的设计上进行讨论。
首先我直接将每个战斗单元Player划分成AI 和 Skill两部分。一方面这样子可以简化设计,讨论重点也比较清晰。(注:这里不考虑团队AI,那样太过复杂。你可能也会疑惑为什么AI和技能会区分开来,而不是AI里面思考技能的施放,这个后面会解释)
1.AI
游戏中AI的实现,在不考虑团队AI的情况下,arpg一般使用状态机,回合制可以使用行为树。具体原因大家可以自行谷歌状态机和行为树的区别,这不是我们的重点。状态机的实现基本大同小异。在一本讲人工智能案例的书中,有对它的详细实现,也是我见过至今为止最简洁也是最灵活的版本。对于大部分游戏基本是够用的。
状态机由两部分组成,状态机管理和状态。
状态