スクウェア・エニックスが最新技術を結集し、開発した『FINAL FANTASY XV(以下、FFXV)』(2016)。本作のAIは、スクウェア・エニックス社内で進められていた先端AI技術の研究によって成し遂げられた。企画の立ち上げと最新技術はどのようにマッチングしていったのか。書籍「FINAL FANTASY XV の人工知能- ゲームAIから見える未来 -」の発売を記念したAIスタッフの座談会第3回では、開発初期を知る3人が当時の様子を振り返る。

TEXT_安田俊亮 / Shunsuke Yasuda
EDIT_小村仁美 / Hitomi Komura(CGWORLD)、高木 了 / Satoru Takagi
PHOTO_弘田 充 / Mitsuru Hirota

※本記事は、「FINAL FANTASY XV の人工知能- ゲームAIから見える未来 -」の一部記事をWeb用に再編集したものです。

●関連記事
『FFXV』のゲームAIはどこまで進化したか? 書籍刊行記念『FINAL FANTASY XV』AI座談会~プログラマー編
キャラクター性とリアルさのバランスをどう取るか? 書籍刊行記念『FINAL FANTASY XV』AI座談会~デザイナー編


  • FINAL FANTASY XV の人工知能- ゲームAIから見える未来 -.
  • FINAL FANTASY XV の人工知能
    - ゲームAIから見える未来 -



    著者:株式会社スクウェア・エニックス『FFXV』AIチーム
    定価:3,200円+税
    発行・発売:株式会社 ボーンデジタル
    サイズ:B5判/4色
    総ページ数:248
    発売日:2019年5月下旬
    ISBN:978-4-86246-446-0
    © 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA

『FINAL FANTASY XV』 2 Year Anniversary 記念映像


ニーズとシーズがマッチした2012年

三宅陽一郎氏(以下、三宅):白神さんとファビアンさんは、古くから『FFXV』のAIに関わっていたということで、比較的開発の歴史が見えるような形で進めたいと思います。最初の頃、2012年くらいに僕とファビアンさんはテクノロジー推進部にいました。当初は相談ベースで技術的な案件を白神さんからいただいたんですよね。


  • 三宅 陽一郎/Yoichiro Miyake
    スクウェア・エニックス テクノロジー推進部 リードAIリサーチャー

    『FFXV』ではリードAIアーキテクトとして開発に従事。その他の代表作に『FINAL FANTASY XIV』など。2011年入社、リードAIリサーチャーとして、デジタルゲームにおける人工知能の開発・研究に従事。国内・海外での講演も務める。毎週、社内AIセミナーを主催し250回に及ぶ。人工知能学会編集委員

白神陽嗣氏(以下、白神):私が『FFXV』に合流したのが2012年で、再始動のタイミングでした。当時は、AIに関して技術的な裏付けが何もなかったので、一から三宅さんに相談していきました。その頃から、「キャラクターを動かすための仕組みをどうしよう」とか「試作の段階でキャラクターが思ったとおりにパス上を通れない」であるとか、調べたいけどどうすればいいのかわからない技術的な質問を、どんどん三宅さんに相談していって。


  • 白神陽嗣/Yoji Shirakami
    Luminous Productions プログラマー

    『FFXV』では、プログラマーとして開発に従事。主にキャラクターのAIや身体制御の基幹システムを作成。その他代表作として、FINAL FANTASY 零式など

白神:そのときに、テクノロジー推進部が研究していたテーマと、我々のニーズを合体させて、『FFXV』のAIの基礎となるシステムを三宅さんにデザインしてもらった、という経緯があります。

ファビアン・グラヴォ氏(以下、ファビアン):ちょうど僕は『FFXIV』のナビゲーションシステムを作り終わったところでしたね。そのときはステアリング(※)の研究を始めていて。時期もちょうどよかったので、具体的にゲームで使えるようにしていきました。

