当前位置:游戏 > 综合资讯

如何设计RTS游戏的AI?从《全面战争》系列说起

来源:游民星空 作者:译者:最后的防线 发布时间:2018年02月28日

免责声明:火星网文章来源于作者原创或整理自互联网,仅为提供更多信息,不代表火星时代同意其观点或描述,版权归原作者所有,如需转载,请联系原作者并注明出处,如涉及作品内容、版权或其他问题,请及时与我们联系,我们将在第一时间予以更改或删除,感谢您的理解和包容!

AI控制下的单位行动

从某种意义上说,军事单位也是《全战》系列的核心:从近战兵,到弓箭手,再到骑兵,根据兵种的不同,它们可以各自编组在一起。游戏中,这些作战单位不仅要保持阵型,而且要到处移动,并作为一个整体单位投入战斗。而对设计者来说,保证这些部队能顺利调动是一项有挑战的任务,特别是它们穿越山脉和森林等各种复杂地形时。

人工神经网络的运作原理

为此,《全面战争》采用了人工神经网络(Artificial Neural Network)来管理游戏中的单位。在AI设计中,为让操控对象迅速做出期望的反应,人工神经网络是一种相当有效的手段。具体来说,在这种系统中,处理数据的是一个个“神经元”——即简单的处理单元,它一方面从外界的来源接收数据,另一方面,这些来源又有着不同的权重。根据数据和权重的不同,它会自动得出最有利的结果,并以此来指引单位的行动。另外,在游戏设计中,开发者可以通过一些手段,让机器自己“学习”,并对相关数据的权重进行调整。一旦人工神经网络掌握了合适的行动方法,他们可以在瞬间做出反应。另外,“训练有素”的神经网络还能学会类比:这意味着,它能根据之前的经验,识别类似的情况,并做出在类似情况下最优的决策。

但另一方面,假如神经网络需要同时完成多个目标,其决策的效果却常常不甚理想,当这些目标存在对立时更是如此。具体到游戏中,其每支部队都有不同的神经网络,不管控制这些单位的是玩家还是更高层级的AI,它们都会根据不同的命令采取不同的行动:如移动、躲避火力,坚守阵地等,但另一方面,在早期的几部作品中,这些网络中的参数都是预先设定好的,并不会随着游戏过程自动调整或优化,所以,指望它随着游戏的进行变得精明,实际上也是不可能的。

战术AI

如前所述,战术AI控制的,实际是每场战斗中与玩家对战的那些敌人。它们需要决定各个单位的阵型和行动。同时,他们还需要把不同的单位组织在一起,以实现特定的战术目标,或是根据现有的地形和天气对其进行调遣。

在战术AI领域, 《幕府将军》采用的是一种逻辑系统。具体而言,在战斗中,AI会根据战场系统提供的数据,做出各种相应决策。而其依据来自中国古代的兵书《孙子兵法》。

《幕府将军》系列的战术地图

这就产生了一个问题,为什么开发者会用中国上古兵书中的原则,来指导《幕府将军》中的AI设计?一方面,这是出于真实性的考虑——在日本战国时代,许多武将在指挥战争时确实会参考这本书;另外,对于游戏本身来说,《孙子兵法》的内容确实有许多具体的指导意义,比如,其中便详细阐释了冷兵器时代、在不同战场条件下、面对各种类型和规模的敌军时,指挥官的应对策略,以及地形、天气和士气对作战的影响等。

下面就是《孙子兵法》中的一些简单例子:

“围师必阙,穷寇勿迫”

“十则围之,五则攻之,倍则分之”

根据《孙子兵法》中的原则,开发者最终设计了三种风格的战术AI,以对应不同性格特点的武将,同时,在这些AI中,他们还嵌入了总共220条规则,它们综合在一起,会导致各种各样的战术决策。在当时的即时战略/战术类游戏中,它可以说是一个创举。

谁能想到,《孙子兵法》充当了《全战》诞生之初的AI行动指导原则呢?

CA社的开发总监麦克·辛普森(Mike Simpson)对此评论说:

“在当时,大多数游戏使用的都是简单的封装行为脚本:举个例子,当你的部队冲向它们时,它们就会自动开火;同时,它们的进攻也缺乏章法,基本上就是一拥而上。这些AI的能力非常有限,更谈不上模拟了真实的战场环境。在这些游戏中,你甚至不用反复战斗,就能掌握击败敌人的办法,这并不是我们想要的,我们理想的游戏必须包含许多真实世界的战术元素,其中敌人会非常狡猾,会随机应变——虽然这让制作变得异常复杂,但无论对我们还是玩家,它都有很大的意义。”

游戏 设计 AI