问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Arma Reforger AI革新:掩体意识、烟雾战术和自动驾驶

创作时间:
2025-01-22 03:58:20
作者:
@小白创作中心

Arma Reforger AI革新:掩体意识、烟雾战术和自动驾驶

AI掩体系统

如果你对当前的人工智能倾向于在公开场合脱颖而出,并且通常对周围的危险视而不见感到失望,你会很高兴听到我们正在实施人工智能掩护系统。现在,人工智能将在战斗中或感觉到危险时进行掩护和躲藏,使他们成为更强大的对手,并且通常表现得更逼真。

掩体位置是角色可以站立、蹲下和射击的点,同时部分保护免受敌人火力的伤害(例如箱子、桶、栅栏等后面的区域)。AI 掩护系统向 AI 步兵提供有关游戏世界中掩护位置的数据。

人工智能有时给人留下“不太聪明”的印象,一个非常常见的原因是它们无法在游戏内世界中充分表现和反应(我们有一个非常复杂的游戏内世界)。到目前为止,人工智能步兵对周围环境的感知能力很差。他们只知道友方和敌方单位、车辆、危险事件(如枪声)和导航(由导航网格表示)。AI 掩护系统提供的掩护点数据扩展了 AI 对游戏内世界的感知,使他们更加聪明,并允许他们更广泛、更有效地利用周围的世界。

在研究如何生成覆盖点数据之前,让我们先看一下我们对覆盖系统的要求。在考虑哪些物体可以在战斗中提供良好的掩护时,首先想到的通常是盒子、栅栏、桶和大石头。一种方法可能是通过添加覆盖点数据来手动设置所有这些预制件。然而,这种预制件的数量是巨大的,并且一些覆盖位置可能是由预制件的不寻常方向产生的,这些预制件最初并不是作为覆盖点的。考虑到游戏内世界的规模和地图设计师需要的大量工作,在世界中手动标记这些位置也是不可能的。

基于这些标准,我们决定仅基于几何数据来生成覆盖点,而无需在预制件中进行显式配置。因此,我们的掩护点是在导航网格生成过程中生成的,当您作为地图创建者在 Workbench 中手动重新生成它时,或者在游戏运行时,当放置动态合成时(例如由游戏管理员),或者当某些东西被摧毁时(栅栏被破坏,因此该区域可以通行,我们必须重新生成导航网格)时,就会发生这种情况。

我们通过检查导航网格边缘的多个位置来开始寻找掩护点。任何导航网格边缘或洞都表示存在悬崖、地形边缘或某些物体 - 一个可能用作掩护的物体。对于每个潜在的覆盖点,我们检查前面的物体是否具有合理的尺寸以提供足够的覆盖。由于我们在导航网格再生期间生成覆盖点,因此我们还利用导航网格高度字段数据进行几何检查。高度字段数据表示 3D 空间中的栅格化几何,如体素。这很有用,因为我们可以非常快速地执行几何测试,考虑到我们需要测试大量潜在的覆盖点,这是必不可少的。最后,一旦验证了覆盖点,它们就会存储在导航网格文件中。

我们增强了几种 AI 行为,以利用覆盖点数据。最重要的增强是AI士兵的战斗行为。士兵将能够在与敌人交战时占领掩护点,并在重新装填或压制时躲在掩体后面。覆盖使用逻辑还取决于参与的距离。例如,在远程战斗中,人工智能士兵会更喜欢呆在掩体中,而不是跑到空旷的地方。我们增强的第二个最重要的 AI 行为是它们对枪声的反应。当从未知位置被射击时,人工智能士兵会试图占领附近的掩护点,这些掩护点可以作为对敌人的保护,或者在附近没有掩护的情况下分散开来。

我们还增强了其他次要的 AI 行为以使用掩护点。例如,我们在手榴弹回避行为、防御航点行为和空闲行为中添加了掩护点的使用。我们认为掩体利用将使 AI 士兵更有趣,主要有两个原因:与 AI 士兵的战斗将持续更长时间,您现在将有机会压制和包抄他们。

