
GMOアプリクラウドは、「これからのゲーム業界の未来を皆さんと一緒に考える」をテーマに掲げるイベントを11月21日、22日に開催しました。
コンシューマに加えスマートフォンの後押しも加わり、国内のゲーム人口は4,000万人を超えたとも言われています。それに伴い、ゲーム市場も活性化。特に今年は、『ドラゴンクエスト』シリーズ最新作の登場や、ニンテンドースイッチの躍進など、明るい話題の多い1年となっています。
本イベントでは、ゲーム開発において重要な位置を占める「AI」と、『Pokemon GO』の大ヒットで一般にも浸透した「AR」について語る第一夜(11月21日)、近年注目を集める「VR」と更なる飛躍の可能性を秘める「e-Sports」に迫る第二夜(11月22日)と、それぞれで異なる内容の講義が行われました。本記事では、第一夜の講義・AI部門についてのイベントレポートをお届けします。

この部門では、スクウェア・エニックスのゲームクリエイター2名が登壇し、「デジタルゲームの中のAI、外のAI」について解説。まずは、リードAIリサーチャーの三宅陽一郎 氏が、ゲームに関わり合いのあるAIについて語りました。

「ゲームの中のAI」とは、コンテンツそのものに内在するAIを指す言葉。その中でも、敵を含むキャラクターをコントロールする「メタAI」、自立的に判断しキャラクターの頭脳として機能する「キャラクターAI」、場や周辺の情報を獲得し、メタAIやキャラクターAIが認識出来るデータを提供する「ナビゲーションAI」に細分化されます。
対照的に「ゲームの外のAI」は、ゲーム周辺(開発、現実など)に関するAIのことで、開発工程を助けたりバランス調整を行うAI、パラメータを生成するシミュレーション技術やゲームを可視化するデータビジュアリゼーションなど、こちらも多岐に渡る例が示されました。
「ゲームの中のAI」は、コンテンツにダイレクトな形で関わるもので、そのゲームの面白さに直結する部分とも言えます。対する「ゲームの外のAI」は、開発を手助けするものや、試行錯誤の効率化、利便性の向上といった役割もあります。しかし、「ゲームの外のAI」がゲームの面白さと無関係ではなく、ゲーム内容の品質保証を担う部分でもあるため、ユーザーが遊んで楽しいゲームを作る上で、両方のAIが共に重要となります。


さらに各AIについても詳しく語られ、メタAIはユーザーをなるべく楽しませるように働く自立型AIという役割です。『ファイナルファンタジーXV』を一例として出し、メタAIがない場合の仲間キャラクターは、主人公がピンチになると全員が集まりケアルをかける、と説明。しかしメタAIがあれば、ケアルをかけるのは一人の仲間だけで、残りのメンバーは引き続き敵を攻撃します。またその際に、「(回復は)任せた」と声をかけて臨場感を高め、前述にあった「ユーザーをなるべく楽しませる」という働きを見せました。

続いてキャラクターAIは、環境世界(ゲーム内の周辺状況)の情報を取り込み、まずは認識を形成。その認識を元に意志を決定し、その結果に応じた体の制御を行い、環境世界の中で判断した動きを実行します。意志決定のモデルひとつをとっても様々な種類があり、ルール(規則)やステート(状態)、ビヘイビア(振る舞い)、ゴール(目標)、タスク(仕事)、ユーティリティ(効率)、シミュレーションなど、それぞれをベースとした簡易モデルが存在。

そして「ナビゲーションAI」は、シンプルに例えると車両に搭載されているカーナビのようなもの。しかしナビゲーションと一口に言っても、ネットワーク上のグラフを検索する方法や、現在の地点から指定したポイントへの経路をリアルタイムで計算して導くパス検索など、様々な技術が用途に合わせて存在します。このナビゲーションAIを活用することで、例えば「プレイヤーの視覚から逃げるような自立型エージェント」を作成することも可能です。



こういった、ひとつひとつは小さいAIを積み重ねることで、「自分で認識し、自分で決定し、自分で目的地を決め、自分で移動し、自分で行動する」というキャラクターを生み出すことができます。三宅氏は、「最近のゲームの作り方は、キャラクター自身が全てを決める」と語り、時代と共に移り変わるゲーム開発の一端を分かりやすく解説しました。

また三宅氏は、ゲーム開発を支援する「ゲームの外のAI」についても述べましたが、こちらに関してはAIエンジニアの眞鍋和子氏が、アプリ『グリムノーツ』における事例について詳しく触れる形で語ります。

