朝夕光年无双工作室的游戏AI探索之路

来源:游戏智库 发布时间: 2022-01-07 14:56:13

前言


字节跳动旗下游戏业务品牌朝夕光年(全球品牌名:Nuverse)成立于2019年,面向全球用户与开发者开展游戏研发与发行业务。目前,朝夕光年已在中国国内和海外发行及研发了包含MMORPG、ARPG、MOBA、自走棋、策略卡牌类、竞技体育等类型在内的多款手游,未来也将在游戏研发与发行领域持续投入,为全球玩家带来更多优质产品。


朝夕光年无双工作室成立于2016年,于2019年加入字节跳动,工作室以创造品类标杆为目标,努力给玩家带来有趣和激动人心的游戏体验。作为字节游戏全球战略布局的重要一环,无双工作室承担了朝夕光年自研中重度手游的使命,努力为玩家打造感动你我的游戏。


blob.png


游戏品类


无双工作室自成立以来就对自己的赛道品类有清晰的认识和坚持,基于对“高品质ARPG”的长期积累和热爱,着力发挥在ACT、卡通、IP等领域优势,研发出品过包括《全民无双》《择天记》《航海王热血航线》(与中手游联合出品)多款手游,打造产品的同时也积累了研发经验、历练了团队。《航海王热血航线》在上线之初就保持5天免费榜榜首,最高畅销榜第3的优异市场表现。


图片2(备选).jpg


随着在ACT领域的深耕,工作室通过技术中台与项目的相互促进,通过在卡通、二次元渲染、影视动画工作流、工具集成、AI落地游戏开发应用等方向进行大胆技术尝试。本文将着重分享工作室在AI技术赋能游戏研发方向的技术实践,讲述AI在此品类游戏下的应用效果和价值。


AI赋能游戏


对战AI


基于机器学习技术,我们与字节游戏AI团队合作研发了竞技场AI机器人,机器人可以设置不同的难度,根据玩家的段位,为玩家匹配段位合适的AI机器人,并且我们的AI机器人同时拥有更类似真人行为的表现,让玩家能够感受到和真人玩家一样的对局体验。AI机器人可以提升玩家的在竞技场玩法的整体体验,避免因连续挫败感造成的玩家流失。


AI机器人实现的核心技术是大规模分布式深度强化学习。在1vs1 3D格斗竞技场中,AI机器人可以从多达数十个的伙伴中随机选择,进行对抗,这些伙伴拥有完全不同的技能和战斗机制。 游戏环境在大量的CPU上加速运行,AI不断与自己及过去的自己进行自对弈(self-play),通过大量的自对弈对战数据,AI模型可以逐步提高自己的水平。 在自研强化学习平台的支持下,几千个游戏环境可以同时运行,每天完成千万数量级的对局。


图片3.png


我们的AI机器人在智能涌现过程中,随时训练时间的增长,机器人的风格和水平也出现了不断的变化,大致可以分为五个阶段。


图片4.png


1. 直接攻击:一开始AI风格很直接,就是追着对手攻击,正面硬碰硬


2. 攻击后躲避:AI成功攻击建立血量优势后,会选择躲避对手,在对手无法追上的情况下,耗完时间就可以取得胜利


3. 躲避能追上:AI学会了有效的追击方式和移动压制能力,简单的攻击后躲避已经无法取得最终的胜利。同时,这个阶段的AI在移动上更加灵活


4. 动态游走:AI在移动的选择上更加自由,擅长躲避对方的远程攻击,在近距离移动上,闪避技能使用得更加游刃有余


5. 处变不惊:AI已经不再频繁的跑动,而是学会了静观其变,在关键时刻出手一击。并且,这一阶段的AI学会了位置上的压制,可以在移动中逐渐逼迫对手落入竞技场边缘以便最后的攻击


经过不断训练,AI能够在不断的自对弈中不断提升智能水平,发现很多新的技巧,逐渐成为一个绝世高手。然后我们通过延迟操作输出、减少连招次数、降低技能使用概率等手段划分出不同难度的AI,提供给不同段位的玩家匹配使用。并且我们也将AI适配到不同的玩法之中,比如《航海王热血航线》中的烈焰对决玩法中的噩梦难度AI。



从一开始的技术突破,到后来的在产品中落地使用,我们在这过程不断地积累经验、迭代模型、拓宽我们的技术应用,让AI能够更好地服务于产品。我们在打造新手陪玩AI、挫败温暖AI以此提升留存的同时,也会继续制作人机挑战AI等全新游戏玩法,让玩家体验人工智能的魅力,提升玩家游戏的乐趣。我们会在关注提升竞技性的同时,也会更多关注拟人性,提高玩家体验。


