モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
ディープラーニング機械学習モリカトロンAIラボインタビューCEDEC2019ゲームAI三宅陽一郎CGへの扉小説CG遺伝的アルゴリズムGDC 2019デバッグスクウェア・エニックスさかき漣GAN薄明のバルドは知っているVFX映画QA不完全情報ゲームガイスターボードゲームファッションSIGGRAPHニューラルネットワークイベントレポートVR音楽AlphaZeroルールベース強化学習CMAmadeus CodeメタAIキャラクターAIナビゲーションAIシーマン齊藤陽介サルでもわかる人工知能IGDAどうぶつしょうぎマシンラーニングロボットシナリオ藤澤仁ゲームブロックチェーンOpenAI Five映像ピクサーAdobe作曲ビッグデータアストロノーカナラティブモリカトロンパラメータ設計バランス調整対話型エージェント人狼知能マルチエージェントエージェントシミュレーション音声認識ロボティクスeSportsDota 2OpenAIソーシャルゲーム眞鍋和子淡路滋グリムノーツゴティエ・ボエダGautier BoedaJuliusTPRGバーチャル・ヒューマン・エージェントクーガー石井敦茂谷保伯森川幸人成沢理恵お知らせマジック・リープMagic Leap Oneノンファンジブルトークン水野勇太里井大輝GEMS COMPANY初音ミク転移学習敵対的生成ネットワークデバッギングアニメーションリップシンキングUbisoftUbisoft La Forgeワークショップ知識表現北尾まどか将棋畳み込みニューラルネットワークナップサック問題ジェイ・コウガミ音楽ストリーミングSpotifyReplica Studioamuse5Gクラウドゲーミング和田洋一Stadiaクラウド対話エンジン斎藤由多加シーマン人工知能研究所ゴブレット・ゴブラーズSIGGRAPH 2019深層学習ARマイクロソフトAIりんなアップルiPhoneカメラ完全情報ゲームAIGraph環世界中島秀之予期知能ウェイポイントパス検索ドラゴンクエストPAIR画像認識AIと倫理アルスエレクトロニカ2019DeNA逆転オセロニア長谷洋平奥村エルネスト純齋藤精一高橋智隆ロボユニ泉幸典ロボコレ2019アート宮路洋一ぎゅわんぶらあ自己中心派意思決定モデル

【GDC 2019】ソーシャルゲームのバランス調整に遺伝的アルゴリズムを応用する

2019.4.17ゲーム

【GDC 2019】ソーシャルゲームのバランス調整に遺伝的アルゴリズムを応用する

米サンフランシスコで開催されたゲーム開発者会議「Game Developers Conference(GDC)2019」で3月21日、スクウェア・エニックスの眞鍋和子氏と淡路滋氏は「Balancing Nightmares: an AI Approach to Balance Games with Overwhelming Amounts of Data」と題して講演を行いました。

両氏はスマートフォンゲーム『グリムノーツ』(2016年、スクウェア・エニックス)の運営に際し、新規キャラクターやアイテムの投入によってゲームバランスが崩れることを避けるために、遺伝的アルゴリズムを利用したチェック体制を構築したと語り、その概要とメリットについて説明しました。

増え続けるデータのもとで、ゲームバランスをどのように保つか

『グリムノーツ』は元気が開発し、スクウェア・エニックスが運営するスマートフォン用アプリです。『シンデレラ』などの童話をベースとした親しみやすい世界観と、絵本のようなビジュアルが特徴で、主人公たちはカオステラーによって歪められた世界を修復するために、さまざまな冒険を繰り広げていきます。本作は1,700万ダウンロードを数える大ヒット作となり、2018年1月には主人公などを一新した『グリムノーツ Repage』へとリニューアル。2019年1月にはテレビアニメ化も行われています。

本作のポイントは基本プレイ無料のアイテム課金モデル、いわゆる「ガチャ」によるビジネスモデルを採用していることです。ゲームはクエストの連続で進行し、プレイヤーは毎回、最適なパーティ(最大4名)を編成して挑戦します。クエスト内で発生するバトルに勝利すると経験値やアイテムなどが入手できます。プレイヤーはそれらをもとにパーティを強化した後、必要に応じてガチャを引き、新規キャラクターを入手します。その上で新たなクエストにのぞみ…といったサイクルで進行します。

