游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2420|回复: 0

建立海盗的天堂:盗贼之海的AI(一)

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-9-29 13:28:31 | 显示全部楼层 |阅读模式
如果你在网站或YouTube上关注过这个系列,你就知道我平常研究的是商业电子游戏中人工智能(AI)的构建,但我通常会在游戏发行后很久才开始。我之前从未有这样的机会,能够这么直接、坦诚地与开发工作室谈论他们的经历——从产品最初的概念到上架,并在现代游戏生态系统中生存。2018年年末,我受到Rare公司的邀请,去拜访海盗题材多人冒险游戏《盗贼之海》的开发工作室。这款游戏不仅为Xbox平台的玩家带来了独特体验,还促使人们对Rare有了新的认识。请跟我一起去幕后,认识《盗贼之海》的编程团队,你不仅能够学到关于游戏制作的第一手知识,而且还能了解他们在游戏不断更新和改进的过程中所付出的努力。

vlcsnap-2019-06-03-12h48m24s276.png

关于《盗贼之海》

Rare公司是英国游戏产业的元老之一,30年来他们通过不断革新、适应市场的变化得以生存下来。1990年代,为了和任天堂建立紧密的合作关系,他们为ZX Spectrum电脑开发产品。现在的他们是微软旗下的内部工作室之一,为Xbox提供支持。2015年,在发行了三款Kinect Sports产品以及Rare Replay周年纪念合集后,这家工作室将全部注意力转移到一个与之前大不相同的项目上,颠覆他们以往的游戏类型和开发方式。

Rare开发《盗贼之海》的初衷是想做一个独特的产品。实时服务游戏是他们之前从未尝试过的,但他们的设计意图是以玩家为中心。玩家可以从不同的人物那里领取任务,你可以优先玩自己喜欢的内容,按照自己的节奏进行,这样可以最大程度确保游戏的易上手性。作为回报,玩家不仅可以提高他们在不同帮派中的声望,还可以赚取货币来购买各种各样的新装扮:一顶很酷的新帽子或假腿、一张漂亮的船帆,或者一个镶金边的水桶。玩家可以通过完成任务、击败骷髅堡垒、克服极为糟糕的航行天气、跟陌生人一起演奏渔村民谣再喝上几杯而获得满足感。

vlcsnap-2019-06-03-12h48m56s632.png

随着时间的推移,《盗贼之海》已经形成了一个忠实的粉丝群体,他们持续在海上航行冒险,甚至可以挑战最狂热的传奇海盗。这主要是归功于Rare公司对游戏的不断拓展,游戏发行后的8个月内就有四次大更新。2019年4月,游戏周年庆的到来也揭开了今年的更新序幕:PvP模式、新的剧情以及新的游戏玩法的引入。Rare试图将这些新游戏特色结合不断优化的已有内容,从而增加核心游戏玩法复杂程度。

《盗贼之海》内置有灵活多变的AI系统,并且会随着每次更新而不断丰富。虽然游戏中所包含的还是较为传统的类人敌对角色(如骷髅),岛屿上也是蛇、猪这样较为普通的AI生物,但开发团队的重点关注是不断增加海洋环境中的威胁,它们可能会你和你的船造成严重伤害。他们不满足于发行初期的鲨鱼,2018年增加了海怪,巨齿鲨和幽灵船,它们的设定会随着每次更新而优化调整。所有的这些内容都需要搭配能够发挥平衡作用的系统,确保这个内置上百个AI角色的网络世界能够保持稳定、处于掌控范围之内,因为每台服务器上都有各种各样的恶作剧在发生。此外,由于它是一个实时服务游戏,项目需要保持能够快速迭代的状态,频繁地发布新内容,并确保游戏对玩家来说是稳定的。所有的这些都是在开发团队没有过度加班的情况下实现的——AI甚至也在其中发挥了作用。现在,我们来从头开始思考:在它们发展成可玩内容之前,《盗贼之海》是如何开端的。

建设AI系统

受到Rare工作室的邀请之后,我迫切地想要了解更多关于《盗贼之海》AI系统的信息:不仅仅其本身,还有它是如何成为游戏的最关键元素。游戏采用的是Epic的虚幻引擎4,它不仅是电子商业游戏最常用的引擎之一,而且在3A领域也享有盛名。

vlcsnap-2019-06-03-12h49m21s869.png

众所周知,虚幻引擎在多人联网玩法和跨平台开发方面非常可靠——尤其是考虑到开发商打算在Xbox One和PC两个平台上发行这款游戏并连接到Xbox Live,这一点至关重要。此外,虚幻4的AI工具合集可以说是所有可供开发人员使用的商业引擎中最强大的。它不仅提供了一套导航网格编辑工具——确保角色能够在移动的过程中识别地形的变化——它还有行为树系统,用于创建对游戏中事件反应的通用表现行为。当《盗贼之海》开始制作时,环境查询系统(EQS)还处于实验阶段——它用于检视角色是否能被近距离看到或听到,可以模拟感官输入,并将性能开销降至最低。然而,这一切对Rare的构想来说还是有所欠缺。只有骷髅和其它陆地上的AI角色(如猪、鸡)是完全由原有的AI框架操刀的,当然Rare还进行了一点特殊加工。