由于这是 AI 覆盖系统的第一次迭代,我们仍然有工作要做,并且已经确定了我们想要改进的一些事情:

  • 目前,我们没有为从物体或墙壁边缘侧身倾斜生成覆盖点;
  • 因此,我们不会在树木或电线杆周围产生覆盖点;
  • 车辆周围不会生成掩护点;
  • 覆盖点在窗户处生成,但它们通常不位于窗户的中心;
  • 目前,AI士兵可以选择目标能见度较差的掩护点。

AI烟雾弹的使用

AI步兵已经能够使用手榴弹一段时间了,但很快,他们也将能够使用烟雾弹为自己提供掩护。这将为 PvE 游戏玩法增加一个新的维度,因为 AI 拥有另一种战术工具可供使用,使他们在战场上更具挑战性。

我们的总体任务是使人工智能能够以战术上有效的方式使用烟雾弹,并利用烟雾罩获得优势。

在设计这个功能集时,我们想研究整体战斗中的烟雾使用情况,而不仅仅是步兵的烟雾弹,这样我们就可以更全面地了解烟雾在战斗中的作用,并计划未来包括车辆和火炮。我们决定第一个要实施的“原型”案例是在医务人员行为中使用烟雾弹(即当医务人员帮助失去知觉的队友时)。

为了收集尽可能多的信息,负责此功能的开发人员 SzwedzikPL 开始与他的 Arma 3 小组讨论,以收集社区想法并验证内部假设。该小组继续制作了一段视频,展示了烟雾弹的战斗行为,以突出烟雾弹在军事情况下的各种使用方式。

事实证明,这个视频和与社区的讨论对于此功能的设计非常宝贵,因此我们想花点时间向 Arma4Ever 大声疾呼,感谢他们的意见!

由于在各种各样的情况下,烟雾部署可以有效地用于战斗,我们需要一个解决方案,可以用作我们已经实现的一些行为的“扩展”,并且在必要时可以很容易地集成到许多行为中。因此,我们提出了人工智能活动可以集成和使用的“活动功能”的概念。“人工智能活动”是指特定的人工智能群体行为,例如作为一个群体移动到某个地方,作为一个群体进入车辆,或者在这种情况下,作为一个群体行为治愈某人。我们的第一个活动功能是“AIActivitySmokeCoverFeature”。

如果需要,活动可以自定义其活动功能。医务人员治疗操作自定义烟雾罩功能,以“告诉”烟雾罩功能对此活动很重要(例如,患者位置、小组指定谁为医务人员等)。此外,烟雾罩功能还允许活动定义属性,以自定义烟雾罩的部署方式。

目前,人工智能可以部署烟雾来用烟雾覆盖一个位置,用烟雾保护给定的位置(即以完全被烟雾隐藏的方式部署掩护,而不仅仅是被烟雾覆盖),并保护给定位置免受识别的目标集群的影响(以便烟雾掩护将部署在对已知敌人隐藏给定位置的地方)。总的来说,这只是更全面解决方案的第一部分,该解决方案还将包括要求大炮或车辆冒烟。

我们在 Arma Reforger 中的新解决方案将烟雾弹的 AI 使用提升到一个不同的水平。这是 Arma 历史上第一次 AI 士兵能够基于一些更复杂的逻辑检查,在战术上更战术地使用烟雾弹,例如是否、在哪里以及如何投掷烟雾弹。他们将能够在更多情况下以不同的方式使用烟雾,具体取决于各种条件。

第一个挑战是决定我们希望人工智能如何能够使用烟雾弹。在与上述 Arma 3 小组协商后,用例得到了澄清,但随后花了一些时间来弄清楚如何合理地为 Arma Reforger 确定范围,同时仍然为玩家提供真正新的东西。现在,挑战将是完善 Arma Reforger 的这一功能范围,并随后以 Arma 4 的新方式扩展它。

另一个挑战是将此功能作为 AI 的“可重用、可扩展服务”实现。从一开始就不明显地让它与许多行为一起使用,而且某些方面特别难以平衡。例如,部分烟雾罩特征逻辑需要决定应该选择组中的哪些成员来投掷手榴弹。这种逻辑着眼于成员,并试图选择最接近目标位置的“最不重要”的士兵(例如,我们尽量避免命令应该射击和压制敌人的机枪手投掷手榴弹)。平衡这个选择过程,与角色与距离的关系等,以及许多其他相关因素,被证明是一个相当棘手的过程。