「ゲームの外のAI」の一例として、眞鍋氏は「プレイヤーエージェント」について言及。プレイヤーエージェントとは、ゲームの内部に直接アクセスすることはなく、プレイヤーと同じ立場からのみ情報を取得できるAIのこと。ゲームプレイの結果として表示される情報、例えば個々のダメージや勝敗などを元に判断します。
プレイヤーと同じ立場に限定するため、自ずと制限は生まれますが、その一方で特定のタイトルに特化しないため、汎用性の高いAIとなるのが特徴のひとつ。そしてこのプレイヤーエージェントは、プレイヤーの代わりとしてゲームを自動でプレイし、様々なデータを容易に検証することができます。同様の仕事を人間に任せるとすれば、当然ながらテスターを雇用しなければなりません。プレイヤーエージェントに任せれば、人件費をかけることなく、また効率的にテストプレイを繰り返すことが可能となるのです。

『グリムノーツ』は、複数の主人公に、それぞれヒーローや装備を編成してバトルに臨みます。もちろんヒーローの種類や装備の数は更に多彩で、組み合わせは膨大と言ってもいいほど。また、各要素は後々追加されていくので、組み合わせは更に増える形となります。

この『グリムノーツ』に用意されたプレイヤーエージェントには、各要素の中から指定されたバトルに対して最適な組み合わせを探すというゴールが課せられました。ゲーム内と同じダメージ計算式が使用されているので、実際のバトルと非常に近しい状況を再現。

その一方で、短時間で実行するべく、「必殺技なし(回復技のみあり)」「ヒーロー切り替え機能なし」などいくつかの要素を省略されています。その調整の結果、1バトルが約1秒で終わるという高速性を実現。なお、実際のゲームでは1バトルに数分かかるため、データをチェックする観点では非常に効率的です。


こうして得られたデータに対し、「バトルの内容がどれだけよかったか」という視点で評価値を算出。勝利時は「バトル時間の短さ」、敗北時は「与ダメージの多さ」という方針にのっとり判断します。そして評価値を元にパーティを改善し、再びバトルに挑戦。また、パーティ編成の改善は遺伝的アルゴリズムによって組み換えられ、パーティの要素を遺伝子として、優れた遺伝子同士をかけ合わせて新たな遺伝子を生み出します。


このサイクルを繰り返すことで、世代が進むにつれてプレイヤーエージェントが成長。開始直後は敗北続きだったプレイヤーエージェントは、次第に勝利するようになり、また世代を重ねることで戦闘時間がより短くなっていきます。

その成長過程の中で、急に成長する箇所も見受けられますが、これは突然変異が影響していると解説。突然変異が起こることで、これまでになかったような新たな手段を見つけ出し、よりより結果に結びつく局所解脱出を成し遂げてたとのこと。そして、プレイヤーエージェントによって積み上げられた結果を参考に、ゲームバランスの調整が行われます。
AIによって生成されたプレイヤーエージェントを用いることで、ゲームの面白さを左右する要素をより高めることができる事例を通して、「ゲームの外のAI」がどのようにゲーム開発に関わるのか、その有用性の一端が非常に分かりやすく解説され、今回の話を自身のゲーム作りに活かす参加者も少なくないことでしょう。

このプレイヤーエージェントは、制限が多さゆえに、チューニングに経験や工夫が必要ですが、「メリットの方が多い」と眞鍋氏は語っており、複雑化・多様化の一途を辿るゲーム開発において、今後も活躍していく要因のひとつだと感じさせられました。

また、今回のプレイヤーエージェントについて興味深い結果が報告されたので、最後に紹介させていただきます。『グリムノーツ』は、各主人公に2人のヒーローを設定し、本来のゲームであれば戦況に応じてヒーローを切り替えることが可能です。しかしプレイヤーエージェントは、前述の通りヒーローの切り替え機能が省略された設定になっています。

簡単なバトルにおいては、アタッカーを多く配置する傾向のあるプレイヤーエージェントは、戦闘を繰り返していく中で、1人目に「打たれ弱いヒーロー」(ヒーラーやシューターなど)を設定することで素早くそのヒーローを戦闘不能にし、2人目に設定されたアタッカーに切り替える、といった戦法を編み出したとのこと。
プレイヤーエージェントに対しては制限されていたヒーロー機能の切り替えを、「わざと戦闘不能にする」という手段を編み出したことで、擬似的な形で確立。この行為はまさに、AIの成長を伺わせる好例と言えるでしょう。