文 / 软件工程师 Ji Hun Kim 和 Richard Wu,来自 Stadia 

近年来,在线多人游戏的热度持续飙升,在全球范围内吸引着数不胜数的玩家。这种流行也加倍提高了对游戏设计者的要求:玩家会期望游戏在设计上足够细致和保证平衡性,毕竟,如果游戏中有某种强势套路可以胜过所有其他玩法,那这款游戏也没什么好玩的了。

为营造积极的游戏体验,游戏设计者通常会反复调整游戏中的平衡性:

  1. 通过测试用户成千上万次的游戏会话进行压力测试

  2. 整合反馈,重新设计游戏

  3. 重复步骤 1 和 2,直到游戏测试人员和设计者都满意为止

这个过程不仅耗时,而且明显存在不足:游戏越复杂,细微的缺陷就越容易被忽视。当游戏中有多个可供扮演的角色和大量相互关联的技能时,要达到平衡便更为困难。

今天,我们将介绍一种机器学习 (ML) 方法:训练模型充当游戏测试人员来调整游戏平衡,并在数字卡牌游戏原型 Chimera 上演示这种方法。先前,我们也用相同的测试平台演示了 ML 生成的艺术。这种基于 ML 的游戏测试方法使用训练好的智能体 (Agent) 通过数百万次模拟收集数据,让游戏设计者可以更高效地将游戏打造得更有趣、更平衡的同时也符合设计预期。

  • Chimera
    https://www.youtube.com/watch?v=hMWjerCqRFA&t=239s

Chimera

我们开发的 Chimera 是一个游戏原型,在开发过程中依赖了大量的机器学习。对于游戏本身,我们有针对性地设计了规则,扩大了可能性空间,使得很难通过传统的人工构建的 AI 来进行游戏。

Chimera 的玩法围绕奇美拉(Chimera,神话生物)展开,这些生物混合体将由玩家强化和进化。游戏的目标是打败对手的奇美拉。游戏设计中的关键点如下:

  • 玩家可以:

    • 操控生物,可发出攻击(使用攻击统计,attack stat)或受到攻击(减少生命统计,health stat);

    • 使用法术,产生特殊效果。

  • 生物被召唤到容量有限的生物群系,实际放置于牌桌空间。每个生物都有对应的偏好生物群系,如果被放置于不正确的生物群系或超出容量的生物群系则会受到重复伤害。

  • 玩家控制的是一只奇美拉,奇美拉最开始处于基本的“蛋”状态,通过吸收生物来进化和强化。为此,玩家还必须通过各种游戏机制获得一定的链接能量。

  • 当玩家成功将对方奇美拉的生命降至 0 时,游戏就会结束。

学习玩 Chimera

Chimera 是一款具有较大状态空间的不完美信息博弈 (Imperfect Information) 卡牌游戏,我们预计这会让 ML 模型难以学习,并且我们的目标还是一个相对简单的模型。我们的方法受 AlphaGo 等早期对弈智能体使用的方法启发,其中卷积神经网络 (CNN) 被训练来预测给定任意对弈状态下的获胜概率。在随机移动的对局上训练初始模型后,我们设置智能体与自己对战,反复收集对局数据,然后用于训练新的智能体。每次迭代后,训练数据的质量都会提高,智能体的游戏能力也会增强。

随着训练的推进,与性能最好的人工构建的 AI 相比,ML 智能体的表现情况:最初的 ML 智能体(版本 0)随机移动

  • AlphaGo
    https://deepmind.com/research/case-studies/alphago-the-story-so-far

对于模型接收为输入的实际游戏状态表征,我们发现将“图像”编码传递给 CNN 可获得最佳表现,结果超过了所有基准程序智能体和其他类型的网络(如完全连接)。选择的模型架构足够小,可以在合理时间内在 CPU 上运行。我们因此能够下载模型权重,并使用 Unity Barracuda 在 Chimera 游戏客户端中实时运行智能体。

用于训练神经网络的示例游戏状态表征

  • Unity Barracuda
    https://github.com/Unity-Technologies/barracuda-release

除了为游戏 AI 做出决策,我们还使用该模型显示玩家在游戏过程中的估计获胜概率

平衡 Chimera

在相同时间内,模拟方法可比真实玩家能够完成的对局多出数百万场。在收集了表现最好的智能体的游戏数据后,分析结果显示出我们设计的两种玩家卡组之间的不平衡。

