ゲーム開発に機械学習を活用(2/2)

AI

1.ゲーム開発に機械学習を活用(2/2)まとめ

・人間がプレイ可能なゲーム数より多い何百万回ものシミュレーションが機械学習で可能
・結果を分析し、ゲームを面白くするための工夫やデッキ間のバランスを取る事ができた
・比較的単純なニューラルネットワークで実現できるので将来的な応用範囲は広がりそう

2.機械学習を使ったゲームバランス調整の結果

以下、ai.googleblog.comより「Leveraging Machine Learning for Game Development」の意訳です。元記事の投稿は2021年3月19日、Ji Hun KimさんとRichard Wuさんによる投稿です。

アイキャッチ画像のクレジットはPhoto by Fausto García-Menéndez on Unsplash

Chimeraのゲームバランス
前述のアプローチにより、人間のプレーヤーが同じ期間にプレイ可能なゲーム数より多い、何百万回ものゲームを機械学習を使ってシミュレートすることができました。最高のパフォーマンスを発揮するエージェントがプレイしたゲームからデータを収集した後、結果を分析して、設計した2つのプレーヤーデッキ間の不均衡を見つけました。

まず、Evasion Link Gen戦略を行うデッキ(手札構成)では、プレイヤーのキメラを進化させるために使用される追加のリンクエネルギーを生成する能力を持つ呪文とクリーチャーで構成されていました。また、クリーチャーが攻撃を回避できるようにする呪文も含まれていました。

対照的に、Damage-Heal戦略を行うデッキには、回復と小さなダメージを与えることに焦点を当てた呪文を持つ、さまざまな強さのクリーチャーが含まれていました。これらのデッキは同じ強さになるように設計されましたが、Evasion Link Genデッキは、Damage-Healデッキと対戦した時に60%の確率で勝利していました。

バイオーム、クリーチャー、呪文、キメラの進化に関連するさまざまな統計を収集すると、すぐに2つのことが判明しましら。

(1)キメラを進化させることには明らかな利点がありました。エージェントは、対戦相手よりもキメラを進化させたゲームではほぼ勝利を収めました。それでも、ゲーム毎の平均進化数は私たちの期待に応えませんでした。進化をより主要なゲーム技巧にするために、その使用法を戦略的に保ちながら、全体の平均進化数を増やしたいと考えました。

(2)クリーチャーのティラノサウルス(T-Rex)は強すぎました。その存在は勝利と強く相関しており、モデルは、不的確または過密なバイオームに召喚してペナルティを受ける事になっても、常にT-Rexを召喚します。

これらの洞察から、ゲームにいくつかの調整を加えました。 ゲームのコアメカニズムとしてキメラの進化を強調するために、キメラを進化させるために必要なリンクエネルギーの量を3から1に減らしました。

また、T-Rexクリーチャーに「クールオフ」期間を追加し、何か行動を取った際に再行動可能になるためにかかる時間を2倍にしました。

更新されたルールを使用して「セルフプレイ」トレーニング手順を繰り返すと、これらの変更によってゲームが目的の方向に押し進められることがわかりました。ゲームあたりの平均進化数が増加し、T-Rexの優位性が薄れました。


バランス調整前後のT-Rexの影響の比較の一例
グラフは、デッキが特定の呪文を使った際に勝った(または負けた)ゲームの数を示します。(例えば「避ける(Dodge)」呪文はT-Rexを大幅に強化します)。
左:変更前は、T-Rexは調査したすべての指標で強い影響を及ぼしました。最も高い生存率で、ペナルティを無視して召喚される可能性が最も高く、勝利時に最も召喚されたクリーチャーです。
右:変更後、T-Rexはそれほど強力ではなくなりました。

T-Rexを弱体化する事で、Evasion LinkGenデッキの圧倒的なクリーチャーへの依存を減らすことに成功しました。 それでも、デッキ間の勝率は50/50ではなく60/40のままでした。個々のゲームログを詳しく見ると、ゲームプレイは私たちが望んでいたよりも戦略的でないことがよくありました。 収集したデータをもう一度検索すると、変更できる領域がさらにいくつか見つかりました。

まず、両方のプレイヤーの開始時の体力と、回復呪文で回復できる体力の量を増やしました。これは、より多様な戦略のセットが能力を発揮できる事を可能にするより長いゲームを奨励するためでした。

特に、これにより、ダメージ-ヒールデッキは、そのヒーリング戦略を利用するのに十分長く生き残ることができました。適切な召喚と戦略的なバイオームの配置を促進するために、クリーチャーを不正確または過密なバイオームにプレイする事に対するペナルティを増やしました。そして最後に、属性を少し調整することで、最強のクリーチャーと最弱のクリーチャーの間のギャップを減らしました。

新たな調整が行われ、これら2つのデッキの最終的なゲームバランスは以下の統計に到達しました。

DeckAvg # evolves per gameWin % (1M games)
(before → after)(before → after)
Evasion Link Gen1.54 → 2.1659.1% → 49.8%
Damage Heal0.86 → 1.7640.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に感謝します。テストプレイ、ゲームデザインのアドバイス、貴重なフィードバックを通じて貢献してくれた全ての人に感謝します。

3.ゲーム開発に機械学習を活用(2/2)関連リンク

1)ai.googleblog.com
Leveraging Machine Learning for Game Development

タイトルとURLをコピーしました