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

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

首页休闲益智3d国际象棋真人版更新时间:2024-06-16

作者: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 引发了游戏圈的热议,甚至一些职业玩家也踏上战场与「自己」枪战了一把。

腾讯 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,所以没有必要使用游戏画面为图像的输入,直接接入游戏引擎会更加方便,因为游戏引擎可以提供地图、模式、玩家的操作、属性等关于游戏的全部信息。至于输出,很自然就对应于游戏界面上的各种操作(即动作空间),如下图所示:

动作空间

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

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

状态空间

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

拟人化指标举例

模型学习

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

1v1模型结构

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

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

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

5v5模型结构

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

模仿职业玩家的 NPC

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

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

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

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

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

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

实战评价

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

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

总结

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

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved