エコーウィーバーUnity 6でタイムループのメトロイドブレインを構築する

Oct 8, 2026|8 分
Fergus Baird
Fergus Baird - Unity Technologies
Senior Content Marketing Manager
Made with UnityGame design
Moonlight KidsとAkupara GamesによるEcho Weaverのキー。Made with Unity。ネオンに浸った、白目、白髪の人物の肩までのカートゥーン画像。彼らは、(右回り) ピザを持った猫、青い髪の人物、トカゲの人間、骨の虫、グレーの髪とゴーグルをかけた老女、仮面をつけた人物、そして公開された脳を持つエイリアンを含むいくつかのキャラクターに挟まれている。

このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

Echo Weaverは、Moonlight KidsとAkupara Gamesによる期待のメトロイドヴァニアで、本日PCおよびコンソールで発売されます。私たちは、ゲームデザイナーのクリス・サムスキーとプログラマーのアンキット・トリベディに、知識ゲート設計、ループ・リセット・アーキテクチャ、そしてUnityでゲームを作る他の小規模チームに伝える教訓について話を聞きました。

3人組のインディースタジオ Moonlight Kids が Echo Weaver の制作に着手したとき、彼らはゲーム開発で最も悪名高いシステムの一つであるセーブステートを回避する抜け穴を見つけたと考えた。

「誰かがセーブデータを失ったら、君は彼らのナンバーワンの敵になる」とクリスは言う。チームはデビュー戦でクリーチャー収集家 The Wild at Heart のセーブステートエラーに苦しんできたため、Echo Weaver のタイムループの前提は夢が叶ったかのようでした。「私たちは、もう救えないって感じでした!」タイムトラベル!すべてリセットされる!

もちろん、ゲーム開発で物事がこれほど単純なことはめったにありません。Echo Weaver は、ロード画面のない相互接続されたワールドをストリーミングしており、これはプレイヤーがワールドを移動するにつれてマップのチャンクを絶えずロードおよびアンロードする必要があることを意味します。これは次のような状況を生み出します:このループでプレイヤーはショートカットの壁を壊しましたか?彼らはあのNPCと話しましたか?Echo Weaverの世界は、少なくともプレイヤーの時間が尽きてループが再開されるまで、ある程度の永続性を維持しなければならない。「結局、何にしても全部保存する必要があったんだ」とクリスは言う。「しかし、何か問題が起きても、プレイヤーはいつでもループをリセットできるので、それほど致命的ではありません。」

エコーウィーバー

スペースパルクール探偵ゲーム

Echo Weaverにはアビリティゲートはありません。ワールドはゲームプレイの最初の1分から完全にオープンですが、それを完全に探る方法はプレイヤー次第です。アンキットは、「私たちの社内でのピッチは『スペースパルクール探偵』でした」と語る。

「何も永続しないゲームを作らなければならないとしたら、どうする?」とクリスは言った。プレイヤーが感じる必要のあるすべての進歩感はすでにそこにあるが、それは秘密の層の下に埋もれているだけだ。これがEcho Weaverでやっている大きな、奇妙なことです。私にとっては最もクールなことであると同時に、最大の挑戦でもあります。なぜなら、誰でもいつでもどんな能力に遭遇する可能性があるからです。

開発の初期段階において、チームはこのプロジェクトをThe Wild at Heartへの意図的な反応として位置づけた。当時、あまり売れていなかったため(幸いにも後で状況は変わりましたが)、私たちはそのプロジェクトとは反対のあらゆることをしようとしていました。「少し暗く、少しハードなものを作ろうと思ったんです」とクリスは言います。「もちろん、それは私たちが得意とすることに逆行することを意味していた。そして私たちはすぐに自分の間違いに気づいた!」

Echo Weaver | Moonlight Kids | Akupara Games

Echo WeaverのThe Wild at Heartからの多くの継承要素は、共同創設者兼クリエイティブディレクターのジャスティン・ボールドウィンの手描きスタイル(「同じ筆とパレットまで」)から、秘密でいっぱいの大きく相互に関連した空間、そしてそれがしばしば焦点とならないジャンルにおけるニュアンスのあるストーリーテリングへのコミットメントに至るまで、ムーンライトキッズのスタジオとしてのアイデンティティの基盤となっています。

