Astra-Spielentwicklung: Circuit Shift

Updated 2026-09-05

Eine Astra-konfigurierte Codex-Aufgabe erzeugte einen nativen Godot-Prototyp mit drei Räumen, funktionierenden Kollisionen, Relaisrätseln, Sieg- und Niederlagenzuständen und gespeichertem Fortschritt. Hier sehen Sie den Weg vom Briefing zum getesteten Spiel einschließlich der Reparatur, die die Gameplay-Prüfungen zunächst übersehen hatten.

Das Ergebnis: eine vollständige Gameplay-Schleife mit drei Räumen

Circuit Shift ist ein kleines Top-down-Rätselspiel, das in Godot 4.5.1 auf macOS gebaut und getestet wurde. Sie führen den Kurier CS-07 durch drei Räume einer Relaisstation, sammeln in jedem Raum drei Energiezellen, öffnen nummerierte Tore, vermeiden bewegliche Wächter und erreichen den Ausgang. Der finale automatisierte native Lauf schloss alle drei Räume ab, testete Niederlage und Neustart und speicherte Kampagnenfortschritt und Bestzeiten. Ein separater Prozess öffnete diesen Speicherstand erfolgreich erneut.

Die nützliche Erkenntnis für ein KI-gestütztes Spieleprojekt ist die Kombination aus begrenztem Briefing, enginegetriebenen Gameplay-Prüfungen und visueller Inspektion. Ein vollständiger kleiner Ablauf ermöglichte mehr als einen Bewegungstest: Der Ausgang musste vor dem Sammeln versiegelt bleiben, der Raumabschluss musste den nächsten Sektor freischalten und Einstellungen mussten einen Neustart überstehen. Im herunterladbaren Projekt können Sie diese Verhaltensweisen selbst prüfen.

Circuit-Shift-Sektor eins mit mintfarbenem Kurier, drei gelben Zellen, einem nummerierten Relais, einem geschlossenen roten Tor, einer beweglichen Gefahr und dem versiegelten Ausgang.
Echte Godot-Framebuffer-Aufnahme mit 1280 x 960 aus dem finalen nativen Lauf, zu Beginn von Sektor eins.

Das erste Briefing machte den Abschluss konkret

Die Aufgabe spezifizierte ein eigenes Spiel namens Circuit Shift, drei kurze Level, Engine-Physik, Schalter und Tore, Sammelzellen, Sieg/Niederlage/Neustart, ein Startmenü, Einstellungen und gespeicherten Fortschritt. Außerdem verlangte sie echte Screenshots, einen Gameplay-Miniflow in der realen Engine und das erneute Öffnen eines gespeicherten Zustands. Godot 4.5.1 war bereits installiert und wurde wiederverwendet; die Entwicklung begann in einem neuen Spieleverzeichnis mit einem separaten temporären HOME.

Das folgende Snippet ist ein Auszug aus dem tatsächlichen ersten Briefing. Für die Lesbarkeit wurden Zeilenumbrüche ergänzt und der ursprüngliche Wortlaut bewahrt. Die vollständige initial-prompt.txt ist im Source-ZIP enthalten. Für Ihr eigenes Briefing ist der am besten übertragbare Teil das beobachtbare Abschlusskriterium: Geben Sie an, was der Spieler tun kann und was nach dem Schließen des Spiels weiterhin funktionieren muss.

Task: build an original polished small 2D Godot game called Circuit Shift.
Three short levels; controllable character, enginephysics/collisions,
switches and gates, collectible cells, exit, win/loss/restart,
start menu, smallsettings and savedprogress.

Vom Prompt zu Dateien, Engine-Feedback und funktionierenden Räumen

Der Agent erstellte Raumdaten, GDScript, Menüs, Einstellungen, lokale Speicherstände und einen Gameplay-Harness, führte die Engine wiederholt aus und prüfte die Ergebnisse. Bewegung verwendet CharacterBody2D.move_and_slide; Wände und Tore verwenden StaticBody2D; Zellen, Gefahren und Ausgänge verwenden Area2D-Trigger. Diese Engine-Verträge verbinden den sichtbaren Raum mit Kollisionen und Zustandsänderungen, die der Harness beobachten kann.