限制和计划的改进:

  • 目前,医疗治疗是唯一支持烟雾覆盖的动作,但未来会整合更多行为。
  • 士兵只能使用烟雾弹来部署烟雾罩。未来,我们计划为 UGL 添加烟雾弹药,但尚未决定这是否将在 Arma Reforger 中实现或为 Arma 4 保存。但是,用于 UGL 烟雾弹药使用的 AI 解决方案已经准备好。
  • 人工智能智能体无法透过烟雾看到,但这不会影响移动和寻路(即智能体会在烟雾中四处移动,就好像它不存在一样)。将来,我们计划实施一种解决方案,以通知代理商某个区域被烟雾覆盖,应避免使用。
  • 关于中止和拒绝部署烟雾罩的逻辑仍在进行中。我们计划实施条件,允许团体根据特定情况决定不使用烟雾罩(例如,一名士兵受伤,该团体想掩护医务人员去找他,但病人在房子里,所以在他旁边扔烟雾弹可能不是最聪明的主意)。
  • 对于Arma Reforger的范围,只计划反动使用烟雾罩。烟雾罩只会用于应对各种事件,例如有人受伤、一群人撤退或一群人被压制并想要中断联系等。计划在 Arma 4 中使用更复杂的 AI 烟雾罩。
  • 烟雾罩功能尚未与AI罩系统完全集成。很快,掩护状态也会影响使用烟雾弹的决定(例如,如果病人已经有掩护,就不要用烟雾覆盖他,等等)。

AI 掩护系统和 AI 烟雾弹的使用都将包含在即将到来的更新中,因此我们希望您喜欢与新升级的 AI 敌人作战。

AI驾驶

作为 Arma Reforger 最需要的功能之一,我们想让您知道它正在开发中。

人工智能驾驶的支柱是两个系统之间的连接:(车辆)导航网格寻路和(预处理)道路网络。这为我们提供了一种有效的方法,让人工智能在大片地形上找到自己的路:它们找到通往最近道路的路,使用路网,然后找到通往目标目的地的路径。通过 Game Master 对道路网络进行动态修改(即放置路障等资产)会导致路段断开或重新连接,促使 AI 找到不同的路径。当资产被放置在部分阻碍道路时(例如,阻挡道路一侧的资产),这会导致部分断开连接。现在的问题是,人工智能无法检测到路段的部分断开,并会试图找到一条不同的路径,即使它们可以绕过障碍物。我们目前正在研究一种解决方案,使人工智能能够区分路段的完全断开和部分断开。

此外,我们还支持车辆导航链接(例如车辆门、酒吧门)和驾驶员通过它们的自定义行为。这意味着人工智能司机将能够停车、下车、打开大门、开车通过和关闭大门。

然后,通过各种仰角和角度检查处理车辆的最终路径,并将其提供给车辆运动组件和PID控制器,以模拟人类玩家的驾驶输入。我们的驾驶模型通过与人类玩家在驾驶时相同的输入来控制车辆。事实证明,调整 PID 控制器的推力和转向是具有挑战性的,但似乎我们已经设法找到了每种车型的黄金值。在某些情况下(例如,在某些弯曲的道路上),结果令人印象深刻,人工智能驾驶模型在道路上的速度和稳定性方面甚至优于人类驾驶员(见下面的视频)。

我们目前正在开发对单个小组的支持,以便能够与车辆内外的士兵一起编队移动。稍后,我们计划将其扩展到由同一组(又名车队)驾驶的多辆车。这要求我们支持对同一位置的多个寻路请求,并且被证明是一个特别难以破解的难题。最后,我们设法通过为每个请求创建一个具有特定领导者的“子编队”来解决它。

AI 驾驶仍在进行中,但我们希望在即将到来的重大更新中实现它。

本文原文来自Arma Reforger官方开发日志

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号