|
《暗区突围》最近山谷别墅里的多斯小队,好像变聪明了?这不是大家的错觉,其实是魔方的AI团队再次出手,优化了多斯和小弟们的战斗策略,尝试为我们带来一批更加聪明的“机哥”。
今天的魔方研究邀请到负责暗区突围多斯小队AI优化的技术大佬,来详细说说这次优化背后的故事。
Q:此次优化的的背景是什么?
此次优化的背景主要是为了解决旧版本中多斯战斗模式过于单一的问题。
在旧版本中,玩家很容易破解多斯小队的战斗策略,找到解决首领的最优解,可以低成本、低风险地刷首领装备。
旧版本的多斯小队
这种单一的战斗模式不仅使得玩家的体验变得单调,还导致可能出现多斯带着小弟被排排击倒的滑稽局面,从游戏表现上也显得很糟糕。
为了改善这个状况,我们启动了这次优化,并且希望通过此次优化,为未来实现在更复杂的在线训练打好基础。通过与玩家的战斗互动,“机哥”们能够不断学习并变强,从而越来越“聪明”,为玩家带来更具挑战性和趣味性的游戏体验。
Q:这次多斯小队变聪明的地方在哪里?
用大家比较好理解的说法,这次优化中,我们把“机哥”们分成了老大和小弟,老大AI指挥,小弟AI听命令行动,得以实现比以往更密切且更复杂的战术协作。
具体展开来说,我们采用了【强化学习】+【行为树】混合控制的训练框架,结合近端策略优化算法(PPO),来求解FPS游戏中AI协同配合的难题。
通过强化学习训练出来的上层指挥AI(比如多斯),控制了多个行为树训练的单体AI(小弟们),小弟们听从指挥后进行移动、开火、战斗等具体行为,从而实现更加复杂的小队协作策略。
Q:我们先来聊一聊强化学习+行为树的混合训练?
我们刚说到,这次优化中我们是通过一个智能体控制多个单体AI来实现战斗策略的不同表现。
混合方式如下:
● 强化学习控制男团移动逻辑,行为树控制战斗逻辑逻辑
● 行为树负责简单的战斗开火
● 强化学习专注于探索男团“排兵布阵”战术配合能力
运行步骤如下图:
● 单体行为树AI会以固定频率(0.5s),向指挥AI请求移动目标点
● 指挥AI会综合所有单体行为树AI的状态信息,下发每个单体AI的移动目标点
● 单体行为树AI移动至目标导航点(除非自身被更高级移动逻辑打断)
● 重复上述步骤
Q:刚说到的【预构建导航数据】又是什么呢?
《暗区突围》是一款主打战术博弈的硬核搜打撤手游,地图场景开放多样,玩法也各有不同,类似真实世界的三维场景里有大量静态、动态与环境感知相关的物体,而且三维地形也十分复杂。
在这种立体复杂多变的游戏环境中,想要训练出我们期望的指挥AI系统,对AI的多单元之间的协作配合、战斗和移动能力都提出了很高的要求。
预构建导航数据,简单来说,我们先把游戏地图上的可行走区域标记出来,再在这些可行走区域构建导航信息。这些信息是固定的,训练时根据需要随时调用即可,指挥官AI可以通过这些信息做判断,小弟(行为树AI)则可以直接通过这些信息行动。
Q:那这份数据又有什么用呢?
有了这些数据,上层指挥AI就可以以此构建多目标的移动方案了。
在海滨别墅中,假设每个单体AI从自身八方向中随机选择一个方向移动,考虑到有十个行为树AI,移动的结果可以有8^10种类,这种探索量级会消耗大量时间和计算资源。
更糟糕的是,上层指挥AI很难理解每个不同移动结果的宏观含义,导致AI们很难学会协同配合策略,容易各自在地图中胡乱行走,出现各玩各的现象。
因此,我们引入预先构建的数据,再引入人类先验知识来降低探索难度,使得单体AI之间配合更加容易,从而较为容易产生战术包抄、绕后行为,可以极大程度发挥出强化学习训练指挥AI的调度效果。
我们相信,随着AI们的强化训练和玩家反馈的持续积累,多斯小队将变得更加“聪明”,也能更好地应对玩家层出不穷的战术和策略。同时,这种基于强化学习和玩家互动的训练模式,也许有一天也将应用在魔方其他游戏的开发中。
文/魔方工作室
来源:腾讯魔方工作室
|
|