※ステアリング:運動をコントロールするシステム。「速度」「向き」「加速度」などを変える


  • ファビアン グラヴォ/Fabien Gravot
    スクウェア・エニックス テクノロジー推進部 リードAIエンジニア

    2004年、フランス トゥールーズのPaul Sabatier大学でコンピュータ・サイエンスの博士号を取得。2011年入社。FINAL FANTASY XIV: A Realm RebornとFINAL FANTASY XVでナビゲーションを担当。現在リードAIエンジニア。『Game AI Pro』『Game AI Pro 3』のチャプター執筆なども担当

白神:当時のステアリング技術は画期的でしたね。ぶつからないように歩くなどのノウハウがまったくなかったので、さっそくゲームに乗せる流れになったのが良かったと思います。

三宅:ちょうどニーズとシーズ(企業が持っている新しい技術・材料・サービスなど)がマッチするようなタイミングでした。メンバーも合流していき、次第に会議が大きくなっていきました。2013年からは本格的に一緒のチームになって。キャラクターの意思決定、制御周りは白神さんのチーム、パス検索はファビアンさんが柱になって基礎部分を固めていき、その上に色々なものができていったと思います。プロジェクト全体が、2人からどう見えていたかを教えていただけますか。

白神:非常に大きなプロジェクトだったので、いくら基礎を見ていたとはいえ、見えていた部分は狭かったと思います。私は仲間班として仲間のAIづくりを基礎としつつ、全体のAIを作るためのシステムを作っていたのですが、街のNPCと仲間では作りが違っていて距離感を感じました。すべてをわかった上で作れていたわけではないですね。

三宅:そこがゲーム開発の難しいところですよね。最初から完全な設計図はわかっていなくて、作りながらだんだんわかっていくと。それを先読みしつつ開発していたのでしょうか。

白神:先読みはある程度していました。最初、ニーズはもらうんですけど、プロジェクトの特性上、途中でニーズが変わることもあって。なので使われなかったものも多いですし、後から突然増えたものもあります。

日本的ゲームづくりが新たなアイデアを生んだ

三宅:今回、大きな方針としては「汎用性」というものがありました。仲間もモンスターもすべて同じ仕組みで作れるように、という方針があったので。その部分の抽出がとても難しかったと思います。ファビアンさんは、パス検索や移動周りすべてに携わられていましたけど、どのようにプロジェクトを見ていましたか。

ファビアン:基本的には白神さんと同じような感じですね。パス検索はモンスターやNPC、仲間といった色々なチームに関わっていて、すべての修正に対応するのは難しかったです。どこでどんなことが起きているかは、あまりわかっていませんでした。

三宅:AIチームは多国籍だったんですよね。確か7カ国。それをファビアンさんは上手くまとめられていました。苦労されたこととかありますか?

ファビアン:特に大きな問題はなかったです。その代わり興味深かったのは、ゲームの作り方に関して日本やアメリカで違う部分があったことです。その中で新しいアイデアが生まれていったのは良かったと思います。

白神:日本国内の作り方だけだと壁にぶつかっていたものが、各国からの経験を持ち寄ったことで、ブレイクスルーにつながったものもあると思います。それは非常に良かったですよね。

三宅:海外は汎用的に長く使えるものを少しずつ積み上げようとする傾向がありますよね。日本はどちらかというとコンテンツに寄りすぎる。引っ張られるというか。

ファビアン日本では、色んなことを試して一番いいものを残そうとするんです。だから結構新しいアイデアが出る。一方、アメリカでは最初から企画を立て、予算を取ってから一気にやる。『FFXV』で、写真や食べ物はもともとあまり計画していなかったんですよね。

© 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA

白神:入れば入れたいよね、という夢的な話でした。具体的に工数に落としていたわけではなく、ただやりたいね、くらいのニュアンスで。

ファビアン:「やりたいね」というところから始まり「できるぞ、できた、上手くいった」となったから良かったです。同じ感じで上手くいかなかったものもありますけどね。日本的なやり方だと想像外、レシピ以外のものも作れます。時間をかけられるなら、そのやり方もいいと思います。