Der Datensatz enthält 13 Game-Engine-Läufe für Import, Gameplay, Regressionstests, native Aufnahmen, erneutes Öffnen, Paketierung und Pixelprüfung. Die Abfolge umfasste einen anfänglichen Fehler beim Vorhandensein der Szene vor der Implementierung, Headless-Gameplay, native Screenshots, eine fokussierte visuelle Reparatur und finale Artefaktprüfungen. Spielbezogene Kunst wurde prozedural mit Godot-CanvasItem-Code gezeichnet und fünf PCM-Soundeffekte wurden lokal synthetisiert. Die beobachtete Arbeit bestand aus vom Agenten erstellten Patches, lokalen Befehlen, Berechtigungsanfragen für native Ausführung und Screenshotprüfung; weitere menschliche Steuerung der Aufgabe oder menschliche Code-Reparatur wurde nicht beobachtet.

Circuit-Shift-Sektor drei mit zwei aktivierten nummerierten Relais, zwei geöffneten Toren, zwei gesammelten Zellen und dem Kurier neben Relais zwei.
Echte native Aufnahme mit 1280 x 960 aus Sektor drei während des finalen Laufs, mit geöffneten unabhängigen Relaiskreisen.

Der echte Fehler: Tastaturfokus machte einen Button schwer lesbar

Der erste native Gameplay-Lauf bestand seine Assertions, aber die Screenshotprüfung zeigte kontrastarmen Text auf einem fokussierten primären Button. Das war relevant, weil das Stationsmenü auch Tastaturnavigation unterstützt: Eine funktionierende Startaktion garantierte keinen lesbaren Start-Button. Eine gezielte Regressionsprüfung schlug daraufhin mit einem Kontrastverhältnis von ungefähr 1.36:1 fehl.

Die Reparatur setzte font_focus_color ausdrücklich auf die dunkle Vordergrundfarbe des primären Buttons. Die nächste Prüfung maß ungefähr 10.57:1, und der finale native Lauf behielt die bestandene Kontrast-Assertion bei. Die rohen fehlgeschlagenen und erfolgreichen Ausgaben bleiben im Belegverzeichnis. Das ist ein konkreter Grund, Gameplay-Tests mit der Prüfung fokussierter und ausgewählter UI-Zustände zu verbinden: Zustandsübergänge können korrekt sein, während die Steuerelemente, die sie sichtbar machen, weiterhin Arbeit benötigen.

StufeBeobachtetes ErgebnisBelegdatensatz
Gezielter RegressionstestKontrast des fokussierten Buttons 1.36:1; fehlgeschlagen05-focus-regression
Explizite FokusfarbkorrekturKontrast des fokussierten Buttons 10.57:1; bestanden06-focus-fixed
Finaler nativer LaufKontrast-Assertion und Gameplay gemeinsam bestanden09-native-final

Was die nativen Tests tatsächlich ausgeführt haben

Der finale Gameplay-Miniflow steuerte normale Godot-Input-Aktionen und native Control-Signale; eine Zuordnungsprüfung übermittelte ein InputEventKey. Der Kurier bewegte sich durch die Physik der Engine. Der Harness prüfte Wandkollision, Blockierung geschlossener Tore, Öffnen und Schließen von Relais, die Ausgangsvoraussetzung aller Zellen, drei Raumgewinne, Verlust durch Gefahr, Neustart, Pause, Einstellungen und Auslöser für Soundgenerierung und -wiedergabe. Der Spieler wurde nicht teleportiert, Zellen wurden nicht direkt vergeben und kein Siegstatus wurde zugewiesen.

Die folgenden Zahlen sind Assertions innerhalb dieser Abläufe einschließlich Wegpunkten und Aufnahmen und keine unabhängigen Benchmark-Aufgaben. Alle drei finalen nativen Läufe wurden erfolgreich mit leerem stderr beendet. Die Gameplay-Kampagne aus der Quelle ist der umfassendste Test; der PCK-Lauf belegt das Laden des Pakets und die Fortsetzung des gespeicherten Zustands und ist keine zweite vollständige Kampagne im gepackten Spiel.

Aufgezeichneter LaufBestandene PrüfungenBeobachtetes Ergebnis
09-native-final62Vollständige native Kampagne mit drei Räumen sowie Prüfungen für Fehler, Neustart, Pause, Einstellungen und Audioauslöser
10-native-reopen-compact6Separater Prozess lud Fortschritt und Einstellungen und setzte anschließend in Sektor drei fort
12-native-pck6Paket wurde außerhalb des Quellverzeichnisses gestartet, öffnete den Speicherstand erneut und erreichte Sektor drei

