Mars Attracts:レトロな魅力を最大限に引き出した大物スタイルのゲームを構築する

Outlier Games が開発し、Steam で発売中の『Mars Attracts』は、エイリアンの動物園を作って運営するという、超大作のジャンルに奇抜なひねりを加えています。Outlier Games のテクニカルディレクターである Paul Froggatt 氏にインタビューし、同社の最新リリースがどのようにまとめられたか、象徴的な IP の扱いから、複雑なテーマパークのシミュレーションを強化する適切な技術的意思決定までを伺いました
Mars Attracts の起源について、読者に少し教えていただけますか。この IP を使用することになった経緯を教えてください。
『Mars Attracts』は、エイリアンの動物園の展示物として人間を誘拐するという奇想天外な大作ゲームというゲームプレイのコンセプトから始まりました。コンセプトと非常に基本的なプロトタイプを念頭に置き、ゲームの世界に個性を加えられる IP を探しました。
最初に思い浮かんだフランチャイズの 1 つが『Mars Attacks!』チームは 1996 年の Tim Burton 監督の大ファンで、その権利を調査したところ、この映画のモデルとなったオリジナルのレトロ SF 車に惚れ込みました。私たちは Topps 氏(Mars Attacks のオーナー)に連絡しましたIP)のオフビートのコンセプトに興味を示し、喜んでくれました。
ゲームプレイのコンセプトと IP が決まったら、チームはさらに拡大し、ゲームの構築に取り掛かりました。技術的に最も困難なタスクは、『Evil Genius』、『ダンジョンキーパー』、『Theme Hospital』、『RollerCoaster Tycoon』のような、超大作ゲームを少人数(5 人から 6 人)のチームで制作するという、非常に複雑な作業でした。
これらの課題についてもう少し具体的に見ていきましょう。『Mars Attacks!』の世界をテーマパークのシミュレーターに持ち込む際に、クリエイティブ面と技術面でどのような課題に直面しましたか。独特のダークユーモアをゲームプレイにどのように落とし込んだのでしょうか。
『Mars Attacks』のパークシミュレーションを制作する上で最もクリエイティブに苦労した要素の 1 つは、実は IP と無関係でした。このジャンルには素晴らしいエントリがたくさんあり、このタイプのゲームに期待される基本レベルの機能、生活の質、複雑さがあります。その基本機能を、他のジャンルのゲームと肩を並べるレベルにするのに何年もかかりました。それが定まったら、『Mars Attacks!』のメカニクスを使ったゲームの差別化ははるかに簡単になりました(そしてとても楽しい)。人間を拷問する最も恐ろしい方法についてミーティングを持つことは、決して古くなりません。
『Mars Attracts』は、「複雑なニーズベースのキャラクター AI」によって、テーマパークのすべてのゲストと従業員の行動を制御します。その仕組みについて大まかに教えていただけますか。多数のキャラクターの意思決定と動きを同時に管理するという課題にどのように対処したのですか。
実際にビデオを作成しました。キャラクター AI の構造体は開発の過程でビット変わりました。
各キャラクターには、空腹、渇き、興奮などのニーズがあり、そのニーズに対して現在どの程度満足しているかに基づいて順番付けします。そして、リストを下方にスクロールし、ニーズの近くにある解決策(空腹感のためのストール、ワクワク感のための乗り物など)を探します。やることが見つかれば、そのタスクを課せられます。そうでない場合は、リストの次のニーズにたどり着きます。
システムを構築する中で学んだキーの1つは、タスクをデスティネーションと意図の2つの部分に分割することでした。もともとは意図を分け例えば、お腹を空かせたキャラクターが「ストールまで歩いて行く」といったものでしたが、これがより複雑な振る舞いの制限になることがわかりました 。例えば、ゲストはストールまで歩いて食べ物を買いに行くかもしれませんが、管理人はストールまで歩いて修理に行くかもしれません。複数要素のタスクシステムを用意したら、キャラクターのバリエーションをはるかに多くビルドできました。
技術レベルでは、経路検索はUnityとグリッド グラフ用のA*経路検索プラグインを使用します。興味深いことに、タスクごとに異なるグラフが用意されているため、人間が逃げ出す場合は、壁や障害物を通り抜けることができるグラフを使用します(障害物の移動ペナルティを使用して、可能であればその周囲を歩きます)。つまり、人間が望むなら、完璧に手入れされた公園に破壊の道をあけることもできるのです。
従来のスケルタルアニメーションではなく、メッシュベースのアニメーションシステムを採用することを決定した背景は何でしょうか。トレードオフを行う必要はありますか。また、その選択がアートとアニメーションのワークフローにどのような影響を与えましたか。
このゲームでは、一度に数百人(最終的には数千人)のゲストが画面に参加できる可能性があります。パフォーマンスを犠牲にすることなく大規模な群衆が必要だったので、アニメーター コンポーネントがパフォーマンス帯域幅を大幅に消費していることがわかりました。
これに対処するために、パークのゲストのために、事前にアニメーションをベイクし、多数のキャラクター向けにはるかにパフォーマンスの高いアニメーションを提供するメッシュベースのアニメーションに切り替えました。
欠点は、ゲストにバリエーションを追加することが難しく(各バリエーションはカスタムベイクする必要があるため)、比較的短いアニメーションで最もパフォーマンスが良かったことです。
このゲームは、IP から全体的なルックアンドフィールまで、懐かしい雰囲気にあふれています。その特定の美観をキャプチャし、求める「外観」を実現するために、具体的にどのようなテクニックやビジュアル要素を使用しましたか。
懐かしさと新しさのバランスを取ることが、私たちにとって大きな焦点となりました。ビジュアルの正面では、カラーパレットと建築デザインはレトロフューチャリズムからインスピレーションを得ています。ゲーム内に滑らかすぎるものはなく、すべて 1960 年代の人々が火星の文明を想像していたように見えるように作られています。