白神:時間をかけられるならいいですよね。でも「後から技術を入れることの難しさ」という側面をすごく感じました。

次ページ:
AIグラフエディターがAI量産の目処を立てた

[[SplitPage]]

AIグラフエディターがAI量産の目処を立てた

三宅:白神さんもそうなんですが、キャラクターの意思決定や制御の仕組みを作り上げたツールに[AIグラフエディター]があります。こちらの歴史を教えていただけますか。

白神:三宅さんと相談していく中で「ビヘイビアツリー」を紹介していただいて、そこを足がかりに自作していったのがスタートでした。最初はとても大きなビヘイビアツリーができてしまって、もうどうしようかと。2~3回試作を重ねてデータを作り、それでも巨大なデータができ上がるといったときに、テクノロジー推進部が開発中だった[AIグラフエディター]と融合させてみようと。

白神:機能としては、ビヘイビアツリーのステートマシンを階層型に組み合わせられるツールだったのですが、そのおかげで表現力が向上した上に、膨大だったデータが非常にコンパクトになりました。これでAIデータを量産できる目処が立ったんですね。この[AIグラフエディター]を使って、仲間・ニフル兵・モンスター・街のNPCに至るまであらゆるキャラクターAIを作りました。

三宅:それを開始したのが2013年で。実際にデザイナーが使うようになるまで時間がかかりました。

白神:2014年上旬なので半年くらいですね。整備して実際にデータを入れてもらって、という感じです。

三宅:2014年以降は、色々な用件を入れて更新・拡張させていきましたね。

白神:さらにゲーム独自の拡張もしていって。ステートマシンは状態変化に非常に強いんですが、急な状態の割り込みには不向きでした。ゲームAIに割り込み制御は重要なので、簡単に割り込み制御ができるように拡張しました。

その他にも、複数の状態遷移を同時に走らせることで、何かを考えながら何かをするという「並列思考」をステートマシンでできるようにしています。こうして、開発と試行錯誤を繰り返していきました。

ステートマシンによる並列思考 © 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved.

三宅:今回のビヘイビアツリーで、並列思考のためのパラレルノードはあとから拡張されたものでした。開発とインタラクションしながら、システムがどんどん大きくなったり、拡張されていくのも開発の醍醐味ですね。

白神:醍醐味ですし、開発の要件があるからこそ、非常に大きく成長できました。

三宅:『FFXV』では、時期によってチーム分けが変わっていくことがありました。例えば、ある時期だとコンバット班、モンスター班、クエスト班みたいな複数のところから同時に注文が来たと思うんですが、そうした要件にどう対応していったのでしょうか。

ファビアン:チームごとに優先度とスケジュールがあったので、基本的にはそのタスクにあわせて判断していましたね。

白神:私は仲間チームに入ることが多かったので、仲間の案件を主に見ていました。ただモンスターならでは、敵ならではの拡張要件も多かったので、どちらかというと案件ベースでどんどん対応していたと思います。でも、優先順位をつけるのは難しかったですね。

PQSがなくてはならない存在に

三宅:ファビアンさんに、ナビゲーションのチームの役割分担をどのようにやっていたかをお聞きしたいと思います。チームは大体4人でしたか。

ファビアン:基本的には4人でした。主な担当はナビゲーションシステムのパス検索です。「ある地点からある地点まで、どうやって障害物を避けて行けるようにするか」ですね。動くものを避けたり、アニメーションを滑らかに動かすようにしたり、そのためにステアリングや位置検索システム(Point Query System、以下 PQS)を導入していきました。PQSは完全に新しいシステムでしたが、結構使われていたと思います。

三宅:PQSは比較的新しい技術で、ゲームデザイナーも初めて触るものでしたが、最初はピンと来なくて色々意見がありました。でも、最終的には、結構頻繁に使われていましたよね。