ここで重要な点は、プレイヤーをゲームから離脱させないために、常に新規要素を追加する必要があることです。新規キャラクターやアイテムは好例ですが、そのためにはゲームバランスの変化を事前に確認する必要があります。強すぎるパーティの組み合わせが生まれると、ゲームの消費速度が速くなりすぎたり、プレイヤー間で不公平が発生したりして、離脱者の割合が増加します。特に昨今ではネットで短期間に攻略情報が共有されるため、ゲームバランスの事前チェックはビジネスの根幹に関わってきます。

問題は、運営を続けるうちに組み合わせの量が膨大になってしまったことです。眞鍋氏は講演時点で組み合わせの量が概算で10の182乗にも及び、人力ではチェック不可能な領域に達したと述べました。そこで必要とされたのが自動チェックの仕組みです。そこで始まったのが、新規キャラクターやアイテムを投入する際に、「強すぎるパーティの組み合わせを自動的に探す」ためのシステム開発です。そうしたバランスブレイカーを事前に発見できれば、パラメータの再調整などが可能になるからです。

遺伝的アルゴリズムで最強パーティを自動的に抽出

それでは、どのようなシステムが有効でしょうか。ここで示されたのが遺伝的アルゴリズムの活用です。優れた個体同士の遺伝子を掛け合わせて、新しい個体を生み出していくもので、品種改良などで使われている手法がベースになっています。眞鍋氏によると「アルゴリズムがシンプルで使いやすい」「有限の時間内で、そこそこ良い解が得られる」など、現実的な問題との折り合いがつけやすいメリットがあるといいます。また、本作ではオートバトルの機能が備わっていた点も導入に適していました。

具体的には、本作でパーティを構成する要素には大きく「主人公」「リーダー」「ヒーロー」「アクセサリー」「衣装」「武器」「スキルコア」「ヒーローAI」があります。これらをランダムで組み合わせて大量のパーティを作り、事前に設定した課題(=敵との対戦)に挑戦させます。その後、上位8割程度のパーティを選び、構成要素を分解します。そこから新しいパーティを編成し、課題に挑戦させます。これを300世代ほど繰り返し、最適な組み合わせを見つけ出すというわけです。

もっとも、遺伝的アルゴリズムで重要なのは遺伝子の評価方法です。ただバトルに勝てば良いというだけでなく、ゲーム内容に即した評価が求められます。実際に本作ではエネミーと対戦する「PvE」と、パーティ同士で対戦する「PvP」モードがあり、ルールの詳細が異なります。そのため前者では「素早く敵を倒すこと」、後者では「できるだけ体力を温存して勝利すること」が、メインの評価軸となります。また「PvP」では、その時点でのトップランカーのパーティ構成が対戦相手に設定されています。

実際に評価を行ったところ、「PvE」では当初は敗北続きでしたが、世代を重ねるごとに勝利するパーティが出始めました。また、世代を重ねるごとにバトル時間も短縮傾向がみられます。これに対して「PvP」でも世代を重ねるごとに、勝利するパーティが増加していきますが、成長曲線がなだらかではなく、途中で数回のブレイクスルーが発生することが分かります。なお、グラフ上で「PvE」では右下、「PvP」では右上のパーティが、最強の組み合わせを示しています。

AIをブラックボックスにしないためにデータを可視化する

このように最強パーティの構成を発見することには成功しました。しかし、ここで新たな問題が発生します。強力なパーティ構成は分かりましたが、原因が特定できなかったのです。具体的には「パーティ構成」と「戦術」のどちらが原因だったのか、結果から特定することが困難でした。そこで運用の途中から、データの可視化を進める必要性が生まれました。その結果、バトルのリプレイ機能とデータの可視化の二本立てでシステムを再設計していくことになりました。

なぜ動画のリプレイだけでは不十分なのか。両氏は「動画はバトルの状況が分かりやすいが、背後にある文脈が分からない」といいます。たとえばエース級のキャラクターが連続して必殺技を繰り出したことが、勝利に貢献したとします。動画だけでは「なぜ、都合良く何度も必殺技を繰り出せたのか」が分かりにくいですが、他のパーティメンバーの状況が可視化できれば、理由が推測できます。そこで、そうした行為を可能にするシステムが必要になったというわけです。

データ解析に用いられたのは、オープンソースのクラスタコンピューティングフレームワーク「Apache Spark」を内蔵したWebツール「Apache Zeppelin」です。分散処理による拡張に対応し、データのグラフ化がしやすく、Google BigQueryにも接続できます。Python/Rを記述して、機械学習をその場で実行することも可能です。AWS S3にも対応しており、スケーラビリティもしやすいです。Webサイト上で書いた分析コードがそのままグラフとなり、即座に追加変更でき、最新版の配布が不要(みんなでWebサイトを参照できるため)となります。