数值平衡性测试


数值平衡性对游戏来说,也很重要,我们在这个应用场景希望解决的问题是,不希望出现某个卡牌角色/某组角色组合阵容过于强大,出现版本通吃的情况(这会降低玩家对其他角色的养成,变相降低游戏收入),以及能为策划提供更有力的决策依据。


首先,回顾一下传统的平衡性测试流程:


图片5.png 


1. 跑大量的对局


这里通常要考虑战前阵容,这个数量非常大(全排列4,389,446,880种),传统的做法是,策划或者测试同学给出一些常见的阵容搭配或者某些搭配规则,将全排列数量降至几万种级别,然后两两对战100局。


2. 自动战斗


在跑大量的对局中,对战过程需要决策,所以一般情况是策划配置行为树(后面简称BT),作为战中模拟玩家的决策。


3. 战中数据记录


我们需要记录每局战斗过程中的关键事件/数据,比如击杀、增益buff次数、治疗量、抗伤量等等数据,以便后面做数据分析


4. 数据分析


经过上面三部,有了大量的对局数据,就可以通过数据统计,分析出每个角色的一些数据,为策划提供决策依据。

 

从上面的过程中,可以看到,有两个地方有一定的弊端,一个是阵容选择,策划或者测试同学筛选出的阵容,未必是真正的强势阵容,可能会忽略掉更有潜力的阵容。二个是自动战斗AI,使用BT编辑,通常策略较单一、简单,而无法发挥某些组合的真正能力。


为此,我们希望用强化学习,尝试解决上述两个问题,因为强化学习就是擅长决策最优选择去实现收益最大化,可以打出策划意想不到的套路。我们分为了两步来进行对比验证:


5. 训练局内对战AI,来代替BT


结论:【随机阵容 + 局内AI模型】vs【随机阵容 + 内置BT】前者平均胜率59%。这个结论说明AI模型能力要强于BT。


6. 训练阵容选择AI,来代替预先固定阵容 


结论:【阵容AI模型 + 局内AI模型】vs【人工筛选强势阵容 + 内置BT】前者平均胜率96%。结合第一步结果,能说明阵容的重要性,且AI更能发挥阵容/角色的能力。


所以,我们使用了这两个模型代替了阵容选择,和战中决策BT,其他过程不变。在自研的某游戏平衡性测试过程中,我们做了个对比,发现一个有趣的现象:AI输出的结果中,某个定位前排角色,胜率较高,而传统测试输出他的胜率平平。后来发现是因为策划在配置BT策略的时候,有意的把一些稀缺资源,配置给其他角色,这样导致战斗过程中,这个定位前排的角色,拿不到稀缺资源,就无法发挥出应有的实力。


基于AI的Markerless动作捕捉


随着游戏日益精品化,加之动捕是3A游戏的必备工艺,工作室也开始建设动捕能力,我们在调研了传统的惯捕、光捕之外,决定在传统捕捉方案之外,将基于AI的视频动作捕捉也作为一种动捕能力一起建设。


图片6(备选).png


我们把基于AI的Markerless动作捕捉技术,方案命名为AIMocap,目前具备以下特性


· 无需穿戴任何设备(Markerless)

· 普通摄像机(多视角)

· 离线/实时视频捕捉(30fps)

· 支持多人同时捕捉


主要流程如下:


图片7.png 

 

同时为了提升捕捉效率和效果,我们又做了以下优化:


1. 计算效率 

· 模型使用TensorRT加速推理

· CPU与GPU之间并行

· GPU内并行(CudaStream)

· 升级硬件rtx2070s->rtx3090


2. 效果优化 

· 因为是Markerless的,纯靠AI模型推理,得到的点还是会有误差,会产生抖动,所以进行了3D空间点平滑处理

· 减少滑步,实时判断脚部是否接触地面,然后用IK,把脚固定到地面上


动捕数据的自动清洗


动捕能极大的提升动画生产效率,增加动作的逼真度,然而,动捕最大的弊端之一便是动捕数据清理所带来的巨大工作量,目前大部分的动捕厂商对这一步的处理还都限于使用其专业软件依赖人工进行数据修复和清洗,在整个流程中成本占比也最高。即便在精度较高的光捕技术上,也依然存在依赖人力修复数据的问题。


