
Codex hat mit GPT-6 Astra in 46 Runden, also 11 Std. 16 Min. Arbeitszeit des Agenten, einen spielbaren Klon von Dune 2000 in HTML, CSS und JavaScript erstellt. Das Spiel umfasst generierte Sprites, 34 französische Sprachansagen und 122 Tests. Um die Fehler des Agenten zu korrigieren, brauchte es 54 Nachrichten und 12 Screenshots. Die Sitzung entspricht rund 196 $ zum API-Tarif, hier über ein ChatGPT-Abonnement abgedeckt.
Bei Google schlägt die generierte Antwort auf „Spiel mit KI erstellen“ vor, ChatGPT oder Claude ein Minispiel in HTML schreiben zu lassen. Ich wollte sehen, was ein größeres Projekt ergibt, und habe einen Dune-2000-Klon drei Tage lang einem Code-Agenten überlassen.
Dune 2000 ist das Echtzeitstrategiespiel, das Westwood Studios entwickelt und 1998 veröffentlicht hat, ein Remake von Dune II. Der Agent ist die Desktop-App Codex mit dem Modell GPT-6 Astra, Denkaufwand xhigh. Die folgenden Zahlen stammen aus ihrem Sitzungsprotokoll, einer JSONL-Datei von 1,3 GB, und aus den Tests des Projekts, die ich am 14. September 2026 erneut ausgeführt habe.
Den fertigen Prototyp startest du unten direkt im Browser. Seine 51,6 MB werden erst geladen, wenn du auf „Testen“ klickst.
Clone de Dune 2000 : le prototype de Codex et GPT-6 Astra
Le prototype tel que Codex l'a laissé le 9 septembre 2026 : une escarmouche Atréides contre Harkonnen, à la souris et au clavier. Rien ne se charge avant votre clic.
Protokoll
Construit avec l'application Codex et le modèle gpt-6-astra en effort xhigh, du 6 au 9 septembre 2026 : 46 tours, 54 messages, 11 h 16 min de travail de l'agent. Compilé par Vite sans modifier le code du jeu, chemins des ressources rendus relatifs pour l'hébergement.

