ニュース

「FFXV-EPISODE DUSCAE-」のAI&アニメはどう作られたか?

目指せ高品質化と効率化! 双方を両立させる制作過程を公開

8月26日~28日 開催

場所:パシフィコ横浜

 スクウェア・エニックスが開発中のシリーズ最新作「ファイナルファンタジーXV」は、現在発売が最も待たれているソフトのうちの1つだろう。広大な「FF」世界のフィールドの中をオープンワールドとして駆けまわるアクションRPGである本作は未だその全貌が明らかになってはいないが、その一端をプレイできる体験版として「EPISODE DUSCAE」がリリースされている。

 「EPISODE DUSCAE」は「ファイナルファンタジー 零式 HD」の初回限定特典として提供されており、6月には「Ver. 2.0」にアップデートしているが、この「EPISODE DUSCAE」に関する2つの講演が開催中のCEDEC 2015初日にあたる8月26日に行なわれた。

 この2つの講演のテーマとなったのは、「EPISODE DUSCAE」におけるAIとアニメーションに関する制御について。「EPISODE DUSCAE」ではスクウェア・エニックス独自のゲームエンジン「Luminous Studio」が採用されており、「Luminous Studio」を使用して高品質な性能とビジュアルを目指しながら、一方でいかに効率良く制作するか、という開発上の戦略を説明するものとなっていた。本稿ではこの2つの講演内容について、ポイントを抜き出してお伝えしたい。

AIは高度に複雑にシンプルに! AIの概念から解説

スクウェア・エニックス第2ビジネスディビジョン プログラマーの白神陽嗣氏
スクウェア・エニックステクノロジー推進部リード AIリサーチャーの三宅陽一郎氏
スクウェア・エニックス第2ビジネスディビジョン AIプログラマーの並木幸介氏

 AIに関するセッションに登壇したのは、スクウェア・エニックス第2ビジネスディビジョン プログラマーの白神陽嗣氏、同テクノロジー推進部リードAIリサーチャーの三宅陽一郎氏、同第2ビジネスディビジョン AIプログラマーの並木幸介氏の3名。三氏はAIの概念の基礎から、本作におけるAI制作のポリシーを語っていった。

 そもそもAIとは、「人工的な存在(=身体)を環境の中で活動させる」もので、環境からの何らかの入力があり、その反応を行動としてアウトプットするシステムを指す。入力に対する反応は、認識の形成、意思決定、運動の構成といった過程を経るが、中でも意思決定は高度で複雑なプロセスとなる。

 意思決定モデルにも多数の簡易モデルが存在するが、ここではビヘイビア(振る舞い)ベースのAI、ステート(状態)ベースのAIが述べられていった。

 ビヘイビアベースのAIモデルは状況に応じて行動を選択するというもので、「バトル」、「撤退」、「休憩」という上層の選択肢があった時、たとえば「バトル」が選択されたら「攻撃 or 隠れる」の選択肢があり、さらに「攻撃」を選んだなら「弓を放つ or 攻撃魔法 or 剣を振る」といった選択肢があって……というように、判断が枝分かれしていく。これは「ビヘイビアツリー」と呼ばれており、適応型の行動を生成できる。

 一方のステートベースのAIは状況に対する行動をしっかりと決められるもので、例えば普段は「待機」で、敵を見つけたら「攻撃」、敵を見失ったら「パトロール」、時間が経過したら「待機」に戻る……といったように、行動をループ構造で制御することができる(ステート・マシン)。こちらは堅実な制御が可能だが、「状況によって行動が変化する」といった現象は生まれないのが特徴となる。

【ビヘイビアツリーとステート・マシン】
意思決定モデルの2種類。「EPISODE DUSCAE」ではこれらが複雑に絡み合ってAIが構成されている

 「EPISODE DUSCAE」ではこの2つのモデルの両方の長所を活かすため、意思決定モデルの“グラフ構造”と「移動」や「攻撃」といった“処理の内容”を分離し、処理の中身を2つのグラフ構造で共有できるようにした。

 これにより、ステート・マシンで制御された「攻撃」の処理の中身の下に「ビヘイビアツリー」があって、そこでの処理の下にさらなるステート・マシンがあって……というように、複雑な思考が生み出される。処理の中身は共有されているので結果は同じ行動となるが、そこに至るまでのプロセスには深みが与えられているという仕組みだ。

 講演ではこのほか、プロセスをまとめた「トレイ」を階層化することで拡張性を高めたこと、トレイをアセット化することで他モデル作りへの応用を簡単にしたこと、反応を割り込ませることで「洞窟のコウモリに驚く」といったような演出が可能になったこと、思考を並列化させることでより賢いAIに仕上げたこと、またNPC、仲間、モンスターのAIのそれぞれの特徴などなど、盛りだくさんの情報が話されていった。

