解法
平衡一款在线多人游戏通常是一个缓慢的循环: 通过成千上万的人类试玩环节进行压力测试,整合反馈,重新设计,重复直到测试人员和设计人员满意为止。Google Stadia的工程师称这个过程不仅耗时而且不完善——游戏中的角色、技能和互锁机制越多,细微缺陷就越容易逃过检测。
他们的对策是训练机器学习模型作为试玩者。在Chimera上,一个数字卡牌游戏原型,特意设计成具有大状态空间和不完美信息,使手工制作的AI难以编写。他们训练了一个卷积网络,通过棋盘图像的编码来预测获胜概率。该代理随机开始动作,然后与自己对抗,每次迭代都提高数据质量和游戏强度。
模拟比赛达到了数百万场,远超人类测试者能产生的数量。数据暴露了测试忽略的问题: 闪避链接卡组60%的时间击败伤害治疗卡组,奇美拉进化比设计师想象的强但发生频率低于预期,霸王龙生物过强——代理会在错误或过度拥挤的生物群落中无视惩罚而使用它。设计师将进化能量消耗从3降为1,并将霸王龙的冷却时间加倍,但胜率仍是60/40。
对游戏日志进行的第二次检查发现比赛仍然太浅: 起始血量和治疗量被提高以延长游戏,生物群落放置惩罚增加,最强和最弱生物之间的差距缩小。在最后一百万场比赛中,闪避链接从59.1%降至49.8%胜率,伤害治疗从40.9%升至50.2%,平均每次进化的次数从1.54升至2.16,0.86升至1.76。团队报告说在几天内发现并修复了不平衡,而这通常需要数月试玩。
What it achieved
自玩ML代理能够以人类无法匹及的规模进行试玩
为什么有效
数百万次模拟比赛将平衡转化为统计: 60/40的卡组差距在聚合数据中显现,而不是仅存于几十次会话的直觉中。
自举在没有手工规则的情况下启动: 随机游戏开始循环,每代提高自身数据质量,而简单的CNN图像状态学习对传统AI来说太复杂的游戏。
代理通过行动而非报告来展示: 它总是玩过强的霸王龙,无视惩罚,使设计者的盲点变得不可否认和可操作。
廉价的迭代就是一切: 规则更改会在几天内通过数百万场重新测试,同样的小型模型能够在客户端CPU上运行,以显示实时获胜概率。
可以借鉴什么
当质量循环依赖缓慢的人类测试时,构建一个廉价的合成用户,能够运行数百万次试验,然后根据其暴露的模式调整规则; 数月的测试将压缩为几天。
后续
平衡工作在最后一百万场模拟中使两个卡组接近均衡,工程师称识别和修复循环在几天内完成,而这通常需要数月的试玩。他们补充说,一个简单的神经网络能够达到高水平的人类和传统游戏AI对战,同样的代理后来能够指导新玩家或发掘设计师未曾想到的策略。这篇文章本身是团队的主张: 机器学习应该进入游戏开发流程,而不仅仅是游戏内部。
从这里,追溯依据
参考来源
- Leveraging Machine Learning for Game Development ai.googleblog.com
- Leveraging Machine Learning for Game Development (Hacker News discussion) news.ycombinator.com