技術的な基盤に関して、チームがユニバーサルレンダーパイプライン(URP)を選択した理由は何ですか。その選択は、この特定のビジュアルスタイルとキャラクターの密度を持つプロジェクトにどのようなメリットをもたらしましたか?
『Mars Attracts』のビジュアルは、クラシックなジャンルやレトロなSFを連想させると同時に、モダンなゲームに対するプレイヤーの期待に応えることを目的としていました。主な考慮事項は、a)すべてを1人の3Dアーティストで制作できること、b)ローエンドのマシンでもゲームのパフォーマンスを十分に発揮できることでした。URP のアクセシビリティと安定性は、私たちが達成したい環境を構築するのに理想的でした。
ゲームをスムーズに進めるために、他にどのようなアプローチを取りましたか。このスケールのシミュレーションでパフォーマンスを最適化するための最も効果的な戦略は何ですか。
Unity プロファイラーは、ボトルネックを特定するうえで非常に役立ちました。ゲストの数が多いため、ほとんどのパフォーマンス改善はゲスト AI の非効率性に関するものでした。
簡単な例として、プレイヤーが 1,000 種類の建物を持ち、ゲストが訪問できる大規模な公園を想像してみてください。ゲストがお腹を空かせた場合、1,000 軒の建物をループして料理を提供するかどうか確認する必要があります。見つけたら、建物の状態をチェックして、食べ物の在庫があるか、破損していないか、スタッフがいるかなどを確認します。どの建物も使えない場合は、ゲストの次のニーズ(喉の渇きなど)に合わせて繰り返し、10 ~ 15 のニーズに合わせて繰り返します。これに 500 人のゲストを掛けます。つまり、1,000棟の建物 x 10のニーズ x 500人のゲスト = 500万のチェックです。
これに対処するために、パーク内に検索リージョンを実装し、ゲストは現在の地域や隣接する地域の建物のみを「見る」ことができるようになりました。これにより、チェックする建物の数が 100 棟に減る可能性があるため、100 棟 x 10 棟のニーズ x 500 人のゲスト = 500,000 件のチェックが必要になります。プレイヤーにまったく差のない大幅な節約。

今にして思えば、プロジェクトが複雑になる中で、早期にアーキテクチャに関して下した決断が実を結んだものは何でしょうか。
UnityEvents。いつも使っています以前のプロジェクト『This Means Warp』から学んだキーは、モジュール式の自己完結型コードの非常に重要な点です。Unityイベントを使用してクラス間の通信を行うと、ハードコードされたリンクが大幅に削減され、新機能のビルドがはるかに簡単になります。
細かいオーバーレイシェーダーを使用して、プレイヤーに重要な情報を表示するようにしました。詳しく教えていただけますか?
はい。グリッドに格納されている値に基づいてマテリアルを更新するカスタム シェーダーがあります。これにより、ユーザーはタイルの美しさや清潔さ、または特定の生息地から建物までの距離を視覚化できます。シェーダーは作成していませんので、「Magic」と記述します。

Unity Asset Store のツールのうち、特に有用だったものはありますか?あった場合、その理由を教えてください。
BGDatabase:すべての建築統計とローカライゼーション文字列が Google シートから取得されます。これにより、大スケールな更新やローカライゼーションパートナーからの入力などが大幅に簡単になります。BGDatabaseは、これをUnityにシームレスに取り込むのに役立ち、すべてのプロジェクトで使用しています。
大物スタイルのゲーム、特にシミュレーションに多数のAIエージェントが関与するゲームの制作を検討している開発者にアドバイスはありますか。
多くのキャラクターでパフォーマンスを向上させるには、メッシュベースのアニメーションを検討することをぜひお勧めします。同様に、プロファイラーとの連携も非常に重要です。
先ほど考えておくべきことの1つは、セーブ/ロードです。EasySave3プラグインを使用していますが、セーブとロードをゲームに統合したのは早期アクセスリリースの直前でした。保存とロードのサポートは、すべての特徴で機能させるためには、オーバーヘッドがビット追加されるため、一度にすべての機能に対して実行することで時間を節約できましたが、開発中にテストを高速化することへの影響は考慮していませんでした。リアルなプレイ体験を反映した数百人のゲストがいる環境をスポーンできることは、大規模なパークのデバッグと最適化に非常に役立ちます。
ローンチ直前に誰かが教えてくれた関連のヒント。プレイヤーのセーブ ゲームをゲーム内のフィードバック レポートに添付すること。問題を再現するのに超助かります!

Mars Attracts は現在 PC で入手可能です。公式Steamキュレーター ページでMade with Unityゲームをもっと探しましょう。Unityブログとリソース ハブでは、開発者によるストーリーをさらに読むことができます。