技術的な面では、チームの内部ツールライブラリも、ダイアログシステム、FMODインターフェースレイヤー、コントローラー、動的入力アイコンコード、画面シェイクを含め、The Wild at Heartから飛躍を遂げました。

Echo Weaver | Moonlight Kids | Akupara Games

核となるデザイン原則:織り手は覚えている

アビリティゲートがなく、ループごとにリセットされるワールドであるため、ムーンライトキッズはセッション間で何が保持されるかについてのルールを確立する必要があった。彼らは没入感を損なわないナラティブな解決策にたどり着いた。プレイヤーキャラクターであるウィーバーは、ループをまたいで記憶を保持する。彼らが自身の脳内で記憶するものは何でも、ループに持ち込むことが許可されています。「ウィーバーが見れば、プレイヤーも見るべきだ」とクリスは説明する。「それはメトロイドブレインディアのルールを破らない。」

この決定は、プレイヤーがアンロックした知識を追跡する進行画面からレベルの提示に至るまで、ゲーム全体に影響を与えます。隠されたエリアが明らかになると、前景のアートワークは薄れていく。プレイテスト中、これはループをまたいで永続化されたしませんでしたが、チームはプレイヤーがどのショートカットを発見したかを忘れがちであることを見つけたため、譲歩してプレイヤーが最も頻繁に再訪するエリアの前景を恒久的にフェードアウトさせました。

Echo Weaver | Moonlight Kids | Unity

永久のショートカットなしのレベルデザイン

プレイヤーの知識を特定のアップグレードよりも優先して進行を制限することは、標準的なレベルデザイナーのキットから重要なツールを取り除くことになります。メトロイドヴァニアは通常、片道壁と永久のショートカットに頼っています。壁を壊すと、そのルートはプレイの残りの間開いたままになります。「Echo Weaverのようなタイムループゲームでは、壁を壊してループをリセットしても、その壁はまた元通りになるんだ」とクリスは言います。それは必ずしも私の得意分野ではなかった。

チームのこの問題に対する解決策は、2つのスケールで機能します。単一のループ内では、プレイヤーがどれだけの時間を集めたかによって数分間実行されることがあるが、クリスは伝統的なメトロイドヴァニアのデザインのトリックを仕掛けることができた。なぜなら、一つのループ内に含まれるものは、その同じループ内で報われることができるからだ。チームは、このコンストレイントを念頭に置いて、ゲームの各レベルブランチとエリアを設計しました。

より大きく複雑なショートカットについては、「 ダークソウルにいるファイアリンクの神殿を考えてみて」とアンキットは言う。唯一の現実的な選択肢は隠蔽だ。通路は片方の終了で前景の芸術作品の背後に隠され、もう一方の端で前景に配置されることで、ありのままに見える中に隠された秘密を作り出すことができます。「Tunicのようなゲームは、透視を本当にうまくやっている」と彼は付け加える。

Echo Weaver | Moonlight Kids | Akupara Games

プレイヤーの時間の管理

Echo Weaverの時計は最も目立つシステムであり、プレイヤーは常にそれを見ることができます。すべてのループは時計の1分から始まります。プレイヤーは時間結晶を外観て延長することも、結晶を犠牲にして回復することもできます。ここで適切なバランスを見つけることが成功の鍵となります。

ゲームの初期バージョンでは、タイマーが1秒ずつカウントダウンしていましたが、プレイテスターたちはそれを嫌いました。「それは多くのストレスを生んだ」とクリスは言います。ある日、私たちは「時計をなくしたらどうなるかな?」って思ったんだ。秒は本当に必要ありません。知るべきなのは分だけです。

最終的なHUDは、時間チャンクの行であり、それぞれが1分を表しています。ゲーム内では、NPCが「8分に戻ってきて」といったことを言うことでファンタジーが崩壊したため、これらは「ベル」と呼ばれています。ワールドのほぼすべてが、これらの1分間のビートに合わせて慎重に時間設定されています。プレイテスターたちはこの新しいシステムに好意的な反応を示し、すぐに「ブートSequences」を発明しました。これは、ループの最初の数秒で大量の時間を節約する、高度に最適化されたオープニングルートです。

Echo Weaver | Moonlight Kids | Akupara Games

タイムループはどのように機能するか

Echo Weaverでタイムループがリセットされるとどうなるのでしょうか?アンキットのアーキテクチャは、ゲームワールドをチャンクに分割し、各チャンクにチャンクススクリプトをタグ付けし、事前に高価なコンテンツを削除するカスタムビルドプロセスを採用しています。

