建立海盗的天堂:盗贼之海的AI设定:骷髅和鲨鱼AI的秘密

2019-10-10 10:02  GameRes游资网

建立海盗的天堂:盗贼之海的AI设定:骷髅和鲨鱼AI的秘密

在本系列的第一篇中,我探索了AI系统在游戏中的运作方式,三大主要活动任务是如何生成的,以及开发人员如何才能让服务器承载所有的AI活动,合理分配资源。获得Rare公司的邀请后,我有很多话题想讨论。开发者就游戏发行时的一些AI相关问题为我们做出了解答。首先,我们将探索在藏宝岛上游荡的猪、蛇和骷髅:它们是如何运作的?骷髅AI行为背后有什么样的惊人秘密?除此之外,我们还会深入探究Rare利用虚幻4引擎创造出的独特水上导航系统,以及了解一下阻止AI鲨鱼游到陆地上是一件多么困难的事。

陆生动物的AI构建

让我们先简单查看下这些动物。就如系列第一篇所说的,《盗贼之海》的其中一种主要任务来自于灵魂秘社:你得去往一个或多个指定岛屿,杀掉高级别的骷髅,用他们的头骨换取奖励。这就要求游戏在必要时将大量骷髅刷新在某个地点,但如果你这时已经取得了淘金者或商人联盟的悬赏物,正在返程的途中,骷髅也会出现。

1.骷髅AI

那么,这个系统是如何运作的?它依赖于一种叫做行为树(behaviour trees)的常用AI范例,这是虚幻4引擎中自带的AI工具。正如我在AI 101系列最新一集中说到的,行为树的特点是可以扩展逻辑,形成多个分支,所以在特定的场景中,AI将做出一个或多个反映场景的决策。此外,他们可以对世界的变化做出快速反应,更新自己行为选择以适应变化。我们在第一篇中说过,很多陆地活动角色,比如岛上的骷髅、动物(我等会儿就展开)都是用虚幻4原本内置的AI工具链。但是骷髅有个特别的地方我想探究探究,自创办《AI与游戏》系列以来,我未曾见过如此独特的设计。

当AI角色出现在游戏中时,尽管你想要确保它们能够使用某些与玩家角色相同的机制——尤其是类人AI角色——但当你构建AI时,通常的思维是角色会使用另一种运行方式的来执行这些行为,跟玩家的操作逻辑完全不同。你会有一个指示执行某个动作或行为的逻辑,在虚幻引擎中,你可以在蓝图中的行为树编写任务,逻辑通常会调用代码中的现有函数——玩家会用这个函数来执行类似的指令。就拿《盗贼之海》举例,你想要在受伤之后补血,这时你会打开物品栏,拿出一条香蕉,按下RT键或者鼠标左键吃掉,这就触发了玩家代码库中的Heal()函数。一般来说如果你想让一个AI角色——比如骷髅——做一样的事,你的逻辑或者是直接运行一样的Heal()函数或者是运行一个为非玩家角色编写的类似函数,并且你要确保吃香蕉动画能够让玩家理解对方也在做同样的事情。所以总结来说就是看起来是在做同样的事情,但实际运行方式是完全不同的。

分享到微信朋友圈 ×
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。
×

本网页已闲置过久,点击关闭或空白处,即可回到网页