首先,Evasion Link Gen 卡组的法术和生物能产生额外的链接能量进化玩家的奇美拉。它还包含使生物能够闪避攻击的法术。相比之下,Damage-Heal 卡组的生物具有多种实力和专注于治疗与造成轻微伤害的法术。虽然我们将这两套卡组设计为具有相同的实力,但是 Evasion Link Gen 卡组在与 Damage-Heal 卡组对战时取得了 60% 的胜率。

在我们收集与生物群系、生物、法术和奇美拉进化相关的各种统计数据后,有两个结果立刻浮现出来:

  1. 进化奇美拉可以带来显著优势 - 奇美拉进化次数更多的智能体更有可能赢得对局。然而,每场对局的平均进化次数并没有达到我们的预期。为了让它成为更核心的游戏机制,我们要增加总体平均进化次数,同时保持其使用策略。

  2. 霸王龙生物过于强大。它的出现与胜利密切相关,而且模型将始终选择霸王龙,不考虑召唤到错误或过度拥挤的生物群系的惩罚。

根据这些分析结果,我们对游戏做出了一些调整:

  1. 为了强调奇美拉进化是游戏的核心机制,我们将进化奇美拉所需的链接能量从 3 减少到 1。

  2. 我们还为霸王龙生物增加了一个“冷却”期,使其从任何行动中恢复的时间都增加了一倍。

使用更新后的规则重复“自我对局”训练程序,结果显示这些调整将游戏推向了预期的方向 - 每局游戏的平均进化次数有所增加,霸王龙的优势逐渐被削弱。

霸王龙平衡前后的影响力比较示例:图表呈现了当卡组发起特定法术互动(如,使用“闪避”法术强化霸王龙)时获胜(或失败)的对局数量。左:改动前,霸王龙在所有检查指标上都具有很强的影响力 - 最高的生存率,最有可能被无视惩罚地召唤,获胜时吸收的生物最多。右:改动后,霸王龙远不如先前强势

霸王龙的削弱成功减少了 Evasion Link Gen 卡组对强势生物的依赖。即便如此,两套卡组的胜率依然是 60/40,而不是 50/50。经过对各个游戏日志的深入研究,我们发现玩法的策略性通常低于预期。再次搜索收集的数据后,我们又发现几个需要改动的地方。

首先,我们增加了两个玩家的初始生命值以及治疗法术可以补充的生命值。这是为了鼓励更长时间的游戏,发展更多样的策略。特别是这使 Damage-Heal 卡组能够存活足够长的时间来发挥其治疗策略。为了鼓励符合设计的召唤和战略性生物群系放置,我们提升了将生物放入不正确或拥挤生物群系时受到的惩罚。最后,我们通过小范围的属性调整,缩小了最强和最弱生物之间的差距。

在新的调整到位后,我们得出了这两套卡组的最终游戏平衡数据:

卡组 平均每场游戏进化数(前 → 后) 胜率 %(100 万场对局)(前 → 后)
Evasion Link Gen 1.54 → 2.16 59.1% → 49.8%
Damage Heal 0.86 → 1.76 40.9% → 50.2%

结论

通常,在新的原型游戏中找出不平衡可能需要几个月的游戏测试。通过这种新方法,我们不仅能够发现潜在的不平衡,还能在几天之内做出调整加以改良。

我们发现,相对简单的神经网络便足以在与人类和传统游戏 AI 的竞争中表现出较高的水准。这些智能体还可以用于其他目的,例如指导新玩家或发现意外策略。我们希望这项成果能够激发更多关于机器学习用于游戏开发的可能性的探索。

致谢

此项目在大量人员的协作下共同完成。感谢 Ryan Poplin、Maxwell Hannaman、Taylor Steil、Adam Prins、Michal Todorovic、Xuefan Zhou、Aaron Cammarata、Andeep Toor、Trung Le、Erin Hoffman-John 和 Colin Boswell。感谢所有提供游戏测试、游戏设计建议和宝贵反馈的贡献者。

更多 AI 相关阅读:

  • 发布 PAIRED:一种生成对抗环境的全新多智能体方法

  • Kick Start 编程挑战赛报名通道现已开启

  • 借助稀疏推理加速移动设备和网页上的神经网络

  • 推出 Model Search:寻找最佳 ML 模型的开源平台

  • 用视觉模型改善强化学习评价设计