我们在建设无双工作室动捕实验室的过程中,通过探索,针对光学动捕数据,做自动的数据清洗,和姿态解算。


基于业界的理论研究《Robust Solving of Optical Motion Capture Data by Denoising》、《 AMASS: Archive of Motion Capture as Surface Shapes 》、《MoCap-Solver:A Neural Solver for Optical Motion Capture Data》等论文的工作。


· 处理流程如下 


图片8.png

· 训练过程如下 


图片9.png


Learned Motion Matching


从目前来看,能够很好的利用动捕数据,使动画表现更加自然真实,还是需要Motion Matching,然后在此基础上应用AI技术,在保证原有Motion Matching效果的前提下,解决Motion Matching的内存占用过大问题。

我们总体分为两步走:


1. 构建一个基础的motion matching系统

2. 基于此,实现Learned Motion Matching

主要参考育碧的《 Learned Motion Matching 》


图片10(备选).png

 

核心思路就是通过训练三个神经网络,来取代Motion Matching中的动画数据库和feature数据库。达到降低内存使用的目的。


·  Decompressor部分 


首先训练一个类似AutoEncoder网络,主要用于动画压缩,将原始动画序列转化为抽象特征z的序列,运行时只使用Decompressor部分


图片11.png


· Stepper部分 


主要目的是为了避免存储上面的抽象特征z序列,现在只需要为每段动画存储一个初始的x和z,就可以用stepper网络输出下一帧的x和z,然后通过上面的Decompressor来还原动画。


图片12.png


· Projector部分


这部分的主要目的是代替MotionMatching中的matching feature搜索部分,从而取消存储x序列。


图片13.png


最终流程


图片14.png


对AI未来规划的思考


随着AI技术的发展,以及越来越多的AI在游戏中的应用案例,让我们看到了AI在游戏中应用的无限可能。“科技是第一生产力”,作为一家有追求的游戏公司,为了将最高品质的游戏,提供给玩家,我们需要对前沿技术保持高度的敏感,勇于尝试将技术落地到游戏中,做好技术/人才的储备,才能保持公司的核心竞争力。


正视AI能力


首先,要正视AI这项技术,我发现有一部分人对AI的理解,并不是很准确,这部分人的观点通常分为两类:


一类是认为AI无所不能,针对某一个问题,可以找到一个使用AI的解决方案,把整个问题全部解决,自己可以当甩手掌柜。这种认知是有偏差的,AI更擅长的是解决某一个单一的问题,快速、高效、准确的解决某一个复杂方案中的某一个子问题。比如在数值平衡性测试过程中,AI也只是替代了BT和阵容选择,并没有说,训练一个模型,直接可以把策划的配置表数值,改变成平衡的。


另一类是觉得AI目前效果还不好,达不到实际使用需求、行业对AI过度吹捧。不否认有些AI应用为了追逐资本可能过度宣传,然而最终难落地被打脸,从而导致某一部分人认为这是普遍现象,但是实际情况并不全是这样。


图片15.png

 

所以,要正视AI的能力,过高的期望,可能会让我们在落地的过程中更具挫败感。过低的期望,可能会让我们在决策时错失尝试新技术的机会。毕竟技术进步是第一生产力,不能因为对AI理解的不到位,而错失一些有价值的技术。

那如何能提升正视AI的能力呢,可以平时多了解AI的技术原理,多关注各种应用场景,一些前沿的技术论文等,提高对AI能力的认知,才能方便我们在技术决策时,做出相对较为合理的预期和决策。


拓展AI赋能范围


朝夕光年无双工作室会以更务实的态度面对AI在游戏方向的应用,一方面会迭代上述已落地的AI在游戏上的应用;同时将继续拓展AI技术在以下领域助力游戏内容生产:

· 面部/口型动画生成

· 智能对话

· PCG内容生成


柯洁在与AlphaGo交战之后说:“在AlphaGo没有出现前,我觉得自己对围棋已有了五成认知。AlphaGo让我对围棋,甚至人生的看法有了巨大改变,让我认识到了自己的不足。围棋的变化太多,我了解的还是太有限了”,AlphaGo让我们看到AI在游戏上的更多可能性,也深知探索的路程必将“路漫漫其修远”,也欢迎有识之士加入,让我们为AI在游戏上的应用“上下求索”。


扫描左侧二维码,关注微信公众号

即可获得游戏智库每日精彩内容推送,并且在第一时间获取游戏行业新鲜资讯。

APP 下载

扫描二维码
下载iOS或安卓APP
返回顶部