解決策
オンラインマルチプレイヤーゲームのバランス調整は、通常は遅いループを意味する。数千回の人間によるプレイテストで負荷をかけ、フィードバックを取り入れ、再設計し、テスターとデザイナーが納得するまで繰り返す。GoogleのStadiaのエンジニアたちは、このプロセスが時間がかかるだけでなく不完全でもあると述べた。ゲームの役割、スキル、絡み合うメカニクスが多いほど、微妙な欠陥がすり抜けやすくなるのだ。
彼らの対抗策は、機械学習モデルをプレイテスターとして機能するよう訓練することだった。Chimeraは、手作りのAIを書くのが難しくなるよう、大きな状態空間と不完全情報を意図的に備えて作られたデジタルカードゲームのプロトタイプである。彼らは、盤面を画像としてエンコードしたものから勝利確率を予測するよう畳み込みネットワークを訓練した。エージェントはランダムな手から始め、その後は自分自身と対戦し、各反復でデータの品質とプレイの強さを高めていった。
シミュレーション対戦は数百万回に及び、人間のテスターが生み出せる量をはるかに超えた。データは、従来のセッションが見逃していたものを明らかにした。Evasion Link GenデッキがDamage-Healデッキに60%の確率で勝つこと、キメラ進化はデザイナーが考えていたより強力でありながら意図より少ない頻度で起きていること、そしてT-Rexクリーチャーが強すぎることだ。エージェントは、誤ったバイオームや過密なバイオームに対するペナルティに関係なくT-Rexをプレイした。デザイナーは進化のエネルギーコストを3から1に下げ、T-Rexのクールダウンを2倍にしたが、勝率は60対40のままだった。
ゲームログの2回目の精査で、対戦がまだ浅すぎることが判明した。開始時の体力と回復を上げて対戦を長引かせ、バイオーム配置のペナルティを増やし、最強と最弱のクリーチャーの差を縮めた。最終的な100万回の対戦では、Evasion Link Genの勝率は59.1%から49.8%に下がり、Damage-Healは40.9%から50.2%に上がった。一方、1対戦あたりの平均進化回数は1.54から2.16へ、0.86から1.76へと増えた。チームは、通常は数か月のプレイテストが必要だった不均衡を数日で発見し修正したと報告した。
達成したこと
自己対戦MLエージェントは、人間には到底及ばない規模でプレイテストを行う
うまくいった理由
数百万回のシミュレーション対戦はバランスを統計に変える。60対40のデッキ格差は、数十回のセッションから得た漠然とした予感として残るのではなく、集計データの中に現れる。
自己対戦は手作りのルールなしでブートストラップする。ランダムなプレイがループを開始し、各世代が自身のデータを改善し、画像状態に対する単純なCNNが、従来のAIには複雑すぎるゲームを学習する。
エージェントは報告するのではなく実演する。ペナルティがあっても常に強すぎるT-Rexをプレイし、デザイナーの盲点を否定しようのない、実行可能なものにした。
安価な反復こそがすべてだ。ルール変更は数日で100万回の対戦にわたって再テストされ、同じ小さなモデルがクライアント内のCPU上で動作してライブの勝利確率を表示する。
応用できること
品質のループが遅い人間のテストに依存しているなら、数百万回の試行を実行できる安価な合成ユーザーを構築し、それが明らかにするパターンに合わせてルールを調整せよ。数か月のテストが数日に短縮される。
その後
バランス調整の作業は、100万回のシミュレーション対戦で2つのデッキがほぼ互角になったところで終了した。エンジニアたちは、特定して修正するサイクルが、数か月のプレイテストが常態だったところで数日で回ったと述べた。彼らはさらに、単純なニューラルネットワークが人間や従来のゲームAIに対して高レベルなプレイに達し、同じエージェントが後に新規プレイヤーを指導したり、デザイナーが想像もしなかった戦略を浮かび上がらせたりできると付け加えた。この記事自体が、MLはゲームの中だけでなく、ゲーム開発のループにこそ属するというチームの主張だった。
出典をたどる
出典
- Leveraging Machine Learning for Game Development Google AI Blog · ai.googleblog.com ·
- Leveraging Machine Learning for Game Development (Hacker News discussion) Hacker News · news.ycombinator.com ·