重く、不変のレイヤー(ワールドのジオメトリと遷移マーカーのすべて)はシーンにベイクされ、永続的にロードされたままになります。軽量な「エッセンシャル」シーンは、揮発性のステートを保持します。ゲームマネージャー、プレイヤー、および実行固有のデータです。リセット時、ゲームはアクティブなチャンクをアンロードし、エッセンシャルシーン全体を破棄して再ロードし、ループのオープニングシーケンスに必要なチャンクのみをストリーミングで戻します。

「それは、残るべきでないものや残ってしまうものを軽減する大きな方法の一つです。単に捨ててやり直しのです」とアンキットは言います。いずれにせよとてもライトなシーンなので、ぶち壊したりやり直したりしても大した問題にはなりません。

実行固有のステートは文字列キーのインメモリディクショナリに保存されており、そのディクショナリを消去することがリセットの一部です。ループをまたいで生存しなければならないもの――ループ回数、見た能力、話したキャラクターなど――はディスクにシリアライズされます。各オブジェクトは、チャンクがストリームインした際に自身のキーをチェックし、多くの場合ブーリアンまたは整数を読み取るだけです。

そのアプローチは完全にバグがないわけではありません。アンキットは、永続化されたトランジショナルドアがループ間でUIステートを完全にリセットしていないことに気づいたため、単に永続化を停止した。次に、各ドアの対話するコンポーネントは、リセットのたびに再インスタンス化されるクローンです。「たぶん20個程度のオブジェクトなら問題ない、パフォーマンスに影響はない」と彼は説明する。

鍵のような持ち運び可能なアイテムは、より微妙な問題を引き起こしました。あるチャンクに存在するアイテムはゲームワールドのどこへでも移動でき、チャンクレベルの所有権が、これらのオブジェクトがプレイヤーのインベントリから消えるか複製されるかのどちらかを意味したのです。これを修正するために、チームはアイテムを永続化されたシーンレイヤーに移動しました。

Echo Weaverのレイヤード環境アセットをエディタ内で

詳細な手描きのワールドの最適化

The Wild at Heart や Echo Weaver は、オーダーメイドの 手描きのアート で満たされていますが、これは視覚的に見事である一方で、ロードしたりレンダリングしたりするのに費用がかかることがあります。チームはパフォーマンスを最大化するためにいくつかの修正を実装しました。

アセット圧縮

彼らの最初の大きなパフォーマンスの障害に対する解決策は、期待外れだった。「うちのどのアトラスにも圧縮はなかったよ」とアンキットは笑った。compressionを有効にすることで、メモリ上のすべてが約1GBに収まりました。

Unity エディターにおけるウィーバーのアニメーションの外観

シーン読み込み中

ゲームをロードすると、より難しい問題が表示されました。インスタンス化はメインスレッドで同期的に実行されるため、装飾アセットはビルド時にチャンクから削除され(サイズ、回転、スプライト設定についてはManualOverridesが保持される)、非同期的に再インスタンス化され、フレームごとに少数のオブジェクトでバッチ処理されます。隣接するチャンクを常にロードしておく隣接システムと組み合わせることで、ポップインは視界から外れます。

バッチ処理

ジャスティンの手描きのアートワークは繰り返しパターンを避けているため、バッチ処理の機会は稀であり、アンキットは複数のスプライトを単一の画像(および単一のドローコール)にフラット化するツールを作成しました。例えば、Echo Weaverのバイオームの一つにある空は、何十ものほぼ同一のプラットフォームで構成されています。そのツールを使って、彼らはそれを少数のユニークなアクセントとともに2つの合成スプライトにまとめました。

ライティング

Echo Weaverの初期の照明設定は高価でした。スプライトは元々、それぞれ最大4種類のライトタイプ(背景、プレイヤー、アイテム、フロアのバリアント)を保持しており、ある時点では16種類の異なるライティングテクスチャが同時にレンダリングされていました。アンキットは、「6つのライト層を3つのカットに統合することで劇的に削減しましたが、ビジュアルが損なわれたとは思っていません」と述べています。

水のエフェクト

