腾讯技术工程 · 2020年04月24日

百万局对战教AI做人,技术解读FPS游戏中AI如何拟人化

来源:腾讯技术工程微信号
作者:johnxuan,腾讯 TEG 应用研究员
FPS 游戏 AI 是腾讯 AI Lab 的一大重要研究方向,其拟人化 AI 也在 FPS 手游《穿越火线-枪战王者(CFM)》春节期间上线的全新剧情玩法「电竞传奇」中得到了应用。这些学习了 CFM 职业玩家行为方式的 NPC 引发了游戏圈的热议,甚至一些职业玩家也踏上战场与「自己」枪战了一把。

游戏已经成为了 AI 领域最重要的研究场景之一,国际象棋、围棋、Atari 游戏、《星际争霸》等 RTS 游戏和《王者荣耀》等 MOBA 游戏都被视为 AI 研究之路上的重要里程碑,而且这些里程碑的达成标准往往都是达到或超过人类水平。

但在《穿越火线》和《使命召唤》之类的 FPS 游戏(第一人称射击游戏)中, AI 研究却并不总以超越人类职业玩家水平为目标。毕竟以计算机程序的反应速度和精度,AI 在射击类游戏中达成枪枪爆头也实非难事。真正难的是让 AI 的行为表现与人类玩家不可区分。

AI 拟人化作为研究目标具有非常重要的意义。首先在游戏领域本身,更拟人化的 AI 可以显著提升玩家的游戏体验。对许多玩家来说,势均力敌的战斗之后的胜利才是最快乐满足的。为此 AI 既不能强如开挂,也不能呆若木鸡。试想一下,当你带着走位犀利的自信与一个 NPC(非玩家角色,俗称人机)遭遇而屡屡被一枪爆头时,你一定会产生一股想要摔手机或骂人的冲动。反过来,如果你正想表演一套犀利的操作时却发现 NPC 只是一动不动地站在那里或漫无目标地放空枪,那么就算你击败了它也不会有什么成就感。为了在强弱之间找到一个合理的平衡,需要对 AI 的开火率、命中率、击杀数/死亡数等指标之间进行调整,使之接近对应难度下玩家的水平。

同时在游戏领域之外,FPS 游戏拟人化 AI 也具有非常重要的研究价值。不同于总是通过俯视角进行的棋盘游戏和 MOBA 游戏等游戏类别,FPS 等第一人称游戏往往采用了三维立体的游戏场景,更类似于人类实际所处的真实世界。在这样的环境中训练出的拟人化 AI 更能反映人类在真实环境下的表现,从而可以帮助 AI 理解人类在真实环境中的行为,为以后的实际应用铺路。

FPS 游戏 AI 是腾讯 AI Lab 的一大重要研究方向,此前与清华大学 TSAIL 合作开发的 VizDoom AI 曾获得了该赛事历史上首个中国区冠军的好成绩。拟人化 AI 也在 FPS 手游《穿越火线-枪战王者(CFM)》春节期间上线的全新剧情玩法「电竞传奇」中得到了应用,这些学习了 CFM 职业玩家行为方式的 NPC 引发了游戏圈的热议,甚至一些职业玩家也踏上战场与「自己」枪战了一把。

观看视频:CF 职业玩家阿康对战 AI 阿康

腾讯 AI Lab 如何养成了这样的拟人化游戏 AI?下面我们就来一探究竟。

拟人化 NPC 养成之路

NPC 对游戏的重要性是不言而喻的,传统 NPC 的行为模式大都基于人工编写的规则,即在什么情况下给出怎样的反应都是预先设计好的。这样的 NPC AI 实现起来比较简单,但也让 NPC 的行为表现显得非常单调,玩家一旦摸索熟悉了它们的模式,就能通过「卡 bug」的方式轻松获胜,玩家甚至还能通过预测 NPC 的行为来「调戏」它们——这虽然也算得上游戏的乐趣之一,但这样的 NPC 终究行为单调,很容易让玩家生厌,无法持续获得良好的游戏体验。但同时,如果要通过人工编写规则的方式让 AI 具备拟人化的行为方式,将需要投入大量人力和时间成本才有可能实现,但这样的投入对于游戏行业而言是很不现实的。

近年来兴起的机器学习技术为游戏 AI 开发带来了新的思路:AI 可以通过学习人类玩家的数据来模拟人类玩家的操作,从而让 NPC 展现出更多样、更动态的行为模式。

方法选择

具体来说,腾讯 AI Lab 训练 CFM 游戏 AI 时采用了监督学习方法,即通过分析大量实际的游戏对局脱敏数据,分析人类玩家在不同的游戏场景输入下进行的操作(输出)。通过学习这些输入与输出之间的对应模式,AI 可以学会在不同的场景下以不同的概率采取不同的行为方式——有的行为模式更优,有的则是败笔,但它们综合起来却能让 NPC 表现得就像是另一个人类玩家一样。