白神:そうですね。今はかなりの数のクエリフィルターが存在しています。

ファビアン:ほかにもシステムはあったのですが、実装までいかないものもありました。もう少し時間があれば、それらもできたのですが。

三宅:自作はしたけど、入らなかったんですよね。

ファビアン:動いてはいても、GUIみたいに簡単に触れるまでにはなっていませんでした。この経験はあとで役立つと思います。

三宅:僕が最も印象的だったのは、PQSは最初ピンときてなかったのに、最後にはこれなしでは作れなくなっていたところです。今のゲームはマップが大きく、手作業でポイントを埋め込むのが不可能に近い。だからこそ、AIのシステムで次の目標地点とか、立つ場所を動的に見つけていく機能が必要とされていたんだと。そして、アニメーションドリブン(主導)というのも『FFXV』の特徴でした。移動システムはモーションにも関わるので、そこで色々面白いことや、苦労したこともあると思います。

ファビアン:『FFXV』はAIが移動の決定をするのですが、特にアニメーションを綺麗にすることにこだわりました。でもAIとアニメーションにはまだ溝があるので、AIが動きを自動学習してもいいのかなと思います。

ただ、これには良い点と悪い点があります。良い点は、ナビゲーションがアニメーションに関わらずに動いてくれるようになること。悪い点は、学習の更新に時間がかかってしまうことです。

白神:もし次、何か機会があるのであれば、アニメーションが持つ身体能力の制限などは、静的な解析を用いて事前に計算しておけるとよりいいなと思います。

指摘やミーティングを重ねて

三宅:今の部分は全体をデザインされてきたお二人ならではのお話ですね。つまり、ゲームの技術は単に技術を作るだけではなくて、ワークフローを作ると。そこに色々なアーティスト、デザイナー、エンジニアが共同作業をして、ベルトコンベアにデータを流していく。では、そうした全体のシステム設計で、工夫されたことは何かありますか?

白神:工夫とは逆の話になりますが。理想としてはゲームデザイナーさんにとってわかりやすく、使い勝手のよいツールを提供したいと思っていました。しかし、中には使いづらいものもあったのが反省点としてありますね。

三宅:白神さんが作られた技術をデザイナーさんに使ってもらうとき、説明やマニュアルが必要だと思うのですが、その辺りはどうされたんですか?

白神:技術に明るいゲームデザイナーさんに説明をして、その人となるべく多くディスカッションをしました。そこでたたき台を作って、皆さんに広げてもらうと。ただ難しかったのは、ゲームデザイナーさんにもバックボーンが色々あって。あるゲームデザイナーさんにはフィットしても、別のゲームデザイナーさんにはフィットしないシステムがあったりと、ツールとして苦労したところがありますね。ステートマシンとビヘイビアツリー、どちらかしか受け入れられない、というケースも興味深かったです。

三宅:両方使うシステムって、なかなかないですね。そこは技術的にも、我々が特許を取った部分でもあったので。全体としては、テクニカルなAIのチームで毎週ミーティングをし、そこで少しずつデモを見せ合っていました。ファビアンさんは説明会などを設置していましたよね。

© 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA

ファビアン:使い方に関するものが多かったですね。むしろ気にしていたのは、マップ上で変化があったときのことです。ある場所で道がなくなっていて、「ここからここまでは行けなくなっているが大丈夫か」みたいな話が出てきたんですね。

白神:確かに、ファビアンさんからだと、「道がなくなったことがゲームとして正しいかどうかわからない」こともありますよね。

ファビアン:その辺りは直接確認していきました。

三宅:ファビアンさんがいろいろな場所に歩いていき、話していたのはよく覚えています。「これ合っているの、これどうしよう」みたいに。

白神:ファビアンさんが定期的に「これ怪しいです」とメールでお知らせしてたのをゲームデザイナーさんが拾って、ディスカッションして、問題がわかるというケースは多かった気がします。

