イベント
「生き生きとした18世紀のパリ」を表現してみせた「Assassin's Creed Unity」の群集とイベント制御手法
NPCの制御に関して興味深い内容が盛り込まれていたセッションだったので,その概要をレポートしたい。
ACUにおけるNPC制御のポイントは
「4徒党群集システム」にあり
Assassin's Creedシリーズは,今や定番ジャンルとして確立したステルスアクションゲームに属するが,ほかの同ジャンル作品と決定的に違うのは,「陰に隠れる」のではなく「群れに隠れる」ことを歴代シリーズ共通のテーマにしてきたことである。
そこで,群集表現の目標として掲げられたのは,「実際に人が生きているかのようなパリの街並み」。具体的には,街に暮らす市民がそれぞれに意志を持って行動しているかのような群集表現の実現だった。
ただ,ACUはあくまでもゲームであるため,リアリティだけを追求した群集シミュレーションを実装しただけでは意味がない。「プレイしたときの分かりやすさ」も重要になるという。そこでACUでは,パリの街に暮らす群集NPC(プレイヤー以外の市民など)を4つのFaction(徒党,派閥の意味)に分類した。
1つめはExtremist(過激派)で,トラブルメーカー的なNPCだ。後述するAllyやCivilian,プレイヤーが操作する主人公に対しては攻撃的な態度を取るが,衛兵との争いは避けようとするAIが実装されている。
2つめはAlly(自警団)で,Civilianを意識的に守るような習性が与えられている。ゆえに過激派とは揉めがちで,両者が鉢合わせるといざこざが起こりやすい。主人公はCivilianと見なされているので,自警団のNPCは主人公を支援するような行動を取ることが多いのも特徴だ。
3つめはGuard(衛兵)で,いわゆる警察官的な立場のNPCだ。中立的な態度を取り,自警団と過激派の揉め事を見かけると仲裁に入るし,仲裁がうまくいかない場合は戦闘モードに突入することもある。主人公に対しても中立だが,剣を抜いて歩くような挑発行為をしたり,目の前で殺人を行うと,殺した相手が善人だろうが悪人だろうが「平和を乱す者」と認識して攻撃を仕かけてくる。
4つめはCivilian(市民)で,中立的な立場で最もかよわい存在だ。
この4徒党群集システムを実装したことで,パリの街中で平和な場所もあれば,争いごとが起こる場所もあるといった具合に,平穏と混沌が入り乱れる「生きた街並み」がそれなりに表現できたと,Blondeau氏は振り返っていた。
また,4徒党群集システムは,リアルな街の表現だけでなく,ACUのゲーム性にも大きく貢献しているそうで,Blondeau氏はいくつかの事例を紹介した。たとえば,一度に相手をするのは困難なほど多くの過激派軍団に追いかけられたときに,大勢の衛兵が警備している地域に逃げ込めば,過激派対衛兵の戦闘を誘発させて難を逃れられるというテクニックが使えるという。
つまり,4徒党群集システムを理解すると攻略にも応用できるわけで,ゲームとしてもよくできているように思えた。
行動に目的を持つNPC達と,NPC同士の相互インタラクション
ゲームにおけるNPCといえば,ごく最近のゲームであっても,決められたルートを巡回するか,あるいは立ち止まってプレイヤーから話しかけられるのを待つ程度の制御しかされていないものを見かける。その程度の制御しかされないNPCは,ほとんどロボットのようで,ACUのリアルなグラフィックス表現に見合わない。
そこでBlondeau氏らは,ACUのNPC制御に,ゲーム世界の住人達が思い思いの行動をしているかのように見える仕組みを盛り込むこととした。
とはいっても,完全な自律行動を実現するのは処理負荷面で現実的ではないし,なによりゲームとして扱いにくくなってしまう。そこで,4徒党群集システムのように,NPC達の行動を3つの行動ジャンルに分けて制御するという簡略化したモデルを導入したのだ。行動ジャンルとは,NPCに与えられた使命や役割とイメージすればいい。
1つめの行動ジャンルは「Wanderers」(徘徊者)だ。これはいわば「モブ」と呼ばれる種類のNPCがとる行動で,要は当てもなくフラフラと歩き回る行動である。ちなみに,徘徊者達の密度や移動方向は,レベルデザイナーによって綿密に指定できるようになっているそうだ。
2つめの行動ジャンルは「Object Carriers」。日本語に訳すと「ものを運ぶ人」だろうか。職業や階級によって運ぶものは変わるが,特定の場所から場所へと何かを運ぶ行動を繰り返すという,目的を持った行動だ。ちなみに,運ぶのは物だけでなく,罪人や犯罪者といったNPCがNPCを運ぶような行動も含まれている。
3つめの行動ジャンルは「Crowd Stations」,意訳すると「人目を引く行動」といったところか。これは他のNPCを立ち止まらせたり,彼らの興味をひくような行動をするといった行動ジャンルである。徘徊者達に声をかけて立ち止まらせるような商店の客引きのような行動,と言えば分かりやすいだろうか,この行動ジャンルには客引きのほかに,踊り子や大道芸人,近くにいる人にやたらと文句を付ける変人なども含まれているという。
このように,3つの行動ジャンルをNPC達に与えることによって,それなりに混沌とした街の様子を演出することはできたとBlondeau氏は説明する。
だが,これでもまだ十分ではないと考えたACU開発チームは,行動ジャンルに加えて「相互インタラクションAI」なる仕組みを導入することで,3種類の行動ジャンルで制御されるパリの住民に多様性を与えて,より複雑な自律行動をしているかのように見えるようにしたそうだ。
徘徊者同士の相互インタラクションでは,たとえば,気のあうもの同士が出会えば挨拶したり,仲違いをしてケンカを始めたりする。店のようなCrowd Stationに興味をそそられれば,店主と会話をすることもあるそうだ。ユニークなのは,男女のNPC同士が出会って気が合うと,カップルになって手をつないで歩き出したりすることもあるという。
NPCを巻き込んで展開も変わるイベントミッション
ACUには,本編ストーリーの進行に大きく影響しない数多くのサブミッションがあり,それらは大抵の場合,NPCを巻き込んだイベントのような体裁をとる。Blondeau氏はそれを「Crowd Events」と呼んでいた。さしずめ「群集巻き込み型イベントミッション」といったところか。
Blondeau氏は,Crowd Eventにもさまざまな種類があることを説明した。
Crowd Eventには,戦闘や目的地到達,隠密殺害,公衆面前での殺害といった具合に,7種類のテンプレートが用意されている。ゲーム中では7種類のテンプレートを基本として,下に示したチャレンジ要素を組み合わせることで,イベントミッションのバリエーションを増やしているそうだ。
- Tackle the Thief(盗人を捕まえろ)
- Kill the Criminals(犯罪者を殺せ)
- Catch&Kill the Criminals(犯罪者を捕まえて殺せ)。これは「捕まえろ」型と「殺せ」型の複合イベント
- Executions(処刑せよ)
- Protect Civilians(市民を守れ)
- Stealth Kill the Messenger(密かに殺せ)
- Scare Away the Bullies(威嚇でいざこざを収めよ)
- Help the Beggars(物乞いを助けよ)
「盗人を捕まえろ」のイメージ |
「犯罪者を殺せ」のイメージ |
「犯罪者を捕まえて殺せ」のイメージ |
「処刑せよ」のイメージ |
「市民を守れ」のイメージ |
「密かに殺せ」のイメージ |
「威嚇でいざこざを収めよ」のイメージ |
「物乞いを助けよ」のイメージ |
これらのイベントミッションは,4徒党群集システムを中心としたACUのNPC管理システム全体(以下,NPC群集システム)によって,難易度を左右できるような設計となっているそうだ。たとえば,「密かに殺せ」を衛兵が一杯いる場所で実行しようとすれば,当然のごとく難易度が高くなるといった具合である。
また,イベントミッションをクリアするための道筋も,複数用意されるという。群集達の行動は,ある程度ランダム要素を含んでいるため,同じようなイベントミッションを繰り返しプレイしたとしても,同じ展開になるとは限らない。たとえば「犯罪者を殺せ」イベントで,ターゲットである犯罪者の悪事を衛兵が見ていたりすると,衛兵が犯罪者を攻撃して,プレイヤーは手を汚すことなくイベントミッションをクリアできる,ということもあるそうだ。
ACUのNPC群集システムは,リアルなモブキャラを演出するだけでなく,ゲーム戦略にも関わる要素にまで昇華しているわけで,大変興味深いシステムといえよう。
違和感のないNPCの出現や消去を実現するイベント制御の仕組み
さて,このようにACUでは,NPCの群集を巻き込んだイベントミッションが多数存在するが,その制御は,独特なシステム構造で実現されているとBlondeau氏は述べる。それは「モジューラシステム」と呼ばれるもので,おもに3つの機能ブロックに分かれている。
2つめは「Challenge」(チャレンジ)ブロックというもので,始まったミッションに対して,必要なNPCを生成したり動かしたり,あるいは不要なNPCを消去(講演ではAquisition,回収と表現)するといった制御行う。実質的に,ミッション遂行機能ブロックといっても差し支えないだろう。
3つめは「Resolution」(解決)ブロックで,ミッション目標を達成したかを判断する機能ブロックだ。ACUでは,プレイヤーが何もしなくてもNPC同士のインタラクションによって勝手にミッションが解決してしまうこともあり得るので,ミッションの成功や失敗の判定をさまざまな要件に基づいて厳密に行う必要がある。そのため,独立した機能ブロックとして構成してあるそうだ。ミッションが成功,または失敗したときの報酬や懲罰イベントの発動もここで行われる。
Blondeau氏は,イベントミッションの制御システムを開発するにあたって気を使ったのが,NPCの出現(生成)と消去(回収)だったと振り返る。
たとえば,「盗人を捕らえろ」ミッションでは,プレイヤーからやや離れた位置に盗人が現れるのだが,街中をぞろぞろと歩く群集の中から,ごく自然な形でNPCの1人が逃げ出すという形で表現されているのだという。プレイヤーから見れば,「イベントが始まったから盗人NPCが出現した」といういかにもゲーム的な処理ではなく,「盗人が逃げたからイベントが始まった」というように見えるので,プレイヤーは自然な印象を受けるだろう。
しかし実際には,イベント制御システムがイベント開始のタイミングで,盗人のNPCをシーンに出現(生成)させているのだという。しかし,何もないところにNPCを突然出現させては台無しだ。そこでどうやっているかというと,プレイヤーの視界から遮蔽されている「見えない場所」に,盗人NPCを出現させているそうだ。
複数人のNPCが出現するイベントなどでは,演算処理やメモリコストの関係から,すでにシーンに存在するNPCを消去(回収)しなければならない場合もあるが,こんなときでも,道を歩いていたNPCが突然が消えたら不自然に見える。そこでこのような場合にも,同じようにプレイヤーから見えるか否かの判定を行って,見えない位置にいるNPCを消去させてから,イベントに必要なNPCを適当な場所に出現させているとBlondeau氏は説明した。ゲーム的な処理を,違和感なく見せる工夫が,ACUにおける自然なイベント演出を実現しているといえよう。
出現のときに注意しないといけないのは,シーンには斜面や階段といった高低差があることだ。これを吟味しないと,階段や机の中にNPCを出現させてしまったり,背景オブジェクトにめり込んだ状態で登場してしまったりと,身動きできないNPCが出てきてしまう。
そこでACUでは,シーンのナビゲーションメッシュ(Navigation Mesh)を探査して,適切な場所にNPCを出現させる処理を取り入れているとのこと。ここでいうナビゲーションメッシュとは,ゲーム内のキャラクタが“どこを歩けるのか”をポリゴンなどで構成したデータで,AIの経路探索や移動可能領域探査などに利用されるものだ。
ただ,NPCが異常な出現の仕方をしても,プレイヤーからは絶対に視認されないと確信できる条件,たとえば,外から見えない建物の屋内にNPCを出現させるときは,テーブルや壁にめり込んだ状態で出現することもあるそうだ。その辺は無駄な処理を増やさないよう,臨機応変に対応しているのだろう。
また,NPC同士のインタラクション,たとえばNPC同士の小競り合いが発生しているところに,新たなイベント用NPCを出現させてしまうとイベントがおかしなことになってしまうので,NPCの出現処理はそうした条件も加味して行っているとのことだ。
セッションの概要は以上となる。筆者が初めて,ACUをプレイしたときには,
シンプルなAIモデルを組み合わせながら,NPCの相互インタラクションによって多様性を演出するというACUの手法は,スケーラブルな設計のシステムだといえる。このシステムをさらに拡張していくだけでも,より複雑なNPC制御も実現できそうではないか。
Assassin's Creedシリーズは群集表現を大きなテーマとしているので,今後登場する新作においても,新たな群集表現テーマに挑戦してくれるはずだ。シリーズの新作が登場したときには,そうしたポイントにも目を向けてみると,また違った面白さがあるのではないだろうか。
「アサシン クリード ユニティ」公式サイト
GDC公式Webサイト
4GamerのGDC 2015関連記事一覧
- 関連タイトル:
アサシン クリード ユニティ
- 関連タイトル:
アサシン クリード ユニティ
- 関連タイトル:
アサシン クリード ユニティ
- この記事のURL:
キーワード
(C)2014 Ubisoft Entertainment. All Rights Reserved. Assassin's Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
(C)2014 Ubisoft Entertainment. All Rights Reserved. Assassin's Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
(C)2014 Ubisoft Entertainment. All Rights Reserved. Assassin's Creed, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the US and/or other countries.
- アサシン クリード ユニティ(日本語版) 通常版 予約特典スペシャルコンテンツ付& UBISOFTメンバーズクラブポイント付[ダウンロード]
- Digital Video Games
- 発売日:2014/11/20
- 価格:¥3,960円(Amazon)