表は「PvP」の結果で、行(横列)が個々のパーティ編成を示しており、評価値ごとに上から並べられています。上の行に表記されているほど、強力なパーティ構成というわけです。個々の行は最初にバトルの結果が表示されており、続いて個々のヒーロー(1パーティにつき最大8名)の特徴が表示されています。なお、すべての情報が表示されているわけではなく、あくまで要旨に留まっている点がポイントです。つまり本データは動画リプレイとの併用を前提に、ざっくりと状況をつかむことを目的としています。

 

 

表の「result」マークはパーティが25回対戦した時の結果が、5段階毎に★◎〇△×の5種類の記号で示されています。UHADSはそれぞれ、必殺技の習得数と、体力・攻撃力・防御値・速度の6段階指数です(A~Fまで偏差値で表示)。ヒーローごとに設定された攻撃アルゴリズム(本作ではプレイヤーが自由に設定でき、ゲームの魅力の一つになっている)も確認できます。「Role Performance」はヒーローごとのバトル時における貢献度です。これらを見れば、各々の活躍の目安が分かるというわけです。

パフォーマンス向上のために必要なこととは?

このように本作では、

  1. 開発チームが新キャラクターなどを実装し、ビルドしてテストサーバ上にデプロイ
  2. 遺伝的アルゴリズムを活用して最強の組み合わせをシミュレーション
  3. 結果を確認し、必要に応じて開発チームがデータを修正する

というプロセスを経て、実際のアップデートが行われています。もっとも、この体制は運営の最中に必要に応じて構築されたもので、本来は開発の初期段階から一緒に作り上げていくことが望ましいといいます。ゲームの仕様に依存する部分が大きいからです。

中でも課題となったのがパフォーマンスの向上です。当初はシミュレーションを行う際、実際のバトルを行わず、パーティのパラメータを使った数値的な計算による結果だけを表示していました。しかし、前述のようにリプレイ動画を確認したいという要望があり、実際のゲームロジック上でバトルを行わせることになりました。これにより処理時間が一気に膨れあがりました。現在はサーバ上で並列処理を行うことで、時間短縮を行っているところで、より効率化を進めるために、ゲーム側との調整も進めているといいます。

最後に両氏は「データ肥大化の悪夢からプロジェクトを救うには、強力なサポートシステムが必要で、遺伝的アルゴリズムの応用はその一例」「AIをブラックボックスにしないためにも、データの可視化と分析が必須」「オートプレイモードなど、ゲームが自動的に進行する仕組みが求められる」などと整理。その上で開発初期からの準備が重要だと念を押しました。いざ運営が始まってからでは、抜本的な仕組み作りは難しくなるというわけです。

本作のように運営の長期化に伴い、爆発的にデータが増加するゲームは、「ガチャ」モデルに対する依存度の違いもあり、海外ではそれほど一般的ではありません。つまり日本が最先端を進んでいる分野だと言えるでしょう。それだけに聴講した多くの開発者にとって、新鮮な知見に映ったようです。もっとも、現時点で自動化されたのは「強すぎるパーティ構成」の抽出までで、その後の修正作業は人間が手作業で行っています。バランス調整のさらなる自動化に期待したいところです。

参考資料

遺伝的アルゴリズムによる人工知能を用いたゲームバランス調整

AIによる汎用的バランス調整とその可視化:グリムノーツRepage PvPの事例

Writer:小野憲史

【GDC 2019】ソーシャルゲームのバランス調整に遺伝的アルゴリズムを応用する

この記事が気に入ったら
いいね!しよう

の最新情報をお届けします

RELATED ARTICLE関連記事

AI時代の死生観とアイデンティティはどこへ向かうのか?:藤澤仁氏×森川幸人氏対談(後編)

2019.10.11ゲーム

AI時代の死生観とアイデンティティはどこへ向かうのか?:藤澤仁氏×森川幸人氏対談...

ゲームAIのこれまでとこれから:三宅陽一郎氏×森川幸人氏 対談(前編)

2019.4.26ゲーム

ゲームAIのこれまでとこれから:三宅陽一郎氏×森川幸人氏 対談(前編)

Ubisoft La Forgeの研究成果が示すゲームにおける機械学習の未来

2019.6.04ゲーム

Ubisoft La Forgeの研究成果が示すゲームにおける機械学習の未来

RANKING注目の記事はこちら