三宅:そうやってみんながコラボレーションするのがゲーム開発の醍醐味ですよね。白神さんは、他の方とどういったやり取りをしていきましたか?

白神:基本的に皆さん各チームに所属しているので、毎週の定例会でそのチームの要件を出してもらい、そこで解決策を考えることもありましたし、直接相談をもらって解決したものもありました。

三宅:各チームとは、モンスター班・クエスト班・仲間班などですね。ミーティングと言っても、色々な切り方があって、AIという技術チームもあれば、モンスターというコンテンツチームもある。そういう意味では様々なミーティングがあって、調整も大変だったと思います。

白神:終盤は各班の定例会に顔を出して、何か問題が起こっていないかを確認していました。何か問題があった場合、優先度を上げてこのタスクに注力しようといったように、週替わりで調整していましたね。

三宅:それは時間がかかりますね。

白神:すべてのチームの定例会に顔を出しても、すべて掴みきれるわけではないんです。むしろそこでアラートが上がればラッキーな方で、「まだ見えていない何かがきっと潜んでいる」という状態がずっと続いていました。そこは難しい面だったと思います。

次ページ:
AI技術は重ねると掛け算になる

[[SplitPage]]

AI技術は重ねると掛け算になる

三宅:データの管理の話に移ります。[AIグラフエディター]には、ものすごく深い階層のデータができていたようですが。

白神:仲間の[AIグラフエディター]のデータが非常に大きなサイズになっていました。なるべくコンパクトになるデータ設計になっているんですが、それでも巨大なデータになってしまって...。一回データをビルドするのに、4人の仲間のキャラクターでは5分くらいかかっていました。最終的に、開発のイテレーションサイクルは良くはなかったです。軽いキャラクターはそこそこ速くビルドできたんですが、仲間のビルド時間には苦労しました。

ファビアン:ナビゲーションデータでは、マップが大きくなるとつながるデータも大きくなります。例えば「橋を1本消したら、影響はもしかしたら何十キロ平米に広がるかもしれない」ということがありました。だから簡単に削ることができなくなっていって。

白神ナビゲーションデータの難しさは、ワールドマップのデータをビルドしつつ、その上に乗るダンジョンや街のデータを作ってマージしないといけない点ですね。それを読み込んで、作って、焼き付けて、というのは非常に時間がかかった印象がありました。

© 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA

三宅:お二人はある程度は別々に開発していました。それが絡み始めたときは、どんな形だったのでしょうか。

白神:意思決定ツールでは、例えばポイントクエリ検索をして、そこへ移動するようなノードができ上がっていくタイミングがあって、まずはそこですね。また、ナビゲーションシステムからもらえるデータを活用して歩く、というときにも融合していきました。

三宅:AI技術の組み合わせの妙だと思うのは、「掛け算」になることなんですね。そういう融合がシナジーを生み出していったのだと思います。

見えない敵を避けるバグ

三宅:最後はQA(品質保証)の話です。AIはダイナミックなシステムなので、QAが必要なんですよね。頭の悩ませ所だと思うのですが、教えていただけますか。

白神:意思決定のQAは非常に大変でした。というのも、動きがアニメーションによって変わってしまったのか、それともAIのデータによって変わってしまったのかが、すごくわかりづらかったんです。

AIからはアニメーションに対して動けって言ってるはずなのに、実際は動かなくなっていたり。もしくはちょっとした仕様のずれで、パラメータが上手く渡っていなかったりして。QAさんから「キャラが動きません、固まってしまいました」と報告があったときに、なぜそうなったかを調べるのは本当に苦労しました。これまでのゲームよりも、圧倒的に大変だったと思います。

理由ははっきりしていて、各チームで耐えられるよう汎用的に柔軟な設計をしていたがため、直接的に動かすというより、どこが抽象的な動かし方をするようになっていたんです。つまり、体は体、頭は頭、アニメーションはアニメーションと分けて作っていた。なので、どこの狭間で動きを失ってしまったのかが非常に追いづらかったんです。これにどう対応したかと言うと、非常にマンパワー的と言うか、ものすごく人手をかけていって。アニメーター、プログラマー、ゲームデザイナーの皆さんで、デバッグした思い出がありますね。