由于腾讯 AI Lab 的目标不是打造竞技性 AI,而是拟人化 AI,所以没有必要使用游戏画面为图像的输入,直接接入游戏引擎会更加方便,因为游戏引擎可以提供地图、模式、玩家的操作、属性等关于游戏的全部信息。至于输出,很自然就对应于游戏界面上的各种操作(即动作空间),如下图所示:
2-1.jpeg

动作空间

可以看到,CFM 游戏界面上存在多个可以同时进行的操作,包括左侧的移动和蹲伏操作,右侧的方向调整、开火、跳跃、扔雷等操作;因此,为了更优地同时完成各种任务,腾讯 AI Lab 采用了多任务学习方法。

输出有了,也确定了监督式多任务学习的方法,接下来就需要定义具体的特征,即输入数据中的各种变量。腾讯 AI Lab 将这些特征分成了两大类:属性特征和交互特征。游戏中的活动单元称为 unit(单位)。属性特征是指每个单位的状态,交互特征则用来描述单位之间的相互关系。特别地,单位与游戏中的环境之间的相互关系也归为交互特征。游戏中的掉落物,如敌人被击杀后掉到地上的武器,属于环境的一部分。

2-2.jpeg

状态空间

最后也可能是最难的一步准备工作是确定拟人化的评估指标。不同于以胜负评定优劣的指标,拟人化并不存在单一的量化指标。为了让 AI 具备与人类玩家更相似的行为,腾讯 AI Lab 整合采用了多个维度的指标:

2-3.jpeg

拟人化指标举例

模型学习

准备工作就绪之后,腾讯 AI Lab 首先在 1v1 对战模式验证了该思路的可行性。训练过程使用了几十万真实玩家对局数据(已脱敏),并采用了如下网络结构:

2-4.jpeg

1v1模型结构

所得到的模型在行走、跳跃、开火方面的行为与人类相似,但是在同一环境下的表现总是一样,缺乏多样性。通过采用一种概率分布采样法,让 AI 在相同情况下也有不同的概率选择其它不同的操作,从而解决了这一问题。

1v1 对战模式取得了初步的成果后,战场被转移到 5v5 团战中。相比于 1v1,团战的环境更为复杂。主玩家有 4 个队友和 5 个敌人,涉及到攻击/躲避目标的选择,甚至还有和其它队友的协作。为此,腾讯 AI Lab 增加了队友、敌人特征(血量、位置等),玩家分别和队友、敌人的交互特征(与目标距离、视角角度等),期望模型可以学习到游戏数据中的真人操作。

模型的训练采用了上百万局训练数据(已脱敏),并使用了以下经过改进的网络结构:

2-6.jpeg

5v5模型结构

可以看到,相比于 1v1 模型,5v5 模型增加了用于选择敌人的模块,该模块还添加了历史信息,使 NPC 能更加适当地应对当前的状况,比如重点关注当前视野内的敌人、在受到视野外敌人的攻击时会转身对敌。

模仿职业玩家的 NPC

在「电竞传奇」玩法中,你能看到一些 CFM 职业玩家的名字,比如国宝、蛮蛮、阿康,但当然你的对手自然不是真正的国宝、蛮蛮、阿康,而是学习了这些职业玩家玩法的 NPC。

不同于上面训练 1v1 和 5v5 模型使用了数十万乃至上百万局游戏脱敏数据,蛮蛮的替身 AI 只用到了几局数据。

首先,腾讯 AI Lab 分析了这几局数据中蛮蛮的行为特点,比如点位分布:

2-5.jpeg

蛮蛮的点位分布,这是分属两边阵营时的情况

由于数据较少,腾讯 AI Lab 还从已有数据中选取了类似行为模式的数据而对其进行了扩充,使得扩充后的数据模式与蛮蛮的相似。然后再基于这些数据训练得到了「AI 蛮蛮」,下面是 AI 蛮蛮的实战表现:

观看视频:CFM 职业玩家蛮蛮对战 AI 蛮蛮

实战评价

在实战测评中,我们在体验服上组织核心玩家群体进行了“行为测试”,新 AI 在射击水平、走位、躲避等多样化的行为等纬度为玩家带来了惊喜,AI的综合行为表现击穿了玩家对于传统FPS机器人的刻板印象,带来的实际体验远超玩家预期。

2020 年春节,以新AI表现为基石,推出的全新的剧情玩法「电竞传奇」首日用户渗透率、首日留存创近两年新高。AI 国宝、AI 蛮蛮等话题也在 CF 手游社区成了热门讨论话题。

总结

CFM 的拟人化 NPC 虽然备受好评,但还远不够完美,不管是在训练方法还是指标选取上都有进一步的优化空间。另外,腾讯 AI Lab 也在探索能否在《使命召唤》等大型开放式地图中训练出拟人化 FPS 游戏 AI,这种 AI 不仅需要学会刚枪,还要学会观察地图地形、跑图、合理搭配装配、使用载具以及进行攻击或躲藏的策略等。也许未来带你猥琐发育、“狗”「吃鸡」的队友就是一个看起来与人类玩家别无二致的 AI。



推荐阅读:


更多腾讯AI相关技术干货,请关注专栏腾讯技术工程
推荐阅读
关注数
8150
内容数
230
腾讯AI,物联网等相关技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息