当前位置: 首页 > 科技观察

机器学习如何优化策略游戏

时间:2023-03-17 13:31:13 科技观察

为了创造积极的游戏体验,游戏设计师经常反复调整游戏中的平衡:通过测试用户数千个游戏会话进行压力测试整合反馈,重新设计游戏重复步骤1和2,直到游戏结束测试人员和设计师都很满意这个过程不仅耗时,而且缺陷也很明显:游戏越复杂,细微的缺陷就越容易被忽视。当游戏有多个可玩角色和大量相互关联的技能时,平衡就更难了。今天,我们将介绍一种机器学习(ML)方法来训练模型以充当游戏测试人员来调整游戏平衡,并在数字纸牌游戏原型Chimera上演示该方法。之前,我们还使用相同的测试台展示了ML生成的艺术。这种基于ML的游戏测试方法使用训练有素的代理人(Agents)通过数百万次模拟来收集数据,让游戏设计师能够更高效地让游戏变得更有趣和平衡,同时满足设计预期。Chimerahttps://www.youtube.com/watch?v=hMWjerCqRFA&t=239sChimera我们开发的Chimera是一款在开发过程中严重依赖机器学习的游戏原型。对于游戏本身,我们有针对性地设计了规则,扩大了可能的空间,让传统的人工构建的AI很难玩游戏。Chimera的游戏玩法围绕着Chimera(神话生物)展开,这些生物的混合体将由玩家增强和进化。游戏的目标是打败对方的奇美拉。游戏设计的要点如下:玩家可以:操纵生物,攻击(使用攻击统计,attackstat)或被攻击(减少生命统计,healthstat);使用法术产生特殊效果。生物被召唤到容量有限的生物群落中,物理放置在桌面空间中。每个生物都有一个相应的首选生物群落,如果放置在不正确的生物群落或超出容量的生物群落中,将会反复受到伤害。玩家控制着一个奇美拉,它以基本的“蛋”状态开始,并通过吸收生物来进化和强化。为此,玩家还必须通过各种游戏机制获得一定的链接能量。当玩家成功将对方奇美拉的生命值降为0时,游戏结束。LearningtoplayChimeraChimera是一种状态空间较大的不完美信息纸牌游戏,我们预计这会使ML模型难以学习,而我们的目标是相对简单的模型。我们的方法受到早期游戏代理(例如AlphaGo)使用的方法的启发,其中训练卷积神经网络(CNN)以预测给定任意游戏状态的获胜概率。在随机移动游戏上训练初始模型后,我们将智能体设置为与自己对战,反复收集游戏数据,然后将其用于训练新智能体。每次迭代后,训练数据的质量都会提高,智能体的发挥能力也会提高。与表现最佳的人工AI相比,ML代理在训练过程中的表现如何:原始ML代理(版本0)随机移动AlphaGohttps://deepmind.com/research/case-studies/alphago-the-story-so-far对于模型作为输入接收的实际游戏状态表示,我们发现将“图像”编码传递给CNN产生了最佳性能,优于所有基准程序代理和其他类型的网络(完全连接)。所选模型架构足够小,可以在合理的时间内在CPU上运行。因此,我们能够使用UnityBarracuda在Chimera游戏客户端中实时下载模型权重并运行代理。用于训练神经网络的示例游戏状态表示UnityBarracudahttps://github.com/Unity-Technologies/barracuda-release除了为游戏AI做出决策外,我们还使用该模型来显示玩家估计的获胜概率平衡游戏过程Chimera的模拟方法可以完成比真实玩家在相同时间内完成的游戏多数百万的游戏。在收集了表现最好的代理的游戏数据后,分析结果显示我们设计的两个玩家套牌之间存在不平衡。首先,EvasionLinkGen牌组的咒语和生物会产生额外的链接能量来进化玩家的Chimera。它还包含使生物能够躲避攻击的法术。相比之下,伤害-治疗套牌的特点是生物具有各种力量和法术,专注于治疗和造成轻微伤害。虽然我们将这两套牌设计得同样强大,但闪避链接创牌对付伤害治疗牌的胜率为60%。在我们收集了与生物群系、生物、法术和Chimera进化相关的各种统计数据后,立即出现了两个结果:不断进化的Chimera可以提供显着的优势——具有更多Chimera进化的代理更有可能赢得比赛。然而,每场比赛的平均进化次数没有达到我们的预期。为了使其成为更核心的游戏机制,我们将增加总体平均进化计数,同时保持其使用的战略性。霸王龙生物太强大了。它的存在与胜利密切相关,模组将始终选择霸王龙,而不管召唤错误或过度拥挤的生物群落的惩罚。基于这些分析结果,我们对游戏进行了一些调整:为了强调奇美拉进化是游戏的核心机制,我们将奇美拉进化所需的链接能量从3降低到1。我们还添加了霸王龙生物的“冷却”期,使从任何动作中恢复所需的时间加倍。用更新后的规则重复“自我游戏”训练程序表明,这些调整将游戏推向了预期的方向——每场游戏的平均进化次数增加,霸王龙的优势逐渐被削弱。T-Rex平衡前后影响比较的示例:图表显示了套牌在启动特定法术交互(例如,使用“闪避”法术来增强T-Rex)时赢(或输)的游戏数量。左图:在更改之前,霸王龙对所有检查指标都有很大影响-最高生存率,最有可能被召唤而无视惩罚,获胜时吸收最多的暴民。右图:改动后,霸王龙的威力远不如之前。对T-Rex的削弱成功地减少了EvasionLinkGen套牌对强大生物的依赖。即便如此,两套牌之间的胜率仍然是60/40,而不是50/50。在挖掘各种游戏日志后,我们发现游戏玩法往往不如预期的战略性。再次搜索收集到的数据后,我们又发现了几个需要修改的地方。首先,我们增加了双方玩家的初始生命值和治疗法术可以补充的生命值。这是为了鼓励更长的游戏时间,开发更多种类的策略。特别是这让伤害-治疗套牌能够存活足够长的时间来使用其治疗策略。为了鼓励按设计进行召唤和战略性生物群落放置,我们增加了将生物群落放置在不正确或拥挤的生物群落中的惩罚。最后,我们通过小范围的数据调整缩小了最强生物和最弱生物之间的差距。随着新的调整到位,我们得出了两套牌的最终游戏平衡数字:结论通常,在新的原型游戏中发现不平衡可能需要数月的游戏测试。通过这种新方法,我们能够在几天内发现潜在的不平衡并进行调整以改善它们。我们发现相对简单的神经网络足以在高水平上对抗人类和传统游戏AI。这些代理还可用于其他目的,例如指导新玩家或发现意想不到的策略。我们希望这项工作能够激发更多关于机器学习在游戏开发中的可能性的探索。