三宅:1つのバグを直すのに1日がかりですか?

白神:1日がかりとまではいきませんが、それぐらい骨の折れる作業でした。バグそのものは、本当につまらないものなんです。ゲームデザイナーさんから最も心配されたのは、同じ状況がいつ起こるかわからない不安ですね。ここは、テストの自動化システムをもっと多く作っていれば、回避できたものもあったと思っています。

三宅:安定化するタイミングはいつでしたか。

白神:データをいじり続けるうちは、壊れて直してを繰り返していきました。データをいじる頻度が減るにつれて、安定してきたようなイメージです。

三宅:ファビアンさんは、データやシステムの品質保証をどのように進めたのでしょうか。

ファビアン:ナビゲーションデータ上で、変化があったところは赤くなって可視化されるようなシステムを作っていました。バグがあるときは、データとプログラム側の両方に可能性があるので、どちらも修正していましたね。1つ印象的だったバグは、スポーンする前の準備中の敵を避けるように、ナビゲーションが作られていたことです。つまり、「見えない敵」を避けていたんです。

© 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA

三宅:パスとしてもAIとしても間違っていないのに。

ファビアン:複雑に要素を重ねているから、そこに気づけないんですね。

白神:[AIグラフエディター]でも、基礎のシステムをテストするための仕組みを用意しました。修正しても、このテストを通れば安定してリリースできる、というものでした。ですが、システム同士をつなげた後に起こった不具合を検出する仕組みは、用意できませんでした。

三宅:システム単体でのテストはOKだったけど、掛け算するときに現れたと。特にキャラクターは色々な技術が積み重ねられていましたからね。

白神:ほとんどの不具合が「アニメーションとAI」に関するものでした。なので、こうした組み合わせでも、自動テストを作っていかないとダメだと痛感しました。

三宅:今言われたのは、AIとアニメーション、心と体のつなぎ方という、これからのキャラクターの課題と思っている部分です。意思決定と体をどうつなぐかは哲学的な問題にもなりますが、特に正解がない世界です。お二人に最後の質問なんですが、これからどういう点を改善すれば、AIが良くなっていくでしょうか?未来への展望をお聞かせください。

白神:テストをどんどん自動化することで、クリエイターさんたちがテストではなく、知恵を出すところに時間をかけられるようにしたいと思っています。また、機械学習は1つの大きなテーマですね。すべてではなく、ある一部分だけでも機械学習が取って代わるようになれば、もしかすると表現力が1つ壁を越えられる可能性もあると思います。

ファビアン:そうですね。自動化できれば、まだ改善できると思います。それと『FFXV』はアニメーションドリブンであり、AIはがんばってアニメーションに合わせています。そうした新しい手法が出てきたのが面白いですね。

アニメーションを綺麗にしたいという思いはありますが、優先度を最も高くするべきは、プレイヤーが楽しく遊べることです。あくまでゲームが面白くなるように、AIを使っていけたらと思います。



●関連記事
『FFXV』のゲームAIはどこまで進化したか? 書籍刊行記念『FINAL FANTASY XV』AI座談会~プログラマー編
キャラクター性とリアルさのバランスをどう取るか? 書籍刊行記念『FINAL FANTASY XV』AI座談会~デザイナー編

  • FINAL FANTASY XV の人工知能- ゲームAIから見える未来 -.
  • FINAL FANTASY XV の人工知能
    - ゲームAIから見える未来 -



    著者:株式会社スクウェア・エニックス『FFXV』AIチーム
    定価:3,200円+税
    発行・発売:株式会社 ボーンデジタル
    サイズ:B5判/4色
    総ページ数:248
    発売日:2019年5月下旬
    ISBN:978-4-86246-446-0
    © 2016-2019 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA