一直在做AI这方面的设计工作,个人总结下来一套AI系统至少要有两个层面:
1. 动作层。比如说敌人要能跑能跳。
2. 决策层。要有一个Brain来决定什么时候需要下命令让敌人去跑去跳。
再往上还可以有群体决策,来决定复数敌人的整体行动和配合。
要想使AI看起来不蠢,至少动作层需要过关,否则再好的戏也出不来。如果是比较大型的游戏,这本身就已经很复杂了,比如说如何跑到一个精确的位置,动作之间如何过渡,要不要加一些转向辅助等等。就不展开说了。
题主主要关心的还是决策层。假定已经有了一个够用的动作层,可以实现大部分的目标,如何使玩家觉得AI不蠢呢?
细分这个问题,首先,是要“玩家”觉得不蠢。毕竟我们应该最明白,游戏里的AI从根本上是要为玩家服务的,而不是像AlphaGo一样造出来挑战人类极限的。所以我们并不需要做一个真正“聪明”的AI(其实也做不到),AI的行为应该符合我们的常识,而不是寻找最优的解法。这个应该是AI的上限。
然后是这个下限:“蠢”,在玩家眼里怎么样才算不蠢?相比现实世界,玩家对AI的某些行为有多大的容忍度?从最基本的行为层面上来看,需要这么几点:
1. 对于玩家的行为,敌人要作出反应。比如被子弹打中后,敌人要知道躲,不能傻站着。
2. 反应速度。太快了显得假,太慢了就显得蠢。
3. 反应的多样性和决策。比如被打中后,敌人是找掩体还是打开护盾,还是发出警告呼唤伙伴等等。
4. 一些自发的行为。比如巡逻时的路径和观察模式。
5. AI的行为,需要给玩家留下对策的空间。建立一个玩家行动->AI针对->玩家再针对的循环。
总结下来,玩家和AI之间,应该是一个博弈的关系,而不是一方对另一方的碾压。
以上的设计要点,在不同类型的游戏中有不同的体现和侧重。比如FPS游戏中,动作层面上的被子弹击中的反应其实特别重要,是要优先于受创后的行为的。其实就是玩家更需要在开枪击中敌人后,可以立即得到反馈。再比如体育类游戏中,就更需要团队层面上的AI配合。
而且在同一个游戏中,还要针对各种敌人建立尽量明显的AI差异,使玩家可以找到对不同敌人的不同对策。
即使对同一个敌人,最好也要建立多个“玩家行动->AI针对->玩家再针对”的循环。用来避免单调,配合玩家的成长以及游戏的难度曲线。
在各种类型的游戏中,有哪些AI设计技巧能避免玩家觉得AI太蠢?
0 条评论