ゲームキャラに“命”を与える--AIをフル活用した「ファイナルファンタジーXV」

CNET Japan 2017年12月05日(火)15時01分配信

 2月21日と22日の2日間開催した本誌主催のイベント「CNET Japan Live 2017 ビジネスに必須となるA.Iの可能性」の2日目において、スクウェア・エニックス テクノロジー推進部 リードAIリサーチャーの三宅陽一郎氏が登壇。人気RPG「ファイナルファンタジーXV」を例に、ゲームにおけるAI活用事例について解説する「人工知能が拓くゲームの未来 ー FINAL FANTASY XV が見せる人工知能の世界 ー」と題したセッションを実施した。

 我々が何気なく楽しんでいるゲームにもAIが欠かせないと三宅氏は語る。同社が2016年11月にリリースしたファイナルファンタジーXVは、意思決定技術や環境解析技術、知識処理技術など多くのAI技術を導入し、自身が操作するキャラクターやNPC(ノンプレイヤーキャラクター)に命を与えている。同ゲームタイトルは主人公4人がオープンワールド領域を旅するRPGだが、プレイヤーが操作するのはそのうちの1人。周りの3人はプレイヤーの意図を読み取り、攻撃や援護といったアクションを選択する。ここにAI技術が活用されていると言う。

 産業革命、情報革命から続く社会変化の流れを踏まえて「現在は『知能革命』の時代に入りつつある」(三宅氏)。その結果ゲームも知能化し、ゲームの大規模化に伴うAIも独立が求められていた。そこでキャラクターの頭脳となる「キャラクターAI」、マップ上の経路検索や環境を認識する「ナビゲーションAI」、キャラクターを制御して映画監督の役割となる「メタAI」の3つに分化した。これらを実現するために同社はAIエンジン「Luminous AI」を開発。ヒートマップやアニメーション、ターゲット選択、移動先の候補データを制御するPQS(Point Query System)、パス検索、ステアリングをLuminous AIで制御し、ゲーム内のあるゆる意思決定の要件を構築するためのツール「Luminous Studio」を用意した。さらに内部的には意思決定を行う「Luminous AI Graph」と足下周りを見る「Luminous AI Navigation」から、ゲーム内のキャラクターなどを動かす仕組みだが、これらAIを用いた制御はエンジニアが担っていたものの、各GUIツールを用いることでプランナーやデザイナーが各キャラクターの頭脳を作ることが可能になったと言う。

 それでは分化したAIについて説明する。まず、状況を監視し、キーとなる役割に適切なタイミングで指示を出すメタAIは、「ゲームはシミュレーションであると同時に舞台でもある。プレイヤーが楽しめる状況を人工的に作り出すAI」(三宅氏)だ。例えばプレイヤーのHP(ヒットポイント)が少ない場合、メタAIは仲間の3人いずれかにプレイヤーを助けるという命令を出し、回復アイテムを使用する。また、プレイヤーが危険な場合、メタAIは1番近い仲間を選んで指示を出す。もしくはプレイヤーがその場から逃げた場合は共に逃げ出すといった命令を出すことも。このように戦闘全体に緩急を与えてゲーム全体を引き締める役割を持つ。

 次はキャラクターAI。「ゲーム内の敵キャラクターは人間と構造から異なり、環境や状況から得る感覚を異なる」(三宅氏)ため、環境世界から感覚によって情報を取得し、認識を形成してから意思決定、そして運動の構成によって環境世界に影響を与えるという仕組みが必要だ。この構造を実現するため、ステート(状態)ベース思考とビヘイビア(行動)ベース思考を採用し、キャラクターの意思決定構造を構築している。続いて抽象的な意思決定を行った後、走っているのか、ジャンプしているのかといった状況を状態管理し、場面に応じた行動を制限。そしてダメージを受けた際の反射的行動による身体の状態変化をキャラクターAIに伝える。その結果として描画するアニメーションを制御する「AnimGraph」を使って調整する仕組みだ。

 このキャラクターAI構造における意思決定部分について、三宅氏は「AIとは人工的な存在=身体を環境の中で活動させる」ものと定義し、人々が日常から五感を通じて得た情報(センサー)を思考し、行動に移す(アウトプット)情報ループ「インフォメーションフロー(情報回廊)」をゲーム内で採用。ロボットのエージェント構造のように、キャラクターはその場から逃げれば良いのか、剣を振れば良いのか、魔法を発動すればいいのか、といった意思決定を行い、身体を動かす。これらの仕組みを容易にするため、キャラクターの行動はビヘイビアツリー、意思決定を行うステートマシンと、両者の長所を組み合わせたハイブリッド型AIシステムを構築するのが前述したLuminous Studio内にある「AI Graph Editor」である。

 ただし、これらの仕組みをすべてのキャラクターに持たせるのは非効率だ。そこで階層型グラフシステムを導入し、データを適切な粒度で階層化する”階層化スケーラビリティ(拡張性)“を採用。その結果として不要な組み合わせを減らし、容易にステートを追加できるため、拡張性が向上すると言う。また、キャラクターの記憶を蓄積するために「ブラックボード(黒板)」を用意した。AI Graph内のみで使用する共有変数空間となる“ローカルブラックボード“と、ゲーム進行など全体に関わる変数を格納する”グローバルブラックボード“を利用し、敵の位置や速度、状態などキャラクターが認識したものを保存する。これらの情報は前述した意思決定などに用いられる。さらに「ニフル兵」のようなモブキャラクターを大量に作成する際、コピー&ペーストせずに量産させるため、部品を共有する”アセット(資産)化“と構造を共有する”オーバーライド“を採用することで、似通ったキャラクターでもわずかに動作が異なり、現実感を醸し出していると言う。

 そして地形解析や目的に応じた点を見つけ出し、パスを計算するナビゲーションAIは、カーナビゲーションシステムなどと同じ「シンプルなAI」(三宅氏)である。一般的には各ノードの評価距離を元に経路を導き出すダイクストラ法を用いるが、ゲームでは、ヒューリスティック距離も計算に加えるA*(スター)法と、歩ける領域を定める"ナビゲーション・メッシュ“を使い、キャラクターの経路を決定する仕組みだ。なお、ナビゲーション・メッシュは社員が帰った夜半に自動生成し、翌朝には開発者が視認して次のプロセスに進むと言う。さらに街中にいるキャラクターなど狭い箇所を移動させる場合は、詳細な経路を指定する”スマート・ウェイポイント“を採用する。

 最近導入されたAI技術として、「戦略位置検出システム」があると言う。一昔前はキャラクターが戦闘中に立つ位置はゲームデザイナーが設定していたが、今はキャラクター自身が地形を把握して最適なポイントを探す動的位置検索が主流だ。古くは2005年のTactical Position Pickingから始まり、スクウェア・エニックスではPQSを本タイトル用に2014年から開発している。対象となる領域にポイント群を自動配置し、目的に合わない条件を削除するフィルタリングを実施。そして残ったポイント群に対する評価式でもっとも高いスコアの点を選択する仕組みだ。このように「自律型AIの採用が進んでいる」(三宅氏)と言う。また、「攻撃モーション解析」「移動モーション解析」もゲームを作る上で重要だと三宅氏は説明する。攻撃モーション解析とは、アニメーションや攻撃衝突から自動的に攻撃距離や角度を計算する仕組みだ。移動モーション解析は旋回性能や停止性能を数値化するもの。スクウェア・エニックスではこれらの数値取得を半自動化し、工数を短縮させている。

 このように高度なAI技術を用いるファイナルファンタジーXVだが、プログラミングで大切なのはデバッグである。スクウェア・エニックスでは、AI Graph Editorと連携して実際の動きを確認する「ビジュアルノードデバッガ」と、変数の変化などを記録するログを見ながら確認する「インゲームデバッグウィンドウ」の2種類で対応。両者とも各種AIが動作=キャラクターが思考する部分は緑色のフレームで表示される。このようにAIはビジネスシーンに限らず、我々が楽しむゲームの世界でも幅広く利用されているのだ。

CNET Japan
もっと見る もっと見る

【あわせて読む】

    最終更新: 2017年12月05日(火)15時01分

    【関連ニュース】

    【コメント】

    • ※コメントは個人の見解であり、記事提供社と関係はありません。