Das erneute Öffnen prüfte Persistenz und kompakte Darstellung

Ein neuer nativer Prozess lud unlocked=3, completed=true, drei positive Bestzeiten, volume=0.35 und reduced_motion=true. Continue wechselte in Sektor drei. Das trennt Persistenz von einem Wert, der nur im Speicher bleibt, während das Spiel läuft. Das Spiel speichert Fortschritt beim Abschluss eines Raums; der vorgesehene Fortsetzungspunkt ist daher ein Raum und nicht die letzte Position des Kuriers.

Der kompakte Lauf lieferte außerdem eine zweite Layoutprüfung: Raum, HUD, Timer und Steuerelemente blieben bei 720 x 540 vollständig gerahmt. Die Desktopaufnahmen haben 1280 x 960. In den finalen Quell- und Paketläufen bestanden zwölf native Aufnahmen die Prüfung auf nicht leere Pixel; die visuelle Prüfung kontrollierte Rahmen und Lesbarkeit. Dies sind echte native Viewport-Aufnahmen; das kleinere Bild demonstriert ein kompaktes Desktopfenster.

Circuit-Shift-Sektor drei bei 720 mal 540 mit vollständig sichtbarem Raum, Zellzähler, Timer, Neustart- und Pausensteuerung sowie Stationsstromstatus.
Echte native Aufnahme mit 720 x 540, nachdem ein separater Prozess gespeicherten Fortschritt erneut geöffnet und in Sektor drei fortgesetzt hatte.

Zeit und Konfiguration: So lesen Sie den Laufdatensatz

Der angeforderte Start war am 5. September 2026 um 05:35:51 UTC; der Abschluss wurde um 06:00:11.007 UTC aufgezeichnet. Das sind 1,460.007 Sekunden, also etwa 24 Minuten und 20 Sekunden verstrichene Wandzeit. Darin enthalten sind Implementierung, Toolausführung, Tests, Reparaturen, Aufnahme und Paketierung bei bereits verfügbarer Engine. Es handelt sich nicht um Modellantwortlatenz oder eine Prognose für die Entwicklungszeit eines anderen Spiels. Ein erstes Aufgabenbriefing führte zu mehreren Implementierungs- und Tooliterationen.

Dies ist ein Astra-konfigurierter Codex-Lauf: Der Koordinator erfasste spawn_agent.model=gpt-6-astra mit reasoning_effort=xhigh. Das belegt nur die angeforderte Konfiguration. Identität des API-Antwortmodells, Tokenverbrauch, Kosten sowie Modell- und API-Aufrufzahlen wurden nicht offengelegt und bleiben in run-summary.json null; es wurde keine direkte APIsRouter-Anfrage und keine Abrechnung beobachtet. Die öffentliche Katalogprüfung vom 5. September fand außerdem keinen Astra-Eintrag bei APIsRouter. Offizielle Modelldokumentation und diese lokale Konfiguration belegen keinen Gateway-Zugriff.

Circuit Shift in Godot herunterladen und ausführen

Laden Sie das Source-ZIP herunter, um Implementierung, vollständiges Briefing, Steuerung, Test-Harness und bewahrte Belege zu prüfen. Entpacken Sie es, importieren Sie game/project.godot in Godot 4.5.1 und starten Sie das Projekt. Bewegen Sie sich mit WASD oder Pfeiltasten, bedienen Sie ein nahes Relais mit E oder Leertaste, starten Sie mit R neu und pausieren Sie mit Escape. Sammeln Sie jede Zelle, um den Ausgang zu aktivieren; Kontakt mit einer Wache beendet den Versuch.

Für die gepackte Version laden Sie circuit-shift.pck herunter und starten sie mit einer kompatiblen Godot-Laufzeit mit dem folgenden Befehl. Die PCK benötigt Godot und ist keine eigenständige ausführbare Datei. ZIP-Integrität, kritische Gleichheit archivierter Dateien, Quellgleichheit gegenüber dem finalen nativen Lauf und SHA-256-Gleichheit kopierter Assets wurden geprüft. Die PCK wurde aus einem temporären Verzeichnis außerhalb des Quellprojekts gestartet. Downloadlinks für beide Artefakte, run-summary.json und das SHA-256-Manifest stehen unten.