AI基本構造の説明。制御された行動と状況に応じた行動が組み合わさって、AIが形成されている
意思決定モデル構造を階層化することにより、要素の追加が簡単になった
ゲーム側とAI側のやり取りをスムーズにする「ブラックボード」
その他演出の追加、賢くするための施策
NPC、仲間、モンスターなど、役割に応じてAI設計には応用が施されている。特にモンスターの挙動には力が入っており、生物的な動きも表現している

合言葉は「接地感」。細かい気配りが効いたポストプロセスに注目

スクウェア・エニックス 第2ビジネス・ディビジョン プログラマーの今村紀之氏
スクウェア・エニックス テクノロジー推進部アニメーションリサーチャーの川地克明氏

 アニメーション表現に関する講演では、スクウェア・エニックス第2ビジネス・ディビジョン プログラマーの今村紀之氏と、同テクノロジー推進部アニメーションリサーチャーの川地克明氏が登壇した。

 講演内容は、上記AIで制御された動きをどう表現していくか、というもの。アニメーション表現において、チームの合言葉となっているのは「接地感」で、これはディレクターが田畑端氏に交代してから盛んに言われているのだという。

 ここでの「接地感」は単に「足と地面がくっついているかどうか」程度の意味に留まらず、「キャラクターが環境の中にしっかり存在しているかどうか」までをも含む。そのため山を登る、洞窟を探検する(虫の大群やコウモリの群れに遭遇)、キャンプをして料理を作る、自衛隊の演習を見る、高台から日の出を見るなど、ロケハンが積極的に行なわれており、これらの体験が「EPISODE DUSCAE」内での表現に存分に活かされている。

【ロケハン】
チームが参加した「ロケハン」。自ら体験した苦労が内容に反映されていることがわかる。料理などはほぼそのまま(笑)

データをとにかく作り、ポストプロセスで調整、という手法
グラディオのモーション数公開。基本移動だけで360種類を超えている

 アニメーションでは上記AIで決定された行動をいかに「接地感」ある表現にするか、ということが命題となるが、これにはデータを量産しゲームに組み込むことで効率化をはかる「Data Driven」、またそれでは制御しきれない環境に応じた反応を付加する「Procedural」の2つのプロセスにわかれる。

 「Data Driven」の過程ではとにかく大量のアセットを用意したそうで、仲間の1人「グラディオ」では基本移動だけで360種類、AI挙動では128種類、バトルでは248種類のモーション数が作られた。ちなみにこれは「EPISODE DUSCAE Ver. 2.0」時点での数だそうで、製品版ではもっと増えることが予想される。

 アニメーション制作で主に採用されたのはモーションキャプチャーで、これはスクウェア・エニックスの映像制作チーム「ヴィジュアルワークス」のモーションキャプチャースタジオを使って、アニメーター自らがアクターとしてデータを取っていったという。

 ただし、この「Data Driven」ではデメリットもあって、データが不正なだけで簡単にバグが発生する、他の人がデータを見た時にぱっと見でわからないことがある、といった問題があるとした。

 ここで生まれた大量のアニメーションデータをフォローアップするのが、ポストプロセスとしての「Procedural」である。ここのポストプロセスではたとえばベヒーモスの尻尾が壁に、カトブレパスの頭が地面に埋まらないよう、尻尾と頭に「地形を押し返す力を発生」させて埋まることを回避したり、キャラクターを追う視線の追加、プレーヤーから攻撃を受けた時にその箇所が「ビクン」となるヒットリアクション、地形に合わせた足裏の接地、壁と手の接触、プレーヤーとモンスターの接触などなど、細かい部分まで気が配られた処理が施されることで、「EPISODE DUSCAE」ならではの世界が構築されていった。

 講演では製品版に関する新情報は残念ながら出なかったが、本講演の内容を踏まえた上で、「EPISODE DUSCAE」が手元にある人はもう1度振り返ってみるのも楽しいだろう。高品質かつ細かい気配りに期待は高まるばかりなので、今後の情報を楽しみに待ちたいと思う。

アニメーターが自らモーションキャプチャーで演じている。スタジオはかなり気軽に使用できるという
講演でいくつも挙がったポストプロセス事例。ひとつひとつが細かいが、「接地感」実現のためにはどれも必要に思える。製品版の登場がますます楽しみになる

[お詫びと訂正]
記事掲載当初、川地克明氏の写真に誤って今村紀之氏と表記しておりました。申しわけございませんでした。ここにお詫びいたしますと共に訂正いたします。

(安田俊亮)