ニュース

“目的”を設定したAIが劇的な場面を作り出す。「アサシン クリード オリジンズ」のNPCの行動

3月19日~23日開催

会場:San Francisco Moscone Convention Center

 GDCの最初の2日間はチュートリアルとして、様々なテーマでのカンファレンスが行なわれる。ゲームでの様々なAIの使い方を議論するAI Summitで、UbisoftのGameplay ProgrammerであるJean-Marie Santoni-Costantini氏は、「GOING OFF-SCRIPT: REFACTORING THE NPC MISSION SYSTEM IN 'ASSASSIN'S CREED: ORIGINS'」というタイトルで講演を行なった。あらかじめ作られた“台本”ではなく、AIの組み合わせでプレーヤーがきちんとストーリーを体験できるNPCミッションシステムを紹介した。

UbisoftのGameplay ProgrammerであるJean-Marie Santoni-Costantini氏

 今回の講演で取り上げられる「アサシン クリード オリジンズ」は、2017年10月27日に日本でも発売されたシリーズ最新作。これまでのシリーズ以上の「自由度」を実現したオープンワールドRPGとなっている。プレーヤーは主人公・バエクとなり、紀元前48年ごろのプトレマイオス朝エジプトを舞台にアサシンのオリジン(起源)にまつわるストーリーを体験することとなる。

 「アサシン クリード オリジンズ」は、「スカイリム」や「ゼルダの伝説 ブレス オブ ザ ワイルド」、「Horizon Zero Dawn」などのタイトルでお馴染みのオープンワールド型のゲームとなっている。プレーヤーは自由にフィールド内を動き、冒険していく。シナリオが設定されている軸となる物語は用意されているが、そのシナリオだけでなく、多彩なサブクエストがプレーヤーを物語世界に没入させていくのだ。

 そして「アサシン クリード オリジンズ」は、NPCのAIシステムが、サブクエストにリアルな感触をもたらしている。Santoni-Costantini氏が最初に提示したのはバエクが待ち受けていた仲間の依頼を受け、捕らわれ護送されている仲間の少年を助けるというミッション。フィールドにいた仲間達に話しかけると、バエクと仲間達は近くの「待ち伏せポイント」に移動する。仲間達は護送の馬車がポイントを通過したところで行動を開始する。プレーヤーも仲間達と動きを合わせ、馬車を攻撃する。

AIが作り出す劇的な場面として紹介された馬車の襲撃ミッション。プレーヤー達による待ち伏せで、馬車が混乱、その混乱の隙を突いて護衛を蹴散らす

 攻撃に対し、馬車の護衛も馬車を守るために動き始める。馬車の御者は襲撃を察知して馬車のスピードを上げようとするがバエクの弓が御者を射貫く。混乱の中敵は全滅、バエクは馬車の扉を開け少年を救出する。仲間や少年は感謝の言葉をバエクにかける。

 これらの展開はあらかじめ設定されていたものではなく、各NPCのAIによってもたらされたドラマだとSantoni-Costantini氏は語った。開発チームが求めたのは「目標意識を持つNPC」である。NPCは“役割”により様々な目的が与えられる。「防御」という目標を持っているNPCが、前哨基地でパトロールを行なっており、現状はくつろいでいる。

 探索を行なっているNPCはプレーヤーの姿を探し求めており、行動として探索を行ない、状態は緊張している。ボディーガードのNPCは、目標は特別なNPC。役割としては護衛で、状態はリラックス、など、明確な行動目的、対象とするキャラクター、状態などを設定させておくことで、キャラクターは自立的に動く。NPCの移動や行動をその都度命令しているのではなく、目標を設定しておくことで自分から動いているように見える自然なキャラクター描写を可能にしているのだ。

 これらの自立的なNPCのAIが組み合わさることで臨場感のある場面が構築できる。Santoni-Costantini氏は、先ほどの少年の救出ミッションを例に説明した。まず襲撃側のキャラクターは、待ち伏せポイントにいて、敵が一定の範囲に入ったら行動を開始する。隠れ場所から出て馬に乗り、馬を駆って馬車の前に出ようとし、馬車を護衛するNPCに戦いを挑む。

 護衛側のNPCにも護衛という目標が設定されているが、襲撃を感知することで行動が変化する。御者を攻撃されると護衛が集まり、馬車を守るようにするのだ。実はプレーヤーが介入しないと、襲撃を感知したNPCは馬車のスピードを上げ逃げ去ることもできてしまう。しかしプレーヤーが御者を射貫くことで馬車が止まり、防御態勢となった敵と、襲撃する見方の混戦が発生するのだ。敵と味方の目的を持ったAIがプレーヤーの介入で、より臨場感のあるの場面を生み出すのである。

 このほかにもAIの例としてSantoni-Costantini氏はプレーヤーをフォローするAIを紹介した。プレーヤーが馬に乗れば一緒に乗り物に乗る、ミッションを妨げない行動をする、敵が攻撃してきたら戦い、そうでないときはプレーヤーへの追従を再開するなど、状況や目標を設定することで自然な行動が可能だ。

AIによるイベントの効果は開発を効率化させる一方で、ミッションが無機的になる可能性もある。バランスをどうとっていくかが課題だ
様々なやらせたいこと、維持させたいこと、相反する条件付けが、AIを止めてしまう可能性も。こういったときもバランスや優先順位が求められる

 このようにNPCに目標を設定し、AIで行動を決定させることで、デバッグはスピードアップし、グローバルミッションの改善、シミュレーション化による決定などのメリットがある。しかし反面、技術に頼りすぎてしまうこと、ミッションが機械的になってしまうことも考えられる。どのようにバランスをとっていくかを考えるのが重要だとSantoni-Costantini氏は語った。

 また行動のバランスも大事だ。現状を維持する力変えようとする操作、例外を望む想いなど、様々な要素がNPCの行動を刺激し、NPCの行動に干渉する。NPCにどのような行動をさせたいか、どんな場面を作り出したいか、様々な要素を考えつつ、バランスをとっていくことを考えたいとSantoni-Costantini氏は講演を終えた。

NPCに役割を持たせ、明確な目的を設定させる
待ち伏せから行動する襲撃側のNPCと、プレーヤーの公家機で防御行動に出る防御側。この組み合わせで劇的な場面が生まれる
プレーヤーを追尾するNPCも様々な条件付け、役割で個性的なキャラクターに