godot --main-pack circuit-shift.pck

Wofür dieser Prototyp als Nächstes bereit ist

Der nächste sinnvolle Schritt ist ein menschlicher Spieltest der Drei-Raum-Schleife: Versteht ein neuer Spieler die Relaisnummerierung, bemerkt er, warum der Ausgang versiegelt ist, und kann er sich von einer Niederlage erholen? In diesem Fall wurden kein menschlicher Spieltest, kein Hörtest und keine Nutzungsdaten echter Benutzer gesammelt. Automatischer Abschluss und generierte Audiopuffer belegen funktionale Pfade, aber nicht Spielspaß, Schwierigkeitsbalance, Klangqualität, Bindung oder breite Nutzbarkeit.

Windows, Browser, Steam, Touch und Gamepad bleiben ungetestet; Browser-Exportvorlagen waren lokal nicht verfügbar. Beschleunigte Headless-Läufe erzeugten weiterhin macOS-Zertifikatsdiagnosen und Warnungen beim Herunterfahren von Audiressourcen, obwohl die finalen nativen Logs leeres stderr hatten. Klären Sie vor der Wahl eines Releaseziels die relevanten Laufzeitprobleme und führen Sie die eigenen Eingabe-, Speicher-, Paketierungs- und Performance-Prüfungen dieses Ziels aus. Das praktische Ergebnis hier ist ein prüfbarer nativer Prototyp und ein wiederholbarer Verifikationsworkflow für die nächste Entwicklungsrunde.

Häufige Fragen

Welche Art von Spiel hat die Aufgabe erzeugt?

Circuit Shift ist ein eigener Top-down-Godot-Prototyp mit drei Räumen. Jeder Raum verbindet Sammelzellen, nummerierte Relaisschalter, physische Tore, bewegliche Gefahren und einen Ausgang. Enthalten sind Stationsmenü, Sieg/Niederlage/Neustart, Pause, Einstellungen und gespeicherter Fortschritt.

Wie spiele ich die heruntergeladene PCK?

Verwenden Sie eine kompatible Godot-Laufzeit; der Fall verwendete Godot 4.5.1. Führen Sie aus dem Ordner mit circuit-shift.pck godot --main-pack circuit-shift.pck aus. Wenn Sie das Spiel prüfen oder bearbeiten möchten, entpacken Sie das Source-ZIP und öffnen Sie game/project.godot.

Welche Steuerung sollte ich verwenden?

Bewegen Sie sich mit WASD oder Pfeiltasten. Drücken Sie E oder Leertaste nahe einem Relais, R zum Neustart des Raums und Escape zum Pausieren oder Fortsetzen. Das Menü unterstützt Maus, Tab und Enter. Vor der Aktivierung des Ausgangs müssen alle Zellen gesammelt werden.

Welcher Fortschritt übersteht einen Neustart?

Der Raumabschluss speichert freigeschaltete Sektoren, Kampagnenabschluss und Bestzeiten. Auch Lautstärke- und Einstellungen für reduzierte Bewegung bleiben erhalten. Ein separater Prozess verifizierte diese gespeicherten Werte und setzte in Sektor drei fort; das Spiel speichert nicht jede Bewegung innerhalb eines Raums.

Woher stammen Kunst und Soundeffekte?

Spielbezogene Visuals wurden prozedural in Godot-CanvasItem-Zeichnungscode erstellt. Fünf PCM-Soundeffekte werden zur Laufzeit lokal synthetisiert. Godot liefert seine integrierte Schrift über die separat installierte Engine.

Was sollte ich aus diesem Workflow wiederverwenden?

Beginnen Sie mit einer kleinen vollständigen Schleife und beobachtbaren Abnahmekriterien. Steuern Sie echte Engine-Eingabe durch Sammeln, Tore, Sieg, Niederlage und Neustart, prüfen Sie Screenshots auf visuelle Fehler, öffnen Sie den gespeicherten Zustand in einem anderen Prozess erneut und testen Sie anschließend das Artefakt außerhalb seines Quellverzeichnisses. Bewahren Sie Fehler auf, damit jede Reparatur einen nachvollziehbaren Grund hat.