骑马与砍杀2:霸主 开发日志 ——战斗AI

blog_post_63_steamheader_zh.jpg
翻译:贤狼赫萝@骑马与砍杀中文站
 
卡拉迪亚的战士们,大家好!
 
人工智能(AI)是单机游戏中最重要的功能。游戏体验的关键在于正确的做法:这必须是无形的,才能让玩家(或多或少)忘记他们是在和电脑玩。它必须聪明而且灵活才能成为一个有价值的对手,但也不能太强——毕竟人类能力是有限的,还有就是玩家作为游戏的主角也需要赢。所以必须利用手头的游戏机制,不只是为了好玩和多样性,而且还能向玩家展示可以做到哪些。在骑砍2中更是如此,一个基于技能的战斗和史诗般的大规模战斗才是游戏体验的核心。
 
在上一作游戏中,AI的战斗表现很出色,但并不是最先进的。战术AI用的比较基础的,要么全军突击,要么防守玩家进攻。没有考虑到地形,而且AI任何时候都不会尝试利用对手军队的弱点或者玩家犯的错误展开进攻。这种游戏深度的缺乏让AI成为游戏的缺点,一个讨厌而没有真正价值的对手。在骑砍2里,这一点已经得到了全面的改善。我们希望玩家能够受到挑战,利用智慧并利用已有的战斗机制获得胜利——而有时候玩家也会因为各种不明智的决定或者错误而受到惩罚。为了这一点,考虑到骑砍中战斗可以是一对一决斗或者大规模战斗,我们必须设计一个更先进,反应更快的战斗AI,将其分为三种不同的类型:独立,编队和战术AI。
blog_post_63_taleworldswebsite_02.jpg
独立AI
 
战斗中的每个NPC都有自己的AI。移动到指定位置(寻路),选择一个目标,进攻和防守都能在自身的级别上得到管理。独立AI需要非常迅速而且快速反应,并能在非常小的误差范围内正确反应(挥动武器,马上冲刺敌人等)。此外,命令需要能同时间指挥整个阵型。最终,时机的把控和战术执行也需要尽可能地接近完美
 
简单地说,独立AI需要尽可能地准确的保证每个NPC都能有效地作战。它需要执行所有收到的命令,还有评估现状,以便决定自己应该采取什么行动。
 
当你有上百个NPC同时进行计算的时候,计算机的性能就成为了亟需解决的最重要的潜在问题(于是我们用平行计算来解决)
 
编队AI
 
编队AI比独立AI的优先级更高。编队AI是用于将命令发送到某个阵中的每个NPC并让他们自己决定如何作战(比如说攻击,防守,侧绕,撤退等)然而需要注意的是编队AI发出的命令只能决定每个NPC的预期,而不能直接让他们做任何事情:这个需要由独立AI做出最终决定。
编队AI的游戏接口和命令集和玩家的完全一样,并且是有权被访问的。换句话说,我们的战斗AI系统绝不作弊!它的每一条信息都可以被玩家直接访问(当然,这些信息可能要比玩家的猜测的要稍微详细和准确些)并用这些信息来做出决定。
 
战术AI
 
战术AI指的是AI军队的整体战斗计划。它会根据战场地形,以及军队组成来确定最佳战术。为了保持每场战斗的变化并对玩家步步紧逼,这一层战术AI会受到AI领主的指挥影响。一些领主可能会更谨慎,并更偏向于占领高地后再结阵防御,而其他领主可能会更加急躁,希望能通过早期进攻直接给对手造成压力。
 
战术的选择决定了整体战斗计划,每个编队都知道他们有什么命令,但并不会严格依赖命令。这意味着每个编队的AI都会在必要时刻做出战场抉择,比如在必要时刻乘胜追击或者撤退,但在没有比较紧急的状态下,它们会按照计划行动。
 
其实可以把这个看成AI特有的指挥链,战术AI是军队首领,向下属发出命令并希望它们将命令发挥到极致。
blog_post_63_taleworldswebsite_03.jpg
 
我们在开发这套新的战斗AI系统时,主要考虑的因素之一就是确保AI做出的任何决定都能传达到玩家上。AI需要做出对玩家来说有意义有逻辑的决策,否则整个游戏会变得过于简单,而且也会对玩家的沉浸感造成不利的影响。目前为止,我们对结果非常满意。我们认为霸主的AI对于回归玩家来说是一种新的挑战,并为新老玩家提供动态战斗体验,以测试玩家的个人技巧和战术实力。
 
最后我们想说的是霸主的AI也可以修改的,它分为三个不同级别,这对于MOD制作者很重要,这会让他们的活更轻松,也允许更复杂的修改。战术,编队的行为以及NPC层面的区分是很重要的:就像指挥官在战斗中改变命令并不能改变他们的士兵一样,增加一个新的战术并不需要你顺便把每个编队或者独立NPC都给修改。添加新编队行为并不需要你去深入研究NPC AI,因为AI都有使用接口,而且你需要利用指挥链层次之间的中介。这就让MOD制作者能够自定义AI来满足需求而不破坏任何东西,利用复杂或者简单的命令和逻辑来创造一个新的编队行为和利用各种编队行为而生成一个新战术。
 
下周的开发日志,我们会采访3D美工ülker Dikmen。如果你有什么问题要问她,请留言,我们会选择问题来对她进行采访!
 

相关新闻