AI最前線の現場から【スクウェア・エニックス】 ゲームそのものを認識するメタAI
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/10016_main.png?itok=5MJLlQCb)
はじめに
前回までを通して、キャラクターの身体と頭脳を統べる「キャラクターAI」について解説しました。今回は、キャラクターAI以外の人工知能である「メタAI」と「ナビゲーションAI」について解説します。
メタAIとは
ゲームの内と外の境界にあり、この2つを繋ぐ役割を持つ「ゲームシステム」というものがあります。ゲームシステムは、例えばコントローラーの入力をゲームに反映し、ゲーム自身をスクリーンに展開します。このゲームシステムを知能化したものがメタAIです。
メタAIは身体を持たないAIで、ゲームの進行を監視しながら、より面白くなるようにゲーム全体をディレクションする役割を持っています。「LEFT 4 DEAD」(Valve, 2009)、「Warframe」(Digital Extremes, 2013)などのゲームでは「AI Director」 という名前で呼ばれ、緊張度の緩急をコントロールするAIとして実装されています。ユーザーのプレイログから現在の緊張度を計算(監視)して、緊張度が低いと考えれば敵をたくさん出現させ、緊張度が高いと考えれば敵の出現を中止します。つまり、敵の出現と消滅によって人工的に緊張度をアップダウンさせています。
「FINAL FANTASY XV」では、メタAIを戦闘の調整に使用しています。例えば、プレイヤーと各仲間の状態を監視して、プレイヤーがピンチの時は一番近くて都合が良い(攻撃などの行動をしていないなど)仲間を選んで、最優先で駆けつけるように指令を出します。戦闘中にメタAIが仲間に与える指示としては、以下のようなものがあります。
- プレイヤーや仲間のピンチを助けよ
- プレイヤーが敵に拘束されているから助けよ
- プレイヤーが逃げているから追従せよ
- 作戦が発動したのでそれに合わせた行動をせよ
このような指令によって戦闘を引き締め、戦闘全体に緩急を与える役割を持っています(図1)。
2.ナビゲーションAI
ナビゲーションAIは、ゲームの地形を認識する人工知能です。どんなに複雑な地形でも、行きたい場所への経路や自分がこれから行くべき場所を発見する人工知能でもあります。経路を検索する人工知能を「パス検索」、自分が今の状況で行くべき場所を見つける人工知能を「戦術位置検索」と呼びます。つまり、ナビゲーションAIには2種類があります。
- 戦術位置検索システム:行くべき場所を発見する
- パス検索システム:行くべき場所へ経路を発見する
パス検索システム
人間であれば、新しい場所に来たときでも一瞬で「どこが歩けて」「どこが歩けないか」を判断できます。新しい部屋、新しい平野、判断の難しい沼地でも、必死に「どこが歩けるか」を本能的に探そうとします。人間は本来的に、このような高い環境把握能力を持っています。
一方、人工知能がゲーム世界でキャラクターを動かそうとすれば、人間と同様に「どこが歩けるか」を認識しなくてはいけません。その仕掛けが「ナビゲーション・データ」で、キャラクターがゲーム内で歩ける場所を「ポイント・データ」や「メッシュ・データ」として表現したものです。特にそれぞれのメッシュが隣のメッシュのリンクデータを持っているデータを「連結メッシュ・データ(networked mesh data)」と呼びます。通称は「ナビゲーション・メッシュ」と呼ばれています。
「FINAL FANTASY XV」のキャラクターは、このナビゲーション・メッシュ上で「A*アルゴリズム」を利用して目的地までのパス検索を行います(図2)。目的地までの最短経路(正確には最少コスト経路)を計算してくれるので、その経路を辿れば目的地までたどり着くことができます。
ナビゲーション・メッシュは大局的な移動に大きな力を発揮しますが、ナビゲーション・メッシュのサイズ以下になると、とたんに小回りが利かなくなります。そこで、局所的な領域のためにポイントを指定してキャラクターを辿らせるようにしています。これを「スマート・ウェイポイント」と呼び、ゲームデザイナーがポイントを置いて局所的な領域でも細かくキャラクターの経路を制御できるようにしています(図3)。
またナビゲーション・メッシュは、作成後の本質保証(QA:Quality Assurance)が重要です。作成したナビゲーション・メッシュは、下記のような観点でチェックする確認する必要があります。
- きちんと全体が作れている。(当たりモデルがなくて作れていない場所がないか)
- 全体が繋がっているか(狭い道などで途切れていないか)
- 必要のない場所に作られていないか(間違って繋がっている箇所に広がっている)
これらのチェックを、例えば50マップあれば50マップ分をチェックする必要があるわけです。そこで、ナビゲーション・メッシュの全体像(図4)を開発内のWebで誰もがチェックできるようにしておくことが重要になります。
戦術位置検索システム
3次元のアクションゲームやストラテジーゲームなどでは、キャラクターが戦況に応じて「適切に位置取りをする」必要があります。例えば、プレイヤーを囲むモンスターであれば「プレイヤーの視線が通らない背後から攻撃できる距離に位置取りしたい」、仲間であれば「プレイヤーの背中を守るように位置取りをしたい」「飛び道具で攻撃するために敵から距離を空けたい」、などです。
これが何もない野原で起こる戦闘であれば特に問題なく決定できます。しかし、実際には起伏や岩や木々やダンジョンの中で戦闘が起こります。従来は「そのマップがどんな形状か」をゲームデザイナーが把握して、事前にキャラクターごとのに立ち位置を指定したデータを作成していました。しかし、その手法が可能だった理由は比較的マップが狭かったこと、一方向の回廊などでキャラクターの立ち位置が限定されていたことです。現在のゲームで主流のオープンマップ、つまり移動の自由度が高い「FINAL FANTASY XV」のようなゲームでは役立ちません。そこで、ゲーム内でキャラクターが動的に戦術的位置を見つけられる「戦術位置検索システム」を導入しています。
戦術位置検索システムは、次のようなシステムです(図5)。
- ポイントを生成するプロセス
探索したい領域にポイントを均等に生成する - フィルタリング・プロセス
必要のないポイントをフィルタリングする(振い落す) - 残ったポイントに評価値をつけて最も最適な(最高点をつけた)ポイントを選ぶ
![](/sites/default/files/article_node/24_PQS_With_Credit.png)
図5:戦術位置検索システムの原理。AIは自動的に地形を把握して戦術的に最適な位置を割り出し移動する。弓兵(AI)が次の目的地を発見するプロセスは以下のようなステップになる。(i) ゲーム現状 (ii) AIを中心に点をグリッド状に生成し配置する (iii) 足場の悪い点を除く (iv) 敵の近くのポイント、弓が届かないポイントを除く (v) 味方の近くを除く (vi) 最も高い位置にあるポイントを選択。このようにして自分の最適な戦術位置を自分自身で発見する
もちろん、このような方法がこれまでにもなかったわけではありません。例えば「Killzone」(Guerrilla Games, 2005)では、すでに同様のシステムが実装されていました。しかし、ゲームエンジンの中でツールまで完備された形で実現したのは「CRYENGINE(CRYTEK)」 (2010, Tactical Point System)が初めてで、現在では「Unreal Engine 4」 (Epic Games)の「EQS(Environment Query System)」でも実装されています。スクウェア・エニックスでは「PQS(Point Query System)」として実装しています(図6)。
図7はキャラクターの周りの位置検索システムの評価値を示したものです。危険なところは赤く、安全なところは青くなっています(図7)。全体が四角いのは最初のポイント生成がグリッド型であるため、中心が空いているのはプレイヤーからの距離を取るようにフィルタリングしているからです。
PQSでは、ゲームデザイナーがツールから「生成」「フィルタリング」「評価」それぞれのプロセスをカスタマイズできます。このようなツールを導入することで、従来はプログラマの領域だった位置解析技術をゲームデザイナーが行えるスキルの1つになりつつあるのです。
おわりに
本連載では、現代における最新デジタルゲームの人工知能技術を紹介しました。本連載を数行でまとめれば、次のようになるでしょう。
大局的には「メタAI」がゲームをメーキングし、「キャラクターAI」が最小単位であるキャラクターの頭脳としてユーザーの体験を作って行きます。
ゲームステージの多様性は「ナビゲーションAI」によって吸収され、各ステージの固有性をうまく使えるようにメタAIとキャラクターAIをサポートします。
キャラクターAIにはそれぞれ役割が与えられ、その役割を果たせるように「エージェント・アーキテクチャ」のフレームの中で、それぞれのモジュールをカスタマイズして行きます。
特に、意思決定モジュールはその要であり、精緻に作りこまれるようなツールが提供されます。
「FINAL FANTASY XV」では、現時点における主要な人工知能技術が実装されています。その人工知能技術とゲームコンテンツを深く結びつけることで、高いレベルのコンテンツをユーザーに提供しています。
また、本連載で紹介した人工知能の技術と機能をまとめると図8のようになります。ゲームAIには大きな分野概念の箱があり、その箱にはそれぞれの問題を解決する人工知能技術が入っています。「メタAI」「キャラクターAI」「ナビゲーションAI」「身体」「学習」は長いゲーム開発の歴史の中で形成されて来た大きな分野であり、そこに属する個々の人工知能技術は、元々アカデミックな人工知能技術をさまざまなゲームの要請に合わせてカスタマイズされた技術です。
デジタルゲームのAI技術は「仮想空間」という特性を通して高いレベルの知的活動をその世界に再現し、また早いサイクルで進化をくり返し鍛えられて来た技術です。その技術的立場、学問的立場はユニークなものであり、他の人工知能技術と連携しながらも、ある程度独立した大きな分野を形成します。今後、デジタルゲームの外側にもこれらの技術がさまざまな形で応用されることで、社会的にも大きな影響力を持つようになるでしょう。
【第4回参考文献】
FINAL FANTASY XV 公式サイト
http://www.jp.square-enix.com/ff15/
エリック・ジョンソン
「スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人工知能技術の開発事例」
https://www.youtube.com/watch?v=BV2GTGbSjq8
Arjen Beij, Remco Straatman, William van der Sterren
Killzone’s AI : Dynamic Procedural Combat Tactics
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 「FFXV」に活かされたAIとは?「Pokémon GO」に続くARゲームの登場も間近か…日々進化するゲーム業界のAI・ARに迫る
- AI最前線の現場から【スクウェア・エニックス】デジタルゲームのための人工知能入門
- AI最前線の現場から【スクウェア・エニックス】 キャラクターの身体を作る
- AI最前線の現場から【スクウェア・エニックス】ゲーム・キャラクターはどのように意志決定するのか
- レベルエディタでゲーム中のフィールドを作成する
- Azure/Windows 10/IoT/Docker 新技術盛りだくさんのde:code 2015レポート
- クアルコムがメタバース関連ファンド「Snapdragon Metaverse Fund」を設立、スクウェア・エニックスと協業へ
- スクウェア・エニックスプロデューサー安藤氏を迎えた、FIXER主催講演会レポート
- AIR 1.1日本語版登場!
- ゲームのデザインデータの作り方