イベント
[CEDEC 2015]「FFXV」で導入されるゲームAIの仕組みが明らかに。ゲームエンジン「Luminous Studio」の先進的AIシステム
スクウェア・エニックスがCEDEC 2015で行ったセッション「FINAL FANTASY XV -EPISODE DUSCAE- におけるキャラクターAIの意思決定システム」は,これまで表舞台であまり語られることのなかった,Luminous StudioにおけるAIシステムの設計思想とその構造が語られる興味深いものだった。そこで本稿では,セッションの概要をレポートしよう。
ゲームにおけるAIとは何か
その三宅氏は,まず「ゲームにおける人工知能とはなにか」という基本から説明を始めた。
三宅氏の定義では,「知能とは,環境と自分を動的に調和させる機能のこと」であり,言い換えれば「環境を理解して,行動を選択する」のが知能の基本的な振るまいといったところか。
知能は「認識→意思決定→運動」という流れを経て,世界に影響を与える(反応を返す)のだが,入力に対して単純に反応するだけの微生物のような知能では,頭が良い知能には見えない。そこで認識,意思決定,運動の各段階において,その結果を記憶として蓄積し――つまり「学習」だ――,それを今後の意思決定における参考データとして,解釈のために参照できるメカニズムを実装しておくことも必要になる。
簡単にいえば,記憶が蓄積されて過去の経験から学んだ行動を起こせるようになると,より高度な知能として振る舞えるようになるわけだ。
さて,「ゲームにおけるAI」では,この「意思決定」の部分で定番とも言える簡易モデルがいくつか考案されている。Luminous Studioでは,こうした意思決定の簡易モデルから「ビヘイビア(振る舞い)ベースAI」と「ステート(状態)ベースAI」の2種類を使用して,AIを構築していくことを選択したそうだ。
Luminous Studioでは,これら2種類の長所を取り入れるために,ハイブリッド型のAIシステムを開発することにしたのである。
Luminous StudioのAIエンジン「Luminous AI」の概要
ゲームエンジンであるLuminous Studioの一部として,AIを実装するためには,プログラマ以外の非エンジニア系スタッフ――プランナー(企画)やデザイナー(アーティスト)――にも分かりやすく使いやすいツールで,キャラクターの知能を設計,開発できることが求められる。
そこで,まずはゲームAIに必要な概念をリストアップして,これを分類し,そこから必要な要素を実装していくという設計方針で検討を始めたそうだ。
さて,近代ゲームにおけるAIは,主に「メタAI」「キャラクターAI」「ナビゲーションAI」の3大要素に分類される。そのため,大枠としての設計方針もこれに従うことになる。
メタAIとは,ゲーム世界の進行を司る大局AIで,具体的にはストーリー進行やイベント進行を制御するものだ。キャラクターAIは,その名のとおり,キャラクターの行動を司るAIで,ゲーマーが「ゲームのAI」と聞いたときにイメージするのはこのタイプだろう。最後のナビゲーションAIは,キャラクターなどが移動するときに,合理的な移動経路を割り出す用途に使われている。
今回のAI開発プロジェクトでは,Luminous Studio向けのAIエンジン全体を「Luminous AI」と称し,そのうち,キャラクターAIは「Lumionus AI Graph」,ナビゲーションAIは「Luminous AI Navigation」と呼ばれているそうだ。
Lumionus AI Graphは,「キャラクターのアタマ(脳みそ)を開発するツール」という位置づけで,ノードとノードを結線してフロー図を作るようなグラフツールとして開発された。テキストでコードやスクリプトを書くのではなく,グラフツールで設計させるアプローチは,非エンジニアでも使える,分かりやすさを目指したもので,最近のゲーム開発ツールの定番だ。
一方のLuminous AI Navigationは,Luminous AI GraphでキャラクターAIを設計していくときに,経路探索機能が必要になったときに呼び出される仕組みとされた。
なお,メタAIは,より大きな概念となるため,タイトルごとに独自開発する場合と,Luminous AIのツールを用いて作る場合があるとのこと。たとえば,Luminous AI Graphは,必要に応じてメタAIの内部を構造化する用途に使うこともあるそうだ。
Luminous AI Graphの基本機能
三宅氏による基本アーキテクチャの説明に続いては,スクウェア・エニックス 第二ビジネス・ディビジョンの白神陽嗣氏と並木幸介氏が登壇し,Luminous AIに実装されたツールや機能の紹介が行われた。
白神陽嗣氏(第二ビジネス・ディビジョン,プログラマ,スクウェア・エニックス) |
並木幸介氏(第二ビジネス・ディビジョン,AIプログラマ,スクウェア・エニックス) |
1つめのテーマは,ビヘイビアツリーとステートマシンという異なる構造のAIを,どのように組み合わせて実装したかである。
ループ構造のステートマシンと,木構造的なビヘイビアツリー。これらを統合するのは難しい問題のように思えるが,開発チームは大胆な実装法で,これらを統合させたという。具体的には,両構造で共通要素となっている部分を互いに使いあえるようにして,独自要素となるグラフ構造は,互いに階層構造をとれるように統合させたのだ。
もう少し詳しく説明しよう。まず,AIの構成要素,すなわちロジックを記述する各ノード(機能マス)は,ある種の部品として,ステートマシンとビヘイビアツリーの両方で共有できるようにした。
そして,ここがユニークなのだが,ステートマシンとビヘイビアツリーという構造の異なる部品を,それぞれ組み合わせられるような仕組みを実装したのだ。これにより,ループ構造のステートマシンを構成するノードの一部を,ビヘイビアツリーとしたり,逆にビヘイビアツリーにおけるノードの一部を,ステートマシンのループ構造にしたりできるようになった。
白神氏は下のスライドを例示して説明する。スライド左の図が,設計中のAIだとする。リンク線(遷移線)の多い,とても複雑なステートマシン構造だ。左図の右側には,AIによる攻撃行動が縦に列挙されている。
ここに,攻撃行動を1つ追加しようとした場合,単に「新しい攻撃アクションノード」を追加するだけでは済まない。というのも,スライド右側にあるように,攻撃の意思決定を行っている複数のノードそれぞれから,追加したノードにリンク線(右側の赤線)を引かなければ,追加したノードが起動しないためだ。意思決定ノードがたくさん存在するほど,引かなければならないリンク線も増えるわけで,これは作業が非常に冗長なものとなってしまう。
そこで,右端の攻撃ノードを階層化してひとまとめにする。こうすることで,新しい攻撃行動を追加する場合でも,この攻撃ノートの階層に1つノードを追加して,攻撃ノード階層の根本にリンク線を1つ張るだけで済む。そのうえ,上層に当たるステートマシンのリンク線もすっきりして,ロジックの全体像も見渡しやすくなるなど,まさに一石二鳥というわけだ。
Luminous AI Graphでは,AIグラフの中だけで使える共有変数空間として「ローカルブラックボード」を,ゲーム進行に関わるパラメータのやりとり用に「グローバルブラックボード」を用意したとのこと。
4つめのテーマは,似たような構造のAIを作りたいときに,コピー&ペーストを繰り返して制作するような手間を省くための工夫だ。具体的には,2種類の機能が用意されている。
1つめの機能は,汎用性の高いAI部品を一塊の「アセット」として登録できること。アセット化されたAI部品は,プロジェクトのAI制作者が共有して使えるAI部品になると同時に,アセット自体に変更改良を加えると,そのアセットを使って制作されたすべてのAIで,該当のアセットを最新状態に更新できるという。
アセットを編集する様子を動画で撮影したので,参照してほしい。
もう1つの機能は,「よく似た構造のAIで,ノードの一部だけを変更したものを作りたい」という要望を実現するために導入された仕組みである。これは,「オーバーライド」というもので,もとになるAI部品を一部だけ変更して新しいAI部品を作る機能だ。この仕組みでは,もとのAI部品に変更を加えると,その変更はオーバーライド機能で作ったAI部品にも反映されるという。これにより,似たようなAIの共通部分を,1つ1つすべて修正する必要がなくなるわけだ。
以上のように,Luminous AI Graphには実用性の高い工夫が,多数盛り込まれていることが分かるだろう。
FFXV開発を進めていくなかで実装されたLuminous AIの機能
続いて白神氏は,Luminous AIを実際にゲームへと組み込んでいく過程で求められた,3つの機能群について説明した。Luminous Studioベースで開発されているゲームというのは,もちろん「FINAL FANTASY XV」(PS4 / Xbox One,以下 FFXV)のこと。すなわち,白神氏が挙げた3つの機能は,FFXV開発過程でLuminous AIに搭載された機能といえよう。
1つめの機能は,制作したAIのデバッグ機能だ。
デバッグ機能は2種類あり,1つは,Luminous AI Graphのツール画面上でAIグラフ画面を見ながら,実行しているAIのどの部分が実行中なのかを確認できる「ビジュアルノードデバッガ」。もう1つは,さまざまなパラメータや実行ログなどを確認できる「インゲームデバッグウインドウ」だ。
具体的な流れはこうだ。通常AIとイベント演技用のAIをそれぞれ個別に用意しておき,通常AIを実行中にイベントを発生させる必要が生じたら,そこに割り込み実行をかける。割り込みが発生すると,通常AIからイベント演技用AIの実行へと切り替わり,そのイベント演技AIが終了すると,通常AIに復帰する。これにより,「ゲームプレイ→イベント→ゲームプレイ」の遷移をシームレスに実行できるわけだ。
なお,前述のブラックボード機能を使って,状況に応じたパラメータをブラックボードにセットすることで,イベント演技AIにバリエーションや環境適応能力を持たせることも可能となっている。
トレイに複数のP-Startノードを設定すると,ステートマシンとビヘイビアツリーのどちらに対しても,並列実行を行えるようになるのだ。
ユニークなのは,P-Startを設定したAIノード階層ごとに,その並列思考レベルが変わると言う点だ。たとえば,最上層でP-Startを設定すると,常に並列思考するAIを作れる。一方で,下の階層にP-Startを設定すると,その階層下に実行が移ったときだけ,並列思考するようになる。
具体的な例を挙げよう。最上階層で「索敵」と「歩行」にP-Startを設定しておくと,そのキャラクターは常に歩きながら索敵するようになる。それに加えて索敵の下層に,複数の目標がいる場合にどれを攻撃すべきかという「攻撃対象選択」と,選択した目標に対する適切な攻撃手段を選ぶ「攻撃手段選択」をP-Startで設定しておく。すると,索敵範囲内に複数の目標が入って戦闘状態に遷移したときに,目標選択と攻撃手段選択を同時に行うAIを作れるわけだ。
FFXVでLuminous AIはどのように使われているのか
Luminous AIの機能説明に続いて並木氏は,開発途中のFFXVとLuminous AI Graphを見せながら,FFXVにおける実際のAI作例を説明した。残念ながら,その映像は掲載できないので,ここでは公開された写真を使って,概要だけをまとめることにしたい。
さて,FFXVの場合,街の住人といったNPCは,大枠の行動決定を行う社会行動が書かれたスクリプトシステムと,社会行動のディテールを設定したLuminous AI GraphベースのAIと組み合わせた実装になっているという。
また,キャラクターのアニメーション制御は,ビヘイビアツリーによる意思決定AIから直接アニメーションを呼び出すのではなく,ステートマシンによる身体制御AIを介して制御するようになっているそうだ。意思決定部分と身体制御を分離するこの仕組みの実装により,NPCが周囲の環境を認識して,その環境に適した自然な動きをとれるようになっている。
今後のゲーム表現で重要となるといわれる「AIとアニメーションの相互連携」を,Luminous AIはすでに導入しているといえるだろう。
攻撃対象を選択する「ターゲットサーチ」機能は,この視覚センサを活かしたサブシステムで,目で見た対象の攻撃優先順位を算出するという働きをするものだ。
PQSは,移動先の候補をデータで制御できる仕組みで,モンスターごとに個別のPQSデータを作っておくことで,そのモンスター固有の基本移動パターンを制作できるというもの。PQSデータとは,そのキャラクターから見た移動先の候補地点データ群のようなもので,これをうまく与えることで,目標の周りを一定距離を空けて回る,といった動きが設定できるようになる。これまでなら,プログラマが個別に制作していたモンスターの歩行/移動パターンを,このPQSデータを作り込むだけで制作できるようになったそうだ。
一方のステアリングは,視界情報をもとに動的な回避行動をとりながら移動するシステムだ。群れで行動している複数のNPCに同じ目的地を与えると,NPC同士で衝突しやすくなってしまう。そこでステアリングを利用すると,与えられた目的地に向かって,障害物を避けながら到達できるようになるわけだ。
セッションのレポートは以上のとおり。主な内容は「スクウェア・エニックスでは,これだけ先進的なAI制作環境を構築しています」というアピールといったものだったが,裏を返せば,「現行世代のゲームにおけるAIは,ここまでやる必要がある」という新基準を示す内容だったようにも思える。
思い返せば,PlayStation 3やXbox 360世代のゲームは,グラフィックスこそ前世代から格段に向上したものの,アニメーションやAIによる行動の品質が,それに見合っていないタイトルが多かった。スクウェア・エニックスとしては,Luminous Studioでこの壁を打ち破ろうとしているのであろう。
また,このセッションからは,これから新たなAIシステムを構築しようとしているゲーム開発者にとって,多くのヒントが得られたのではないだろうか。とくに,ステートマシンとビヘイビアツリーで互いに階層構造をとれる仕組みは,話を聞く限りにおいては,非常に応用範囲が広くて汎用性にも優れているように思えた。これに各種の知覚システムやナビゲーションAIを組み合わせたシステムは発展の余地も大きくありそうだ。
Luminous AIはこれで完成形ではなく,今後も進化していくそうなので,2016年に発売されるFFXVでは,現在リリースされている体験版「FINAL FANTASY XV -EPISODE DUSCAE-」よりも賢くなったAIキャラクター達に出会えることになるだろう。今から楽しみだ。
CEDEC 2015 公式Webサイト
- 関連タイトル:
FINAL FANTASY XV
- 関連タイトル:
FINAL FANTASY XV
- この記事のURL:
キーワード
(C)2016 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA
(C)2016 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA
- ファイナルファンタジー XV 初回生産特典 武器「正宗/FINAL FANTASY XVオリジナルモデル」アイテムコード同梱 - PS4
- ビデオゲーム
- 発売日:2016/11/29
- 価格:¥999円(Amazon) / 1180円(Yahoo)