《地平线零黎明》 (
Horizon Zero Dawn )在Playstation 4的一些最佳独家作品中名列前茅。在扮演猎人埃洛伊(Eloy)的角色中,玩家穿越了未来的世界末日风景,以发现她过去的秘密,并了解破坏世界的原因。 人类的衰落导致了“机器”的鼎盛时期,各种形状和大小的机器人可以自由地生活在任何地方。 这些动物机器人聪明,协调且致命:要生存,您需要快速思考,销毁它们-认真地准备和计划。
在本文的这一部分中,我将讨论使这些生物存活并提供游戏基础的游戏和决策系统。 我将不仅讨论他们如何对不同的行动(收集资源,狩猎,生存)做出决定,而且还将讨论如何在广阔的世界中对它们进行单独和分组的协调。 此外,我将讨论游戏如何创建一个机器生态系统,该系统在新世界的所有区域和所有区域中都是平衡且可管理的。
警告:本文包含“地平线零黎明”剧情的破坏者。
生态地平线零黎明
地平线零黎明自动动物统治世界,并保持对该地区的控制。 每台机器都有独特的美学和结构,反映了其功能和目的,是游戏叙述的一部分。 在故事情节的整个过程中,玩家将了解“法鲁瘟疫”-摧毁世界的反叛战争机器军队,以及由名为GAYA的AI建造的车辆的比赛,该机器人本应将地球还原为自然状态; 他们的设计重复了已经灭绝的陆生动物。
因此,机器的功能通常会保留其弱点的秘密。 玩家可以使用遮阳板扫描附近的汽车,以查明其类型以及漏洞和弱点。 除了缺点之外,叙事框架内的机器功能还决定了它们在游戏中的表现。 包括:
- “收集器”和“清洁器”类型的机器人,例如“野牛”和“反刍动物” 。 这些工人阶级的机器通常在开阔的草地上发现并耕种。 他们相对温柔,经常避免对抗,但是当受到挑衅时,它们就会致命。
- 侦察车(例如Knights和Striders)巡逻该地区,以示威胁并警告附近的车辆,使它们可以战斗或逃跑。
- 诸如“运输” (例如“ hippos”和“ scarabs”)之类的机器会占用机器人收集器的资源,这使它们成为宝贵的猎物。 它们速度越来越慢,通常会受到更灵活的机器人的保护。
- 最后,诸如锯子和猎人之类的战斗车辆通常会攻击玩家和附近的威胁。
总体而言,在游戏的开放空间中,您可以找到28台独特的机器,每台机器都有自己的被动和主动行为。 玩家需要学习如何找到正确的方法。 尽管对子午线的最大威胁(例如
Thunderbird和
Thunderbolt )仅在世界范围内漫游,但玩家仍然可以偶然发现致命性较低的牧群机器。 通常,您会看到附近有一些较小的机器人在吃草,例如
“骑士” ,
“野牛” ,
“拾荒者”和
“复印机” :它们在执行基本功能的过程中相互支持。 随着时间的流逝,这些牛群的规模不断扩大,变得更加多样化,例如,护卫着
“反刍动物”和
“猎枪 ”的 “灌木丛”护卫队,
“野牛”和
“锯齿”护卫队。
为了应付这项任务,游戏需要许多AI系统来确定每个机器人的行为,其在畜群内的行为,畜群本身的集体智慧,但同时要在开放世界的不同部分平衡畜群的力量,以获得更多样化的游戏玩法。 游击游戏公司
Horizon Zero Dawn的开发人员开始了这个项目,而没有实现这种游戏性所需的许多AI工具。
以前,该公司从事
Killzone系列的业务 ,因此其工具链主要是为第一人称射击游戏设计的,无法应对大型开放世界的体系结构的复杂性。 因此,在开发过程中,工作室创建了新的AI和游戏系统,并扩展了现有系统。 在本文和后续文章中,我将向您介绍以下内容:
- 关于代理层次结构的系统,该系统单独控制每台计算机的行为,并作为羊群或畜群的一部分。
- 关于扩展最初为Killzone创建的计划和执行系统,使每台机器都可以做出决定。
- 一组传感器系统,可使机器快速有效地识别威胁,并在必要时进行调查。
- 关于动态智能导航系统,该系统为地面机器人提供有趣的运动模式,以匹配世界的几何形状和不同大小的汽车。
- 关于为飞行汽车设计的完全独立的导航系统,例如“风筝”和“海燕”。
- 关于动画系统,要考虑到每台机器的结构并为它们的移动和攻击提供一种智能方法。
- 关于名为The Collective的系统,该系统控制游戏中活动的每台机器,以及它们如何在畜群之间分配。
让我们从学习每个AI角色如何决策以及游戏如何控制畜群行为开始。
代理层级
每台机器在游戏世界中都被表示为单独的非玩家角色AI,称为“代理”。 但更有趣的是,每个群体都是代理。
Horizon Zero Dawn使用一个层次结构,在该层次结构中,计算机可以完全独立地作为代理存在,也可以作为组代理的子代存在,用于存储畜群信息。
组层次结构的示例[摘自(北京,2017年)]团体代理实际上并不存在于游戏世界中,但负责协调其中的所有代理。 每个人员都有自己的一套传感器,使他能够听到附近的声音或注意到附近的危险。 但是此外,组代理具有黑板系统,该系统存储机器可能需要的游戏内信息。 这允许游戏通过存储不必由每个单独的代理计算的信息(例如,安全的地点或活跃的巡逻路线)来降低生产成本。 另外,更重要的是,组中的代理可以相互交换信息。 因此,当侦察车找到玩家时,每辆车都可以决定如何响应此信息。 因此,您可以看到当附近的战车接近进攻时,例如“反刍动物”的收群机器人是如何决定运行的。
Horizon Zero Dawn中使用的AI系统称为分层任务网络计划器(HTN)。 与
FEAR之类的游戏中使用的计划系统不同,后者计划一个动作一个接一个,而HTN计划程序会生成由动作宏组成的计划。 每个宏按给定的顺序包含多个动作。 这是游戏开发的理想选择,因为设计人员可以为希望在游戏中看到的良好行为创建宏。 之前,我谈到了HTN调度程序在《
变形金刚:塞伯坦的陷落》中是如何使用
的 ,但值得注意的是,游击队使用了HTN调度程序,但Killzone 2并不是从零开始开发的,而是经过数年并在各种工作室项目中逐步改进的。
HTN Scheduler Schema [摘自(北京,2017年)]机器将HTN调度程序用于两个目的:各个代理可以请求一个行动计划来解决特定任务,例如寻找新区域,攻击人员或逃离。 小组座席可以执行计划,该计划设定应分配给各个座席的目标,这使小组可以在层次结构中彼此主动共享信息,并有可能形成新的子群或破坏现有的子群。 简而言之,每个单独的机器仍然对其自身的行为以及分配给它的任务的执行承担巨大责任,并且还使用调度程序来做出决策。 这些小组维持各个机器的协调,根据世界上的事件对它们进行重新分组,最重要的是,将角色分配给每台机器,以便他们了解支持牧群的任务。
集体
因此,所有这些机器都是在地图上单独或成组创建的,但是游戏如何知道在开放世界中如何以及在何处创建机器? 在游戏地图上,可以选择区域,某些机器可以单独出现(在“霹雳”和“海燕”的情况下),也可以成组(“奔跑者”,“反刍动物”,“风筝”等)出现。 但是,游戏世界的其余部分充满了不同的汽车。 在创建特定机器时,游戏如何根据世界结构的需求来确定将其放置在世界上的哪个位置以及在哪个组中进行分配?
这可以通过称为The Collective的系统来实现。 “集合体”是一个超群:所有机器组和单个机器都存在于集合体中。 它管理着全球所有机器的添加,监视它们是否在同一组中,控制组与机器生态系统之间的过渡,以免降低整体生产率。
如果世界上的各个计算机单独运行,则可以传输加入现有开放世界组的请求。 这是一个有用的功能,因为在剩下的前一组逃脱或销毁后,许多机器仍处于隔离状态。 因此,团队可以重用隔离的计算机并将其加入其他组。 为此,每辆车都有一个“护照”。 他们的“护照”存储有关机器的信息(例如,机器的级别和类型),团队使用此数据来确定其是否满足另一组的要求,并且仅在这种情况下才将机器移至该组。
牧群的例子
现在,让我们了解牛群的工作方式,以及当玩家与其互动时如何执行群体特工。 通常,畜群在世界上处于放松状态,在这种状态下,他们不会感到焦虑,而只是在地图的某个区域内。 一个典型的小组由侦察兵,收集者和军车组成。 收集器机器人位于中心,周围有战斗和侦察巡逻队来保护它们。
当一群人放到世界上时,此层次结构中的一组组会请求一个角色。 该角色分配所有反映其用途的机器行为。 这些行为可以巡逻以寻找威胁源,寻找附近的焦虑源,攻击敌人,或者只是收集世界资源。 随着时间的流逝,这些角色可能会发生变化,并且事件迫使畜群改变其行为和结构。 通常,在畜群内执行特定角色的机器数量受到限制,因此它们的结构不会不平衡。
机器的角色决定了单个代理将努力完成的任务。 由于畜群最初的行为是轻松的,因此选择者将使用HTN调度程序和存储在组中的数据来搜索最近的资源提取区域。 同时,侦察和战斗车辆会产生您需要走的巡逻路径。 巡逻路径是根据局部几何体自动生成的,它们避免了不便的地形,更重要的是,避免了在高高的草丛和其他植被上行走,而玩家可以利用这些植被偷偷地潜入牧群。 但是,为了给玩家提供战斗的机会,有意在植被附近铺设了许多巡逻路径,以便玩家可以设置陷阱或更容易破解机器人。
牧群在面临威胁的情况下调整其结构的平衡,形成“逃跑”(逃跑)和“战斗”(战斗)组[摘自(北京,2017年)]但是,当然,它们并不总是保持这种状态。 当玩家开始攻击汽车时,他们的行为也会随之改变。 对于不属于畜群的机器,可以归结为一类特定的机器。 直接挑衅时,只有少数逃跑了。 绝大多数汽车会攻击玩家,甚至是收集器汽车也常常攻击玩家。
但是,如果玩家攻击了一个牧群,则层次结构中的组将以相同的方式做出反应,但前提是该牧群已经发出警报。 如上所述,组代理允许您与每台计算机交换数据,但是不会在每个游戏周期中更新它们。 因此,畜群没有“蜂巢般的头脑”,玩家可以杀死汽车而不会干扰其他人。 但是,如果注意到这一点或被攻击的车辆幸免于难,它将警告攻击者。
在此阶段,畜群内部的层次结构发生了变化,畜群内部的一组计算机请求新角色和相应行为的优先级。 由收集者组成的小组将扮演逃避者的角色,并开始联合飞行,而由战斗和侦察车组成的小组将重新平衡自己,攻击牧群的角色将成为该角色的优先任务。 尽管在很多情况下它只是一个孤独的玩家,但这种方案允许系统扩展以执行故事任务(其中玩家是团队的一部分)或其他人类NPC攻击牧群时世界上的其他动态事件。
尽管此刻之后一切都变得非常复杂,但玩家仍然有很多机会将情况转向自己的方向,因为分组系统和战斗AI系统都提供了令人兴奋的同时复杂的游戏玩法。 这要归功于战斗AI系统,该系统试图以不混乱或不破裂的方式来组织战斗。
编成战斗的小组具有不同的角色和平衡的优先次序,因此,可能的话,将大型牧群车辆分配到一组中,并建造较小的牧群来支持它们。 此外,小组不仅根据HTN规划人员是否认为他可以执行某些行为来选择攻击玩家的车辆,还取决于这种攻击是否有趣。 如果所有机器都简单地同时攻击玩家,那么他宁愿很快遭受痛苦的死亡。 因此,战斗系统使用与
Halo 3中类似的方法,这时敌人对玩家的攻击的平衡取决于攻击是否会在战斗中引起兴趣。
这需要一个辅助动作选择功能,该功能可以计算机器攻击时的趣味性。 这取决于机器的当前状态,玩家是否知道机器在他旁边,玩家附近以及玩家受到的伤害和造成的伤害。 该值成为HTN调度系统的输入; 它的任务不仅是提供一定的复杂性,而且还增加了战斗的多样性。
但是更重要的是,当需要HTN调度程序为攻击组生成动作时,在选择攻击时,组中的其他机器也将获得玩家周围的移动行为并等待其回合。 这是有意进行的,目的是为玩家创造机会攻击被动机器或反击刚刚击中他的机器。 逐渐地,玩家将能够削弱它们,这主要是因为战斗系统有意让自己容易受到攻击。
总结
正如您从本文中看到的,“
地平线零黎明”中的汽车可能是致命的,无论是单独还是成组的。 得益于分层任务网络和智能代理的分层系统的规划,机器可以自己漫游世界,或者在必要时相互保护和相互支持。 正是与如此迷人的世界的互动不允许玩家放松。
在第二部分中,我将详细讨论各个AI角色使用的工具和系统:有关用于识别最接近的威胁源并对其进行攻击的传感器系统; 人工智能系统如何与动画协同工作,使汽车看起来既动态又真实; 关于允许不同大小的汽车在相同地形上行驶的导航系统;
以及像海燕这样的飞行器如何使用完全独特的导航系统,使他们可以探索世界并以最佳方式寻找玩家。参考文献
- 朱利安·贝特林(Julian Berteling),2018年。 “超越杀戮地带:为地平线零黎明创建新的AI系统”, GDC 2018。
- Arjen Beij,2017年。 “地平线零黎明的 AI ”, Game AI North,2017年。
- Wouter Josemans,2017年。 “将AI重返空中:在地平线零黎明的空中航行”, Game AI North,2017年