Echo Weaver: Das Design eines Metroidvanias mit Zeitzyklus in Unity 6
Public- 09 Oct, 2026

Echo Weaver, ein neues Metroidvania von Moonlight Kids und Akupara Games, erscheint für PC und Konsolen mit einer einzigartigen Designphilosophie, die um einen Zeitzyklus herum aufgebaut ist. Das dreiköpfige Studio konzipierte das Projekt ursprünglich, um das berüchtigte Save-State-System zu vermeiden, das in ihrem vorherigen Titel The Wild at Heart zu Problemen geführt hatte. Die Prämisse war einfach: Wenn die Zeit zurückgesetzt wird, ist kein Speichern nötig. Allerdings erfordert die nahtlose, miteinander verbundene Welt des Spiels das ständige Laden und Entladen von Kartenchunks, was bedeutet, dass das System die Persistenz von Ereignissen wie zerbrochenen Wänden oder NPC-Interaktionen bis zum Neustart des Zyklus aufrechterhalten muss. Das Team implementierte letztlich ein vollständiges Speichersystem, stellte aber fest, dass die Zeitzyklus-Mechanik die Frustration über Datenverlust mildert, da Spieler den Zyklus immer zurücksetzen können, wenn ein Fehler auftritt.
Das Spiel verfügt über keine Fähigkeitssperren; die Welt ist von Anfang an vollständig offen, und der Fortschritt basiert auf dem Wissen des Spielers. Dieser Ansatz des „räumlichen Parkour-Detektivs“ bedeutet, dass Spieler jederzeit zufällig auf jede Fähigkeit stoßen können, was eine komplexe Herausforderung für das Level-Design darstellt. Um dies zu bewältigen, etablierte das Team eine narrative Regel: Die Protagonistin, die Weaver, behält Erinnerungen zwischen den Zyklen bei. Dies ermöglicht es dem Spiel, freigeschaltetes Wissen zu verfolgen, ohne das Immersionserlebnis zu durchbrechen. Ein wichtiger Designkompromiss, der während der Playtests gefunden wurde, bestand darin, dass versteckte Bereiche ursprünglich nur temporär offenbart wurden, aber das Team die Vordergrundgrafik an häufig besuchten Stellen dauerhaft abdunkelte, um Spielern zu helfen, entdeckte Abkürzungen zu记住, da das Standardwerkzeug von Metroidvanias, einseitige Wände, in einer sich zurücksetzenden Welt unwirksam ist.
Für größere Abkürzungen, die sich nicht innerhalb eines einzelnen Loops lösen lassen, setzt das Team auf visuelle Versteckung: Gänge werden an einem Ende hinter der Vordergrundgrafik verborgen und am anderen Ende in den Vordergrund gestellt. Die Uhr des Spiels ist ein zentrales System, das jederzeit sichtbar ist und mit einer Minute pro Loop beginnt. Spieler sammeln Zeitkristalle, um diese Dauer zu verlängern, oder opfern sie zur Heilung. Frühe Versionen nutzten einen Timer mit Sekundenauflösung, doch Testspieler berichteten von hohem Stress. Die finale Benutzeroberfläche zeigt minutenlange Abschnitte, sogenannte „Glocken“, was mit den Timing-Mechaniken des Spiels übereinstimmt und es Spielern ermöglicht, optimierte „Startsequenzen“ zu erstellen, um Zeit schnell zu akkumulieren.
Die technische Architektur, geleitet vom Programmierer Ankit Trivedi, teilt die Spielwelt in Chunks auf, mit einem eigenen Build-Prozess, der aufwendige Inhalte entfernt. Eine schwere, unveränderliche Schicht der Weltgeometrie wird in die Szenen gebacken und bleibt dauerhaft geladen, während eine leichte „Essentials“-Szene flüchtige Zustände wie den Spielmanager und Spielerdaten hält. Bei einem Loop-Reset entlädt das Spiel aktive Chunks, verwirft die Essentials-Szene und lädt sie neu, wobei nur die für die Eröffnungssequenz notwendigen Chunks gestreamt werden. Laufspezifische Zustände werden in einem In-Memory-Wörterbuch mit String-Schlüsseln gespeichert, das bei einem Reset geleert wird, während persistente Daten wie Loop-Zahlen und gesehene Fähigkeiten auf die Festplatte serialisiert werden. Dieser „Wegwerfen und neu machen“-Ansatz stellt eine saubere Zustandsverwaltung ohne nennenswerte Auswirkung auf die Leistung sicher.
Die Leistungsoptimierung war aufgrund des dichten, handgezeichneten Kunststils entscheidend. Das Team stellte fest, dass die Aktivierung der Komprimierung für Texturatlase den Speicherverbrauch auf etwa 1 GB senkte. Um das Laden zu handhaben, werden dekorative Assets beim Build aus den Chunks entfernt und asynchron in kleinen Chargen neu instanziert, um Stocken des Hauptthreads zu verhindern. Ein eigenes Tool glättet Gruppen von Sprites zu einzelnen Bildern, um Draw Calls zu reduzieren, insbesondere für komplexe Hintergründe wie Himmel. Die Beleuchtung wurde ebenfalls optimiert, indem sechs separate Lichtebenen in drei zusammengefasst wurden, was die Rendering-Kosten erheblich senkte, während die visuelle Qualität beibehalten wurde. Wassereffekte, die das Game2D Water Kit nutzen, wurden für Hardware mit niedriger Leistung angepasst, indem Perspektiveffekte von Brechungen getrennt wurden, um teure erneute Kamera-Renderings zu vermeiden.
Die Entwicklung wechselte von Unity 2021 zu Unity 6, wobei das Team bestimmte Funktionen hervorhob, die ihren Arbeitsablauf verbesserten. Chris Sumsky bemerkte, dass verschachtelte Prefabs und der Edit-Modus wegweisend für das Management komplexer Szenen waren. Ankit Trivedi betonte die Nützlichkeit von Composite Collider 2D und dem nativen Objekt-Pool von Unity, was dem Team erlaubte, den eigenen Objekt-Pool, der für ihr vorheriges Spiel geschrieben wurde, außer Kraft zu setzen. Die Nutzung des Frame Debugger von Unity war zentral, um Batch-Brüche zu identifizieren, was dem Team ermöglichte, Materialien zu vereinheitlichen und Sprites zu konvertieren, um die Leistung zu maximieren. Das Team rät anderen Entwicklern, den Frame Debugger von Beginn eines Projekts an großzügig einzusetzen, um Rendering-ineffizienzen früh zu identifizieren und zu beheben.