机器学习如何优化策略游戏相关推荐

  1. 安卓Android游戏类ASO优化策略,android的aso优化

    虽然安卓市场和AppStore市场有很大的区别,但是优化套路还是有迹可循的,想要做好游戏的APP推广,那就要把ASO做好,ASO是游戏类产品也是所有应用类产品推广的第一步.那么小编就来给大家说说这个怎 ...

  2. 【游戏精粹】AI系统(一):优化策略

    优化策略 策略1:使用事件驱动行为而非轮询             最理想的情况是自主体应不断地监控其所处的环境,并做出相应的反应.这种方法的问题在于,它将导致大量重复计算.替换方法是尽可能采用事件驱 ...

  3. 第四范式程晓澄:机器学习如何优化推荐系统

    本文经AI新媒体量子位(公众号ID:qbitai )授权转载,转载请联系出处 本文长度为9532字,建议阅读10分钟 本文为你介绍推荐系统的诞生土壤和早起演进.推荐系统当下的基本架构以及如何搭建一个推 ...

  4. 卷积神经网络参数优化策略(一)

    前言 最近卷积神经网络(CNN)很火热,它在图像分类领域的卓越表现引起了大家的广泛关注.本文总结和摘录了Michael Nielsen的那本Neural Network and Deep Learni ...

  5. Unity优化手机游戏学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.69 GB |时长:6h 44m 创 ...

  6. 一文概览深度学习中的五大正则化方法和七大优化策略

    深度学习中的正则化与优化策略一直是非常重要的部分,它们很大程度上决定了模型的泛化与收敛等性能.本文主要以深度卷积网络为例,探讨了深度学习中的五项正则化与七项优化策略,并重点解释了当前最为流行的 Ada ...

  7. 低延迟音频中的音频解码优化策略

    文章目录 前言 音频播放 举个例子:PortAudio 回调函数 解码与播放 优化策略 1. 一次性读取音频到内存中 2. MMAP 3. 音频转码,再接 MMAP 4. 解码缓冲 总结 参考资料 前 ...

  8. 成长中的SEO,应该避免这12个过时的优化策略(转载自:https://www.duiji.net)

    成长中的SEO,应该避免这12个过时的优化策略 SEO在过去几年里经历了广泛的变化及进化,并且每天都在进行着. 虽然大多数传统的营销策略(在很大程度上)仍然适用于今天的数字营销,SEO的变化已经大大改 ...

  9. 一文读懂云渲染“串流”全链路时延及优化策略

    ​这是一个让云游戏完美起步的时代. 云游戏作为产业内近年来炙手可热的话题,具有"云端运行.超高清.零延时.即点即玩"等众多特性. 随着 5G 时代的到来,以及中心云能力下沉至边缘云 ...

  10. 如何制定新年节假日ASO搜索优化策略

    制胜的意思,其实还有另外一个解释,"奇"读ji,是数学上奇数偶数的奇,又称为"余奇",指多出来的那部分兵力.在过年节假日期间,当大家都在休息欢度新年的时候,投入 ...

最新文章

  1. R构建指数回归模型(Exponential Regression)
  2. [php]如何做到高并发优化
  3. App上线前产品经理自查的清单
  4. TensorFlow tf.data 导入数据(tf.data官方教程) * * * * *
  5. android 源码各版本下载 原生纯净版
  6. Unity MeshRender更换材质球方法
  7. 计算机课搞事情检讨,上微机课玩游戏检讨书
  8. python声明数组_在Python中如何声明动态数组
  9. 在tsx中引入less会提示模块找不到,但是可以运行
  10. 前端面试题整理【转】
  11. STM32F103单片机读取芯片自身ID
  12. strcpy()、memcpy()、memmove()、memset()及其应用
  13. 二分法在生活中的一次应用
  14. c/c++ 内存对齐
  15. 实训作业 4(界面2)
  16. 带时效性的条形码_条形码
  17. 微分方程的数值解法—四阶龙格库塔(Runge-Kutta)的推导以及C代码实现
  18. OSChina 周三乱弹 —— 我居然在 osc 里追剧
  19. 利用中国知网快速自动生成参考文献
  20. gazebo+turtlebot3+gmapping建二维地图

热门文章

  1. Excel:INDEX与MATCH函数
  2. 海致大数据京信_海致网聚提出公安大数据背景下的个人计算新理念
  3. C#中Skip和Take的用法
  4. Mysql工作原理——redo日志文件和恢复操作
  5. docker安装kafka和zookeeper
  6. 计算机运行快是取决什么,电脑速度快慢取决哪个硬件
  7. python中np是什么意思_了解python中np是做什么的
  8. 20201009 Latex参考文献自动排序 \begin{thebibliography}
  9. 新装的服务器发布iis网站后提示500.19错误代码:0x8007000d问题的解决过程
  10. 你想要的宏基因组-微生物组知识全在这(2020.10)