Google AI:AlphaGo启发,教你用ML击败对手的chimera


  新智元报道  

来源:Google AI

编辑:小匀、LQ

【新智元导读】近年来,多人在线游戏越来越流行,全世界有数百万玩家。随着这种游戏的大规模流行,玩家对游戏设计者的要求也越来越高,玩家都喜欢精心设计的游戏,毕竟,只用一个策略就能击败所有人的游戏也没什么意思。

为了设计出积极的游戏体验,游戏设计师通常会反复调整游戏:

  1. 通过测试玩家的数千次测试进行压力测试;
  2. 整合反馈并重新设计游戏;
  3. 重复步骤1和步骤2,直到玩家和游戏开发者都满意为止。
但是这个过程不仅费时,而且并不总是完美,游戏越复杂,细微的缺陷越容易被漏掉。
游戏角色越多,并且相互关联的技能也很多的时候,就越难达到平衡。
Google AI提出了一种利用机器学习(ML)来调整游戏达到平衡的方法,通过把模型训练成游戏测试玩家,并在数字纸牌游戏原型 Chimera 上演示,我们之前已经展示了该原型作为 ML生成艺术的试验平台。
通过使用训练有素的代理程序运行数以百万计的模拟来收集数据,这种基于ML的游戏测试方法使游戏设计者能够更有效地设计更有趣、更平衡、更符合最初想法的游戏效果。

数字纸牌游戏原型Chimera

Chimera的开发过程大量依赖机器学习。对于游戏本身,经过特定目标的规则设计,以增加可能性使得传统的手工AI很难玩转游戏。
Chimera围绕着chimera(喀迈拉,古希腊故事中狮头、羊身、蛇尾的吐火怪物)展开,怪兽混搭,玩家的目标是加强和进化。这个游戏的目标是击败对手的chimera。游戏设计的关键点有:
  • 玩家可以:
    • 怪兽:攻击或被攻击
    • 咒语/法术:产生特效
  • 怪兽被召唤到有限的生物群落中,这些生物群落被实际放置在游戏空间上。每个怪兽都有自己喜欢的群落,如果被放置在错误的群落或容量过大的群落上,会重复受到伤害。
  • 玩家控制一个单个chimera,chimera一开始是基本的 「蛋 」状态,可以通过吸收怪兽进行进化和强化。为此,玩家还必须获得一定数量的链接能量,而链接能量是由各种游戏机制产生的。
  • 当玩家成功将对方chimera的健康值降至0时,游戏结束。

Chimera怎么玩

作为一种具有较大状态空间又不完美信息卡片游戏,Chimera对于ML模型来说是一个学习难度很高的游戏,当设计目标要建立一个相对简单的模型时,尤其如此。我们使用了一种受AlphaGo等早期对弈代理所使用的方法启发的方法,其中卷积神经网络(CNN)被训练成预测给定任意对弈状态时的获胜概率。
在训练了一个初始模型之后,Google AI设置了一个代理来对抗它自己,迭代收集游戏数据,然后用这些数据来训练一个新的代理。随着每次迭代,训练数据的质量提高了,代理人玩游戏的能力也提高了。
随着训练的进行,ML代理对最好的手工AI的表现。最初的ML代理(0版本)随机挑选动作。
对于模型将接收到的作为输入的实际游戏状态表示,实验发现向 CNN 传递一个可以获得最佳性能的「图片」编码,击败所有基准程序代理和其他类型的网络(例如完全连接)。所选择的模型架构足够小,可以在合理的时间内在 CPU 上运行,这允许操作人员下载模型重量,并使用 Unity Barracuda 在 Chimera 游戏客户机上运行代理。
一个用于训练神经网络的游戏状态表示的例子
除了为游戏AI做决策外,我们还使用该模型来显示玩家在游戏过程中的估计获胜概率

平衡Chimera

这种方法使我们能够模拟出比真实玩家在相同时间跨度内所能玩的数以百万计的游戏。在收集了表现最好的代理所玩的游戏的数据后,我们分析了结果,以发现我们所设计的两种玩家卡牌之间的不平衡。
首先,「回避链接基因」卡组(the Evasion Link Gen deck)由有能力的法术和怪兽组成,这些法术和怪兽可以产生额外的链接能量,用于进化玩家的Chimera。它还包含了使怪兽能够躲避攻击的法术。
相比之下,伤害-治愈卡组则包含了实力不一的怪兽与专注于治疗和造成轻微伤害的法术。虽然我们设计的这两套卡组实力相当,但在与伤害-封印卡组对战时,闪避-链接-元卡组有60%的时间是赢的。
当我们收集了与生物群落、怪兽、法术和Chimera进化相关的各种数据时,有两点立刻跳了出来。
1 在进化Chimera方面有明显的优势,在大多数游戏中,特工赢得了比对手更多的Chimera进化。然而,每场比赛的平均进化次数并没有达到试验的预期。为了让它更多地成为一个核心游戏机制,我们希望增加整体的平均进化次数,同时保持其使用的战略性。
2 T-Rex怪兽过于强大。它的出现与胜利有很强的相关性,而且模型总是会扮演T-Rex,而不考虑召唤到不正确或过度拥挤的生物群落的惩罚。
根据这些见解,我们对游戏进行了一些调整。为了强调Chimera进化是游戏的核心机制,我们将进化一个Chimera所需的链接能量从3降低到1。我们还为T-Rex生物增加了一个 「冷却 」期,使其从任何行动中恢复的时间增加了一倍。
用更新后的规则重复我们的 「自我游戏 」训练程序,我们观察到这些变化将游戏推向了预期的方向--每局游戏的平均进化次数增加了,T-Rex的优势也逐渐消失。
一个平衡前后T-Rex影响力的例子对比。这些图表呈现了当一个卡组发起特定的法术互动(例如,使用 '闪避 '法术使T-Rex受益)时赢得(或失去)的游戏数量。左:在改动之前,T-Rex在每一个被考察的指标中都有很强的影响力--最高的存活率,最有可能被无视惩罚而召唤,胜利时吸收的怪兽最多。右图。变化后,T -Rex的力量大为减少。
通过削弱T-Rex,我们成功降低了回避连环元卡组对超强怪兽的依赖。即便如此,两套卡组的胜率依然是60/40,而不是50/50。仔细查看各个游戏日志后发现,游戏的策略性往往不如我们所希望的那样。再次搜索我们收集到的数据,我们又发现了几个需要改变的地方。
首先,我们增加了双方玩家的起始健康值以及治疗法术可以补充的健康量。这是为了鼓励更长时间的游戏,让更多不同的策略蓬勃发展。特别是,这使得伤害-治愈卡组能够存活足够长的时间来利用其治疗策略。为了鼓励正确的召唤和战略性生物群落的放置,我们增加了现有的将怪兽打入不正确或过度拥挤的生物群落的惩罚。最后,我们通过小范围的属性调整,缩小了最强和最弱怪兽之间的差距。
新的调整到位,我们得出了这两张卡牌的最终游戏平衡性统计。

结论

通常情况下,在一个新的游戏原型中发现不平衡性可能需要几个月的游戏测试。但通过这种方法,我们不仅能够发现潜在的不平衡,还能在几天内引入调整来缓解它们。我们发现,一个相对简单的神经网络足以在与人类和传统游戏AI的竞争中达到高水平的性能。这些代理可以以更多的方式被利用,例如用于指导新玩家或发现意外的策略。我们希望这项工作能够激发更多探索机器学习在游戏开发中的可能性。

参考资料:

https://ai.googleblog.com

(0)

相关推荐