イベント
[GDC 2021]「ウォッチドッグス レギオン」の“ロンドンの人々の誰もが主人公”となるゲーム性を支え,その世界における“社会”を築いたAIシステム・Census
ほぼすべてを仲間に加えることができるロンドンの人々は,ゲームキャラクターとしてのスキルだけではなく,年齢,性別,出身地,家族構成や性格,趣味,家族関係,そして,それらの素性に見合ったファッションと日常生活までが設定されている。本当に多種多様な人々が登場し,それに驚かされたプレイヤーも少なくないはずだ。
この,本作における重要な部分となるゲーム性を支えたAIシステムを解説するオンラインセッション「Census: The Systemic Backbone Behind Play As Anyone in 'Watch Dogs: Legion'」が,先週(日本時間2021年7月20日〜24日)開催されたGDC 2021にて行われた。
「ウォッチドッグス レギオン」公式サイト
[GDC 2021]主人公のいない「ウォッチドッグス レギオン」で自動生成されたミッションシステムの仕組み
Ubisoft TorontoでリードR&Dプログラマーを務めるユリー・ホーネマン氏がGDC 2021でオンライン講演し,自身が関わった「ウォッチドッグス レギオン」のミッションシステムのついて解説するセッションを行った。NPCをリクルートできる本作において,ミッションシステムをどのように構築したのだろうか。
キャラクタープロフィールの仕組み
強権をふるう民間軍事企業「アルビオン」やさまざまな悪事を働く巨大犯罪組織「クラン・ケリー」などによって抑圧された街となった近未来のロンドン。本作でプレイヤーは,ロンドンの自由を取り戻すためレジスタンス活動をする「デッドセック」の視点で物語を進めるのだが,固定の主人公キャラクターはなく,街を歩く人々をリクルートして募ったメンバーを切り替えながらさまざまなミッションに挑むことになる。
こうした,NPCをリクルートしてプレイヤーキャラクターにするという「Play as Anyone」(どのキャラクターでもプレイできる)のコンセプトをより深みのあるものにするため,NPCそれぞれにしっかりとしたパーソナリティを作成していく必要があった。それを行うのが,Censusの中核をなす第1レイヤーである「キャラクタープロフィール」である。
具体的には,それぞれのキャラクターのプロフィールには19種にも及ぶカテゴリーからなる「人口統計フィールド」が用意されており,どのカテゴリからスタートしても双方向的に作用しながらキャラクターのパーソナリティが生成されていく。
例えば,「粋なお婆さんの声」を選択した場合,「出身地」や「人種」は多様な種類の中から選ばれるが,「年齢層」は70〜80代に限定され,その年齢層から年金を受給して暮らす退職者や,子どもの世話や教育をする保育従事者のナニー(nanny)といった「職業」が設定され,特定の人物像が作られていくのである。
これはさらにFlood Fill Algorithmというアルゴリズムによって,より正確に規定されるという。例えば,「職業」にアルビオンの契約警備員が選ばれると,「成人」もしくは「中年」という年齢層だけが選ばれ,「若年」や「高年」は自動的に選択肢から外れる。こうしたフィールドが19方面から狭められ,それぞれのキャラクターに見合った“その人の人生”を自動生成していくわけだ。
この「職業」の細かな振り分けは,「ファッション」にも連結している。例えば「会計士」であれば,年齢層は「若年」「成人」「中年」「高年」が選ばれ,ファッションタイプ「ビジネスフォーマル」が選択される。さらに,若者と成人は「ビジネスカジュアル」,中年と高年は「ビジネストラディッショナル」というオプションが用意されており,年齢で異なる着こなしとなっていくのだ。。
さらに柄や色なども変わっていくので,会計士1つをとっても多岐にわたる見た目が作り出される。プロフィールのフィルターも存在し,アルビオンなりクラン・ケリーなど特定の勢力に属するキャラクターなら,ある程度決まった職業やファッションなどが選ばれていくのだ。
こうした個々のキャラクターデータは,キャッシュを利用するために初期設定中にビットフィールドとして統計的に記憶領域に割り当てられる。上記のような特定のフィールドが,そのキャラクターに許可されるものであれば「1」に,許可されないなら「0」にしたマトリックスとして処理されるため,パフォーマンスに負荷なく多くのキャラクターのデータを処理できるというわけだ。
もちろん,こうしたデータ化によるキャラクターの表現ではさまざまな問題も起こり,例えば当初は「若年」と「高所得」で生成される職業は「プロサッカー選手」しかなかったために,バーチャルロンドンの若者の30%近くがサッカー選手になるという事態も起きた。デバッグ過程においては,高所得者の割合を減らしたり,選択される職種を増やしたりといった具合で調整されていったようだ。
キャラクターシミュレーション
2番目のレイヤーが「キャラクターシミュレーション」だ。これは,個々のキャラクターがゲーム世界で何を行うのかをシミュレートするもので,彼らの日常生活のスケジュールが設定される。「朝8時になったら郊外から出勤してくる」「時おりアパ―トを出て,自分の住む地域の政府建物の前でプラカードを持ってデモを行う」といったスケジュールおよび行動範囲や行動パターンが,各自の「職業」や「社会的アイデンティティ」などから決められ,ゲーム世界におけるバックストーリーや存在目的を与えるのだ。
ゲーム世界に出現するキャラクターは,プレイヤーキャラクターの周囲の「Loading Bubble」と名付けられた一定範囲だけに限られており,ゲームをプレイするたびに何百万もの人が一斉にゲームマップ上で活動を始めるのではない。イメージとしては,透明の点として表現されたNPCが動き回っており,その点がプレイヤーの周囲(バブルの中)に入ったときにそのキャラクターが生成され,バブルの範囲外になるとデータのみが残ってゲームの裏で管理されるという仕組みになっているという。
NPCのスケジュールは,スクリプト化されてそれぞれのデータにあるのではなく,その都度「Contracts」がダイナミックに生成されるという。Contractsとは,「現時点でこのキャラクターは,このような活動をしている」,「その活動には,このようなアクティビティも混じっている」,そして「それらの活動がどこで行われるか」という3つの条件をもとに,そのキャラクターの行動を決める3つの条件だ。
その上で,個々のキャラクターはその人間関係を表現するための「Relationship Contracts」によって,よりパーソナルな行動がシミュレートされる。これは,「Dynamic Profile Constraints」というデータで制御されており,こうしたNPCが新しく生成される場合は,必ず最低でも1人の別のキャラクターとの家族関係が生み出され,子供がいる場合は,同じ人種になるよういくつかのルールが設けられている。
これらの人間関係やキャラクター設定は,プロフィール上のテキストとしてだけ存在しているのではなく,実際に恋人と家族,もしくは友人らとの密接な関係をビジュアルとして表現することも重要なポイントだった。職場の人間との立ち話やランチ,仕事が終わったあとの家族との約束,恋人とベンチに座って親密に話しあう……といった家族や知人同士のものだけではなく,知らない人と路上で話し始めるといったダイナミックなものも含まれているという。そういったアクティビティをどこで行うのかは,34MB分のキャッシュを使ってあらかじめ指定されているとのことだ。
なお,警備員たちは,プレイヤーのミッション中や戦闘状態などを考慮し,こうしたスケジュールに管理されないようになっている。ミッション中,「帰宅時間だ」と急に戦線離脱してしまって敵がいなくなり,ミッションクリアが簡単になることを防ぐためだ。
NPC一人ひとりが持つ“記憶”
では,こうしたキャラクター情報は,プレイヤーの視点ではどのように可視化されていくのだろうか? それは「Upres」(シミュレーションの精密化)という仕組みで段階的に行われるという。
第1ステージは,プレイヤーが路上の特定のキャラクターに興味を持った時点で生成される。プレイヤーがキャラクターのプロファイル表示を確認すると,「名前」「職種」(年収規模で設定),そして「年齢」の3つと,そのゲームプレイアビリティが表示され,この時点でキャラクターのスケジュールが生成されて固定されるのだ。
プレイヤーがそのNPCをリクルートの対象と判断すると,Upresは第2ステージに移行。その人物の過去を作成してテキスト化するメタデータ,関係性のあるほかのキャラクター,仲間にするためのミッションなどが追加される。ミッションに登場する人物やその関係性もこのとき作成されるようだ。
こうしたCensusの演算は,「Operations」と名付けられて構造化され,さらに「Operation Manager」によって一元化されて処理される。これによって,NPCはゲーム世界の存在としてロックされ,一度ゲームを終了して再びログインしても情報は失われないようになる。
リクルートのミッションに成功するか否かは,そのキャラクターが持つ「Affinity」レベルによって変化する。Affinityレベルは雇用されることがない人物の0から,デッドセックのメンバーの10まであり,ほぼ全てのランダムNPCはその中間にある。
Affinityレベルを上下する重要なものの一つが,「Intrigues」と名付けられたNPCの「記憶」だ。プレイヤーならご存じであろう,プレイヤーが暴行を働くとその人物本人と関係者がデッドセックを嫌ってリクルートが難しくなったり,逆に手助けをすることで否定的だった考えが変わってリクルートが可能になるというものである。
NPCをより人間的なものにし,さらに当事者だけではなく家族や友人といった周囲の人間にも影響を与えるこの要素は,ゲームシステムとしてはもちろん,オープンワールドの世界に社会を構築したという意味でも,とても興味深く,そして意義深い要素だろう。
こうして,とてつもないほどの情報量とその組み合わせでロンドンの人々が作られていたことを知ると,単に「どのNPCでもプレイヤーキャラクターになる」というだけではない「Play as Anyone」の言葉の重みが感じられた。
オープンワールドゲームのNPCと言えば,暴走する車や目の前の銃撃戦に震えて縮こまったり逃げまどったりしているかと思いきや,しばらくするとすべてを忘れたように歩き出すといった無機質な存在というイメージがある。そんなNPC一人ひとりを,これまで生きてきたその歩みを持つ人間として生み出し,彼らによる社会をゲームの中で築き上げたCensusは,新たな可能性を感じさせる技術だと感じた。
「ウォッチドッグス レギオン」公式サイト
4Gamerの「GDC 2021」記事一覧
- 関連タイトル:
ウォッチドッグス レギオン
- 関連タイトル:
ウォッチドッグス レギオン
- 関連タイトル:
ウォッチドッグス レギオン
- 関連タイトル:
ウォッチドッグス レギオン
- 関連タイトル:
ウォッチドッグス レギオン
- この記事のURL:
キーワード
(C)2020 Ubisoft Entertainment. All Rights Reserved. Watch Dogs Legion ®, the Watch Dogs Legion ® logo, Ubisoft, and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S.and/or other countries.
(C)2020 Ubisoft Entertainment. All Rights Reserved. Watch Dogs Legion ®, the Watch Dogs Legion ® logo, Ubisoft, and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S.and/or other countries.
(C)2020 Ubisoft Entertainment. All Rights Reserved. Watch Dogs Legion ®, the Watch Dogs Legion ® logo, Ubisoft, and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S.and/or other countries.
(C)2020 Ubisoft Entertainment. All Rights Reserved. Watch Dogs Legion ®, the Watch Dogs Legion ® logo, Ubisoft, and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S.and/or other countries.
(C)2020 Ubisoft Entertainment. All Rights Reserved. Watch Dogs Legion ®, the Watch Dogs Legion ® logo, Ubisoft, and the Ubisoft logo are registered or unregistered trademarks of Ubisoft Entertainment in the U.S.and/or other countries.