这其中的一个重要的原因是游戏的大部分场景都是在水里,无论是四处游泳还是在船上,导航网格都无法提供支持——我后续会细讲这点。幸运的是,人们可以接触到虚幻4引擎的源代码。这能让开发者根据自己的需求定制水上导航系统,然后再套入引擎现有的导航框架,这一点我会在系列的第二部分展开。除此之外,我会在文章的第三部分讲到海怪、幽灵船这样的敌人也需要定制工具,这将使AI能够以一种特别的方式运行——这在虚幻4默认条件下是不可能实现的。所以总结来说,Rare公司能创造出独特的系统并契合现有的虚幻引擎AI工作流,同时确保工具链不会变得太难以管理。

让AI适应任务设计

在我写这篇文章的时候,《盗贼之海》已经发行一周年了。在这一年期间,游戏中的主要活动有三个,它也们在游戏玩法、任务构建和AI行为方面都有不同的需求和侧重。NPC能够让玩家从三大贸易公司中获取任务:

vlcsnap-2019-06-03-12h50m39s582.png

1.淘金者:你出航到岛上挖宝箱,回来时要把宝箱交给淘金者,宝箱只有他们才能打开。
2.商人联盟:他们会要求玩家带回指定的物品——有可能是猪、鸡等动物,也有可能是朗姆酒、植物等货品。
3.灵魂秘社:你需要去一个或多个热带地区,找到不死骷髅战士,再次杀死他们,然后把他们头骨卖掉。

这些任务都需要游戏系统在运行时生成AI角色,以满足任务需求。举个例子,灵魂秘社任务需要骷髅出现在指定的岛屿中供玩家对战,同时还需要设定一些高价值的打击目标。淘金者和商人联盟任务,骷髅战士仍然会在特定的时间出现在岛屿上,成为你与战利品之间的阻碍。另外,商人联盟任务有的需要捕捉动物,游戏就必须确保某些特定岛屿会出现动物,供玩家捕捉。随着近期周年庆的更新,游戏引入了第四家贸易公司“猎人召唤”,增加了捕鱼机制以及伴随而来的鱼类AI。

在进行任务时,游戏不仅需要确保这些角色在指定区域大量出现,还要根据玩家团队的规模、任务地点、任务领取人的排名以及任务类型把握好目标数量和难度之间的平衡曲线。这就是程序生成发挥小作用的地方。

赏金猎人的数量——也就是有多少敌人和队长——被限制在一组参数之内。任务会在购买后生成。所以当你使用金币时,系统会决定你要去往游戏世界的哪个地方以及你需要完成多少目标。赏金多少是根据岛屿特定区域内的特定目标所决定的。 如果你有多个悬赏目标,它们会给你带来不同的战术作战经验。比如说,你可能要在海岸边打一场,而另一场是在洞穴深处,由此来达到一种平衡效果。

随着时间的推移,每一种任务类型都在以自己独有的方式拓展,这不仅为玩家,也为设计师制造了越来越多的挑战。 这些任务链彼此独立,允许玩家优先选择他们喜欢的任务线,游戏也不会因为他们从其它贸易公司获取任务而给予惩罚或令他们犯难。因此,你可以在玩了几个小时的灵魂秘社任务后为商人联盟快速跑个腿,而且后续任务的规模和难度不会受到前几个小时游戏的影响。

但是从AI性能和多人联网方面考虑,有个关键问题需要思考:这个服务器上并不只有你一个团队。这与我之前在研究《全境封锁》AI时发现的挑战类似,即游戏必须平衡活动世界中的所有AI行为。在所有这些AI角色都在运行的情况下,你如何保持游戏世界的良好性能表现?我们就这个重要话题在工作室讨论了很久,尽管其中涉及的具体计算问题仍需保密,但我了解到了每个任务所需的AI角色仅在必要时大量产生,并且让它们出现在离当下最近玩家千里之外的岛上,或者让玩家去往几乎没人会注意到它们的海域,从而避免浪费CPU和内存资源。这样当一个船员正忙于猎捕巨齿鲨时,它不会影响到另一个在岛上进行灵魂秘社任务的船员。像猪和鸡等AI角色只会在船员足够靠近、大概能看到时才会出现。除此之外,与玩家同处一岛的猪、蛇和骷髅,在非战斗状态下或者人类玩家视线之外往往会进入休眠状态。这是一种安全的策略,可以最大程度减少服务器端不必要的计算(因为大概也没有人会去注意这些角色的情况),从而释放资源,留给其它更值得用的地方。

我们将在接下来的系列文章中看到,这种设计理念同样适用于骷髅船、巨齿鲨和海怪。然而,这些系统的规则都具有唯一性,且基于完全独立的服务和行为系统之上。

vlcsnap-2019-06-03-12h50m53s011.png

总结

将这种恃强凌弱的冒险带给玩家听起来像是一项艰巨的任务,但这仅仅是个开始,我仍有许多令人兴奋的话题要讨论。

  • 骷髅AI的行为树结构,以及它们是如何设计成与玩家一样的行动模式。
  • 鲨鱼的导航系统有哪些独特之处?
  • 海洋深处最致命的威胁:巨齿鲨、海怪和骷髅。
  • 好了,我们终于要开始分析自动化测试框架了——它能够让Rare在开发过程中对游戏进行广泛测试,将bug大幅减少,在游戏发行前后更快更流畅地部署游戏。

相关阅读:建立海盗的天堂:盗贼之海的AI(一)
建立海盗的天堂:盗贼之海的AI设定(二):骷髅和鲨鱼AI的秘密

作者:Tommy Thompson
译者:Willow Wu
来源:游戏邦编译
原译文:https://www.gamasutra.com/blogs/TommyThompson/20190604/343937/Building_a_Pirates_Paradise_The_AI_of_Sea_of_Thieves_Part_1.php


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-3-28 18:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表