Das Projekt läuft in einer isolierten Sandbox (iframe sandbox und CSP): kein Zugriff auf die Website, Cookies oder Ihre Sitzung. Vor Ihrem Klick wird nichts geladen.
Der erste Prompt
Die erste Nachricht umfasste 66 Wörter. Hier ist sie, aus dem Französischen übersetzt und nur um Tippfehler bereinigt.
Ich möchte, dass du einen Klon von Dune 2000 in HTML, CSS und JavaScript erstellst und dich dabei am Projekt OpenRA orientierst. Du kannst frei die Sprites generieren, die du willst und brauchst, einschließlich der zugehörigen Animationen. Ich möchte einen spielbaren Prototyp einer 1v1-Partie Atreides gegen Harkonnen. Das Projekt OpenRA liegt im Ordner /Projets/OpenRA-bleed.
OpenRA ist eine freie Engine für Echtzeitstrategiespiele, in C# geschrieben, auf der Dune 2000 und die ersten Command & Conquer laufen. Astra hat ihren Code nicht portiert. Aus OpenRA stammen die Regeln der Mod d2k, also Kosten, Wirtschaft und Voraussetzungsketten. Darauf hat Astra eine vom Rendering unabhängige JavaScript-Simulation aufgebaut, die sich in Node testen lässt und mit Phaser 3.90 dargestellt wird.
Vorgaben zur Arbeitsweise habe ich keine gemacht. Astra hat von sich aus die Skills des von OpenAI veröffentlichten Plugins Game Studio gelesen (web-game-foundations, phaser-2d-game, sprite-pipeline, game-ui-frontend, game-playtest), dazu den Skill imagegen, der in Codex die Bilder generiert. Das sind SKILL.md-Dateien, die der Agent lädt, bevor er handelt, nach dem Prinzip, das unser Leitfaden zu Agent Skills erklärt.
Die Sitzung lief ohne Sandbox und ohne Freigabeanfragen (danger-full-access, Freigaben auf never). Astra konnte Chrome starten, npm-Pakete installieren und überall auf die Festplatte schreiben, ohne eine der Schutzvorkehrungen aus unserem Artikel darüber, was die Sandbox von Codex blockiert.
Einunddreißig Minuten bis zur ersten Partie
Die erste Runde dauerte 31 Min. 30 s bei 25 Tool-Aufrufen. Astra generierte die Sprites der Gebäude, der Erntemaschine, der Panzer und der Infanterie und programmierte dann das Ernten von Spice, die Energie, die Produktionswarteschlangen, den Kampf und eine Harkonnen-KI, die in Wellen angreift. Nebel des Krieges, Minimap, Rahmenauswahl und Angriffsbewegung auf der Taste A waren schon in dieser Runde dabei.
Zum Abschluss liefen elf Simulationstests, von Playwright gesteuerte Versuche in Chrome und eine automatisierte Partie, die im Schwierigkeitsgrad „Découverte“ gewinnt. Die Runde kostete umgerechnet 5,96 $ zum API-Tarif.
Die Partie lief, sah aber noch nicht nach Dune 2000 aus. Meine zweite Nachricht listete auf, was fehlte: Animationen, Panzerkanonen, die sich ausrichten, mehr Bodentexturen, eigene Einheiten für die Harkonnen und ein schnellerer Bau. In 32 Minuten trennte Astra Fahrgestelle und Türme, damit die Panzer in 360° zielen, zeichnete eine schwarz-rote Harkonnen-Armee mit Quad und doppelläufigem Devastator und ließ jedes Gebäude in 4 bis 6 Sekunden mit Fundament, Gerüst und Kran entstehen. Das Projekt zählte da 17 Tests.
Sechsundvierzig Runden an drei Tagen
Eine Runde beginnt mit meiner Nachricht und endet mit Astras Antwort. Dazwischen reiht der Agent selbstständig Befehle, Bildgenerierungen, Browser-Screenshots und Tests aneinander. Ich habe 54 Nachrichten geschickt, 12 Screenshots angehängt, oft direkt auf der Spielseite im Browser von Codex annotiert, und 4 Runden unterbrochen.
| Tag | Runden | Arbeitszeit des Agenten | Wichtigste Wünsche | Tests am Tagesende | Kosten zum API-Tarif |
|---|---|---|---|---|---|
| 6. September | 20 | 5 Std. 01 Min. | Animationen, 157 Geländekacheln, acht Richtungen für die Infanterie, Sandwürmer, Mauszeiger, erste Sounds von ElevenLabs | 56 | 83,86 $ |
| 8. September | 23 | 5 Std. 51 Min. | Oberfläche des Originalspiels, französische Stimmen, Carryall, sechs Gebäude und ihre Einheiten, Texturen, Dekor, Betonplatten | 119 | 100,53 $ |
| 9. September | 3 | 24 Min. | Betonplatten für ein einzelnes Feld, per Ziehen gesetzt | 122 | 11,62 $ |
Astra hat zu jeder Funktion Tests hinzugefügt, ohne dass ich einen einzigen verlangt hätte. Der Zähler stieg von 11 auf 17, 24, 29, 33, 41, 44, 51, 56, 67, 69, 75, 85, 90, 106, 111, 119 und schließlich 122 am 9. September. Am 14. erneut ausgeführt, laufen die 122 Node-Tests in 2,1 Sekunden durch. Das Projekt enthält außerdem 24 Browser-Szenarien, eines pro großer Funktion, und 16 Skripte, die Bilder und Sounds aufbereiten.
Wo Astra danebenlag
Eine Korrektur, die die Wegfindung kaputt macht
In Runde 12 meldete ich Panzer, deren Sprites sich überlappten. Astra maß Fahrzeuge, die sich bis auf 30 Pixel näherten, obwohl ihr Fahrgestell mehr als 60 misst, und gab dann jedem einen Kollisionsbereich in seiner Größe. Ein Angriff von zwölf Harkonnen-Fahrzeugen, auf 165 % gezoomt, bestätigte die Korrektur, und die 51 Tests liefen durch.
Fünf Runden später hielten die Einheiten viel zu viel Abstand, und manche kamen nicht zwischen zwei Gebäuden durch, die weit genug auseinanderstanden. Astra fand zwei Ursachen, darunter die eigene Korrektur. Die Kollisionen deckten die gesamte Diagonale der Sprites ab, und das Navigationsraster verdeckte Durchgänge. Die Reparatur dauerte 24 Min. 54 s und brauchte 32 Tool-Aufrufe, mit einem 16-Pixel-Raster, einer Grundfläche pro Fahrzeug und Einheiten, die zur Seite ausweichen, um andere durchzulassen. Der Test aus Runde 12 maß die Überlappung der Fahrgestelle und sonst nichts, diese Regression konnte er nicht erkennen.
Was eine Unterbrechung kostet
Am 8. September verlangte eine einzige Nachricht unterschiedliche Erntemaschinen für jedes Haus, einen Carryall, der sie zur Raffinerie zurückbringt, Raffinerien, die jeweils nur eine Erntemaschine entladen, sowie sechs Gebäude des Originalspiels mit ihren Einheiten. Nach sechs Minuten habe ich diese Runde unterbrochen, um einen Screenshot der Original-Erntemaschine zu schicken. Astra zeichnete die Erntemaschine in acht Ausrichtungen neu und sonst nichts.
In der nächsten Nachricht musste ich „Das hast du nicht gemacht“ schreiben, gefolgt vom Carryall und den vergessenen Andockplätzen. Astras Antwort bestand aus einem Satz: „Du hast recht, ich habe die Sprites fertiggestellt, ohne die gewünschte Logistik hinzuzufügen.“ Am selben Tag ging mit einer weiteren unterbrochenen Runde eine Anmerkung verloren, nach der kleine Berge als Steine im Sand wiederverwendet wurden. Ich habe sie drei Runden später erneut eingefügt. Die Logistik selbst brauchte 35 Minuten und 40 Tool-Aufrufe, und das Projekt stieg auf 85 Tests.
Bilder, die neu entstehen mussten
Mehrere Bildserien mussten neu erstellt werden. In Runde 36 sahen sich die Vorschaubilder der sechs neuen Gebäude alle ähnlich und hatten nicht den Stil der Windfalle, die zwei Tage zuvor entstanden war. Sie einzeln neu zu erstellen, parallel zur Integration der neuen Einheiten, dauerte 47 Min. 54 s und brauchte 67 Tool-Aufrufe, für 16,16 $ zum API-Tarif, die teuerste Runde der Sitzung.
Astra bemerkte auch Mängel vor mir. Die ersten Infanterie-Sheets in acht Richtungen zeigten Ansichten, die einander zu ähnlich waren, und Astra hat sie vor der Integration neu erstellt. In Runde 41 kamen zwei Texturgenerierungen, Fels und Geröll, ohne Bild zurück, und Astra hat sie neu gestartet.
Als Astra im Originalspiel nachsah
Mehrmals las Astra zuerst im Handbuch von Dune 2000 nach und setzte einen Wunsch erst danach um. Ich wollte wissen, ob das Originalspiel jeder Raffinerie einen Carryall zuordnet. Astra verneinte und zitierte die Seiten 16, 17 und 45 des Handbuchs von 1998. Jede Raffinerie liefert eine Erntemaschine, die ein Carryall bringt, und Transport-Carryalls werden separat in der Hightech-Fabrik gebaut. Ich habe diese Seiten nachgelesen, dort steht genau das.
Am Abend des 8. September wollte ich auf Sand bauen können, indem ich Betonplatten verlege. Astra erinnerte zuerst daran, dass das Originalspiel Gebäude nur auf Fels erlaubt, wo die Platten die Gebäude vor Verschleiß schützen, und setzte dann meine Variante um. Ein Gebäude auf nacktem Fels startet beschädigt, ein vollständig betonierter Bauplatz gibt ihm alle Lebenspunkte, und der Bauhof zu Spielbeginn steht auf neun Platten. Sandwürmer umgehen diesen Beton, auch wenn er auf Sand liegt. Am nächsten Tag habe ich die Platte auf ein Feld verkleinert, gesetzt per Klick oder Ziehen für 5 Credits pro Feld.
Soundeffekte und Stimmen mit ElevenLabs generiert
Die ersten Sounds wurden im Code synthetisiert. In Runde 13 bat ich darum, ElevenLabs über einen Skill einzubinden. Astra installierte den offiziellen Skill sound-effects von ElevenLabs und legte für den Schlüssel eine von Git ausgeschlossene Datei .env.local an. Der erste Schlüssel wurde abgelehnt (401 invalid_api_key). Der zweite, 24 Stunden gültig, erzeugte 20 Effekte mit dem Modell eleven_text_to_sound_v2, die FFmpeg in Mono-WAV umwandelte.
Am 8. September kamen 34 Sprachansagen auf Französisch hinzu, von „Alerte ! Notre base est attaquée“ (Alarm! Unsere Basis wird angegriffen) bis „Commandant, votre base est opérationnelle“ (Kommandant, Ihre Basis ist einsatzbereit). Die französische Stimme der ElevenLabs-Bibliothek ist den kostenpflichtigen Tarifen vorbehalten. Astra nahm deshalb eine mehrsprachige Standardstimme mit eleven_multilingual_v2 und ließ die 34 Dateien anschließend von Scribe v2 transkribieren, um jeden Satz zu prüfen. Die Ansagen laufen über eine Prioritätswarteschlange, senken die Musik ab und erscheinen als Untertitel. Zwölf Fahrzeuggeräusche folgten in Runde 39.
Die Musik wurde nicht generiert. Command of the Scorched Plain ist eine MP3-Datei, die ich beigesteuert habe, in Schleife mit eigener Lautstärke abgespielt. Alle Sounds werden aus dem Projekt ausgeliefert, ohne API-Aufruf während der Partie, und das Ablaufen des Schlüssels ändert nichts an ihrer Wiedergabe.
Zeit, Tokens und Kosten
Jede Antwort des Modells hinterlässt eine Zeile token_usage_record im Sitzungsprotokoll, das unter ~/.codex/sessions/ liegt. Dieser Befehl summiert sie, ohne das ganze Protokoll in den Speicher zu laden:
jq -c 'select(.type == "token_usage_record") | .payload.usage' \
~/.codex/sessions/2026/09/06/rollout-2026-09-06T13-20-25-01a07672-bb68-7500-b23a-db1fc7ccbe3e.jsonl \
| jq -s '{reponses: length, entree: (map(.input_tokens) | add), cache: (map(.cached_input_tokens) | add), sortie: (map(.output_tokens) | add)}'{
"reponses": 856,
"entree": 120107006,
"cache": 116244736,
"sortie": 822700
}| Messung | Dune-2000-Klon |
|---|---|
| Zeitraum | vom 6. September, 13:23 Uhr, bis 9. September, 11:26 Uhr (Pariser Zeit) |
| Arbeitszeit des Agenten | 11 Std. 16 Min. in 46 Runden |
| Antworten des Modells | 856 |
| Tool-Aufrufe | 800 |
| Kontextkomprimierungen | 15 |
| Tokens in der Eingabe | 120.107.006, davon 116.244.736 aus dem Cache gelesen (96,8 %) |
| Tokens in der Ausgabe | 822.700, davon 264.688 Reasoning-Tokens |
| Kosten zum API-Tarif | 196,00 $ |
Die Rechnung folgt der Preisliste von GPT-6 Astra, die auf OpenRouter veröffentlicht ist und am 14. September 2026 abgerufen wurde, also 10 $ pro Million Tokens in der Eingabe, 1 $ für Cache-Lesezugriffe und 50 $ in der Ausgabe unterhalb von 272.000 Tokens Kontext. Das Kontextfenster von Codex war auf 258.400 Tokens begrenzt, alle Anfragen bleiben also in dieser Preisstufe. Das ergibt 38,62 $ für nicht gecachte Eingabe, 116,24 $ für den Cache und 41,14 $ für die Ausgabe.
Ich habe nichts pro Einheit bezahlt. Codex lief über mein ChatGPT-Abonnement, das die Nutzung als Kontingent abrechnet, und dieser Betrag dient als Richtwert. Ohne Cache hätten allein die Eingabe-Tokens 1.201 $ gekostet, fast achtmal so viel wie die berechneten 154,87 $. Eine Korrektur am Mauszeiger in Runde 4 brauchte 1 Min. 24 s und 0,86 $. Wie sich GPT-6 Astra bei einer kürzeren Aufgabe gegen Claude Fable 5.1 schlägt, zeigt unser Vergleich in three.js.
Was der Projektordner enthält
Das fertige Projekt umfasst 41 Quelldateien (3.261 Zeilen, 332 KB), 956 Zeilen Tests und 2.172 Zeilen Skripte. Der Ordner public/ liefert 227 PNG-Bilder, 57 WebP-, 32 WAV- und 35 MP3-Dateien aus, und elf JSON-Dateien bewahren die Prompts der generierten Bilder auf. Der Prototyp verwendet keine einzige Datei aus Dune 2000, seine Sprites, Artworks und Sounds wurden eigens für ihn erstellt.
Es handelt sich um ein Einzelspieler-Gefecht gegen die KI, ohne Kampagne, ohne Mehrspielermodus und ohne Speicherstand. Die Regeln von OpenRA wurden angepasst, wenn ich es verlangt habe, etwa beim Beton auf Sand oder bei der parallelen Produktion, bei der zwei Fabriken die Bauzeit eines Panzers halbieren und drei sie dritteln. Derselbe Agent hat danach an einem Abend ein RPG mit einer ganz anderen Methode gebaut, beschrieben in Spiel mit ChatGPT erstellen, ein RPG im Stil von EarthBound.
Was du dir merken solltest
- Codex und GPT-6 Astra haben in 46 Runden und 11 Std. 16 Min. Arbeitszeit des Agenten ein spielbares Echtzeitstrategiespiel gebaut, mit 54 Nachrichten von mir zur Kurskorrektur.
- OpenRA lieferte die Ausgangsregeln, und das Handbuch von 1998 hat die Frage des Carryalls und die der Betonplatten entschieden.
- Eine Unterbrechung löscht die Wünsche der laufenden Runde. Zweimal musste ich sie erneut schicken.
- Die Tests stiegen von 11 auf 122, ohne dass ich sie verlangt habe, und keiner hat die Regression bei der Wegfindung in Runde 17 kommen sehen.
- Der Cache bestimmt die Rechnung. 96,8 % der Eingabe-Tokens wurden zu 1 $ pro Million statt 10 $ erneut gelesen, für insgesamt 196 $ zum API-Tarif.
Häufige Fehler
npm run test:pathfinding, bevor du abnimmst.~/.codex/sessions/…/rollout-….jsonl. Leg ihn in .env.local ab, von Git ausgeschlossen, und nenne dem Agenten nur den Namen der Variable.danger-full-access, ohne Freigaben. Behalte diese Einstellung einem Wegwerf-Ordner vor, ohne Produktionsschlüssel in Reichweite.

