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

骑砍2通过独立AI、编队AI和战术AI的三层设计,实现更智能、更具挑战性的战斗体验。独立AI确保每个NPC精准作战,编队AI协调阵型行动,战术AI依据地形和军队特点制定战略。这种先进的AI系统旨在为玩家带来既具挑战性又不失沉浸感的战斗,同时为MOD制作者提供了易于定制的框架。
部署运行你感兴趣的模型镜像

人工智能(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。如果你有什么问题要问她,请留言,我们会选择问题来对她进行采访!

您可能感兴趣的与本文相关的镜像

EmotiVoice

EmotiVoice

AI应用

EmotiVoice是由网易有道AI算法团队开源的一块国产TTS语音合成引擎,支持中英文双语,包含2000多种不同的音色,以及特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。

关于 阿里云盘CLI。仿 Linux shell 文件处理命令的阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能,支持相册批量下载。 特色 多平台支持, 支持 Windows, macOS, linux(x86/x64/arm), android, iOS 等 阿里云盘多用户支持 支持备份盘,资源库无缝切换 下载网盘内文件, 支持多个文件或目录下载, 支持断点续传和单文件并行下载。支持软链接(符号链接)文件。 上传本地文件, 支持多个文件或目录上传,支持排除指定文件夹/文件(正则表达式)功能。支持软链接(符号链接)文件。 同步备份功能支持备份本地文件到云盘,备份云盘文件到本地,双向同步备份保持本地文件和网盘文件同步。常用于嵌入式或者NAS等设备,支持docker镜像部署。 命令和文件路径输入支持Tab键自动补全,路径支持通配符匹配模式 支持JavaScript插件,你可以按照自己的需要定制上传/下载中关键步骤的行为,最大程度满足自己的个性化需求 支持共享相册的相关操作,支持批量下载相册所有普通照片、实况照片文件到本地 支持多用户联合下载功能,对下载速度有极致追求的用户可以尝试使用该选项。详情请查看文档多用户联合下载 如果大家有打算开通阿里云盘VIP会员,可以使用阿里云盘APP扫描下面的优惠推荐码进行开通。 注意:您需要开通【三方应用权益包】,这样使用本程序下载才能加速,否则下载无法提速。 Windows不第步打开aliyunpan命令行程序,任何云盘命令都有类似如下日志输出 如何登出和下线客户端 阿里云盘单账户最多只允许同时登录 10 台设备 当出现这个提示:你账号已超出最大登录设备数量,请先下线一台设备,然后重启本应用,才可以继续使用 说明你的账号登录客户端已经超过数量,你需要先登出其他客户端才能继续使用,如下所示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值