ニュース
【GDC 2014】「Bioshock Infinite」エリザベスに命を吹き込むAI実装事例
主人公を導いく優秀なコンパニオンはトライアンドエラーの結果の産物だった!
(2014/3/20 13:37)
「Bioshock」シリーズの最新作として6年ぶりの新作となった「Bioshock Infinite」。架空の浮遊都市“コロンビア”を舞台としたアクロバットなアクション、「Bioshock」ならではの濃厚なストーリー性が話題を集めたが、「Bioshock Infinite」最大の魅力と言えるのがヒロイン“エリザベス”の存在だ。
エリザベスはストーリー上の重要人物であるだけでなく、主人公と合流後はパートナーとして行動を共にする。エリザベスは、人々が暮らすエリアでは、その人々に対して様々なインタラクションを取ったり、会話を通じて主人公にヒントを与えてくれたり、時には主人公に先行する形で行動したりする。戦闘時は戦闘の邪魔にならない位置に隠れて、弾薬を与えてくれたり、敵の種類や位置を教えてくれたりする。実に魅力的で楽しく、そして優秀で頼れるパートナーだ。
Irrational Games Lead Programmer John Abercrombie氏のセッション「Bringing BioShock Infinite's Elizabeth to Life: An AI Development」は、エリザベスというキャラクターに命を吹き込むことに成功したAIの実装事例について語るという貴重なセッションとなった。
Abercrombie氏がまず最初に説明したのは、Irrational Gamesのコアとなる哲学だ。それは“Player Facing”と呼ばれる概念だ。プレーヤーはキャラクターを通じてゲーム世界にアクセスし、他のキャラクターとインタラクションを取ることによって多くの情報を獲得する。キャラクターは当然、一定のリアリティを持つものでなければならず、すべて説明するのではなく、様々な形を通じてキャラクターに関する情報を与えなければならない。そのキャラクター同士の接点として重要になるのが、AIというわけだ。
ひとつの好例としてAbercrombie氏は演劇を挙げた。大げさなジェスチャーやキャラクターの動き、セリフ、演技など、Abercrombie氏は演劇はゲームAIを考える上で参考になると考えているようだ。
エリザベスのAIを検討する際、ルーティンワークを行なうコンパニオンAIや、ひたすら主人公の後ろを付いてくるパートナーAIも検討されたが、早々に却下された。その上でプロトタイプされたのは、現在の形に繋がる、一定の自立性を持ち、プレーヤーの行動からある程度切り離された形で自由な行動を採るAIだ。課題は、自由に行動するプレーヤーの行動をどう予測するかということと、どうやって追いつくのか、そしてAI特有の不自然な動きをどう克服するかだ。
そこで考案されたアプローチの1つがブロッキングだ。ステージ上で、あらかじめゴールと移動経路を設定しておき、その上で、その一歩先にエリザベスが移動し、様々なインタラクションを行なわせるという考え方だ。これにより、エリザベスは常にプレーヤーの目にとまり、彼女のインタラクションから各種情報を得ながらゲームを進めていくことができる。
Abercrombie氏は、AIの移動経路などをラインで示した特殊バージョンのプロトタイプのデモを見せながら、実はエリザベスは引かれたラインの上を、主人公から一歩先を行く形で動かしていることを示して見せた。ちなみにデモでは意地悪く、明後日の方向から、急に向きを変えてゴールに向けて走って行ったところ、余所に関心を向けていたはずのエリザベスがありえないスピードで追いつき、そして追い抜いていき、場内では笑いが起こった。意図的に行動すると粗が出てきてしまうが、普通にプレイしている分には、破綻のない、Player Facingの原則に沿った優れたAIデザインと言える。
基本行動はできた。次のフェイズでは、それをどう自然に見せるかとなる。Abercrombie氏はまずエリザベスの視線に着目した。エリザベスのAIは、基本的にキャラクターの前方の付かず離れずの位置にエリザベスを置く形となり、彼女の立ち居振る舞いは常にプレーヤーに見られることになるからだ。
Abercrombie氏は、視線を置く先は、“限られたいくつかの我々にとって関心のあるオブジェクト”を基本原則に、彼女専用の視点マーカーを生成するシステムを用意した。任意設定と自動生成を組み合わせ、エリザベスはいずれかのオブジェクトに視点を向ける。その上で、あまり遠くを見たりしないことや、プレーヤー自身も見えるものであること、一箇所を長く見過ぎないといったルールを設定し、エリザベスの視線行動がプレーヤーから見て自然に映るように調整していった。
続いてのデモでは、その視点調整が組み込まれたエリザベスのシーンで、エリザベスは実に色んな所を見ていることがわかる。こうしたひとつひとつの積み重ねが、エリザベスというキャラクターにリアリティを生み出していっているわけだ。
エリザベスのAI事例の中で、とりわけユニークだったのが、コンバットシーンの処理だ。製品版では、エリザベスは常に安全地帯に隠れながら、敵の位置や情報をもたらしてくれるだけでなく、弾薬を投げ渡してくれたりする。エリザベスのAIの素晴らしさを実感させられるシーンだ。
当初は、通常シーンと同じように常に画面内にエリザベスを表示させるAIを考えていたというが、彼女の位置にかかわらずどうしても射線をふさいでしまい、フレンドリーファイア(味方打ち)が発生してストレス源になってしまう。デモでは、エリザベスを視界内に入れた状態のプロトタイプを見せてくれたが、確かに笑ってしまうほど邪魔だ。
その結果、当然の帰結として、コンバットシーンでは彼女を視界の外に出すことに決める。しかし、視界の外に追い出すだけでは、Player Facingの理念に背いてしまう。彼女にコンバットシーン限定で何かのロールを与える必要があると考えた。
そこで考え出されたのが、エリザベスが戦場から役立つものを拾って主人公に投げ渡してくれるアイテムトスのシステムだ。しかし、これも最初はうまくいかなかったという。当初は、ステージの地形やオブジェクトに対して偽りのない実装を検討していったところ、それらオブジェクトが障害となってエリザベスがアイテムをうまく受け渡すことができなかったという。
そこで、エリザベスが視界の外にいることを利用してフェイクを用い、現在のいつのまにか絶妙な位置から絶妙なタイミングで受け渡してくれるシステムに改良を加えたという。そして彼らはそれだけでは十分でないと考え、見えない位置から声で、敵の存在や位置などを教えてくれるシステムを実装する。バトルのヘルプになりながら、彼女との一体感が増す素晴らしいシステムと言える。
彼らが心がけたのは、単に自然で優秀なAIを実装するというだけで無く、AIの助けによって主人公とエリザベスの間で一種の信頼関係が構築されていくことだという。これはプレイした人ならご存じの通り、ストーリー上重要な伏線となっており、ストーリーテリングの技法のひとつとしてAIが使われているのは素晴らしいことだと思う。Abercrombie氏は今後も引き続きコンパニオンキャラクターに関するAIを研究していきたいという。それが「Bioshock」の新作になるのかどうかは不明だが、新たなAIのチャレンジに注目したいところだ。