WaterはUnity Asset Storeから入手しました:Game2D Water KitはUniversal Render Pipelineで動作します。「非常に柔軟で、本当に良い結果を生み出す」とアンキットは言うが、各水域がカメラを再レンダリングし、サーフェス下のレイヤーグループの数に応じてコストがスケーリングする。チームは水中レイヤーを統合し、パブリッシャーのAkupara Gamesの社内移植チームは低終了ハードウェア向けにより踏み込み、プラグインの偽のサーフェスエントリー透視エフェクトを屈折設定から分離することで、より弱いデバイスでも再描画なしで見た外観を維持できるようにした。

Echo Weaver | Moonlight Kids | Akupara Games

デバッグ

UnityのFrame Debuggerは、この最適化作業の多くで中心的な役割を果たし、Ankitがフレームのドローコールをドローコールごとにステップ実行し、バッチ処理がどこでどのように壊れているのかを正確に確認できるようにしました。そこから、作業は統合へと移行した。素材の統一、バラバラのスプライトの変換、そして可能な限り多くのフレームをバッチ処理できるように再確認を繰り返した。「バッチ処理がここぞとばかりに途切れるのを見かけることはまだあるけど、以前よりはずっと少ないよ」と彼は言う。アンキットの他のチームへのアドバイスはシンプルです。「フレームデバッガーをすぐに、積極的に使い開始なさい!」

Echo Weaver | Moonlight Kids | Akupara Games

2021 LTSからUnity 6まで

The Wild at Heart は Unity 2021 でリリースされました。Echo Weaver は Unity 6 でリリースされ、リリース直前に一つのバージョンに固定されます。バージョン間の日々の変化について尋ねると、クリスはためらわなかった。「ネストされたプレハブと編集モード――それらは人生を変えるものでした。」

Ankitは、チームがComposite Collider 2Dを多用したと述べ、Unityのネイティブオブジェクトプールのおかげで、彼がThe Wild at Heartのために書いたカスタムオブジェクトプールを維持するのをようやくやめることができたと述べた。「可能な限りビルトインの機能を使うのは良いことだ」と彼は述べる。

Echo Weaver | Moonlight Kids | Akupara Games

小規模チームへの別れの挨拶

面接を締めくくるにあたり、私たちはクリスとアンキットに、Unityでゲームを作ろうとしている他の開発者たちにどのようなアドバイスを共有するか尋ねました。

「これについてはきっとからかわれるだろうけど」とアンキットは前置きし、「しかし、従来の常識では、初期段階で最適化をすべきではないと言われている」それは必ずしもtrueだとは思えません。早い段階でパフォーマンスを考慮した設計をすることで、後々の時間を大幅に節約できます。

チームはプロジェクトの早い段階でEcho Weaverのチャンクストリーミングシステムを実装しました。粒子は初日からプールされています。アンキットは、ガベージコレクションの負荷が急速にビルド可能性があるため、C#の利便性を常に慎重に利用しようとします。ゲームをリリースしようとしているなら、最終的にはパフォーマンスが良い必要があります。なぜ自分を、それが不可能に見えるような窮地に追い込むのですか?laterでパフォーマンスを向上させるということは、巨大な破壊的変更を意味する。

クリスはデザインと、スタジオのクリエイティブなアイデンティティに頼ることの重要性についていくつかの助言をしました。「このような知識ゲート型のゲームを作るのは、全体像に極度に依存している」と彼は言う。私たちは、プロジェクト全体がまとまって初めて完成させることができた部分について、何年も試行錯誤を繰り返しました。これの多くは、イテレーションの余地を多く残しつつ、映画のように早い段階でスクリプト化できたはずだ。

しかし、彼が違うことをする唯一のことは、直感を信じて、馴染みのある、心地よいと感じるものを作り続けることでしょう。後になって考えると、私たちは「誰もThe Wild at Heartを望んでいないから、全く違うことをしよう」と言うのは間違いだった。人々は何を望んでいるのか?いいえ、本当に自分の強みを再生てください。市場にどう再生するかを考えるのに多くの時間を無駄にした。結局、私たちは「何をしているんだろう?」みたいな状態になった。得意なことをしなさい。作りたいゲームを作ろう。

Echo Weaverが本日、Steam、PlayStation®5、Nintendo Switch™ 2、Nintendo Switch、Xbox Series X|Sで発売されます。Steam Curator pageでさらにMade with Unityのゲームを探り、Unity BlogやResource HubでUnity開発者の他のストーリーをチェックしてください。


Nintendo Switch は任天堂の登録商標です。