
Codex, l'agent de code d'OpenAI utilisé avec un abonnement ChatGPT, a produit avec GPT-6 Astra un RPG jouable à la souris et à la manette, avec décors, sprites, portraits, sons et douze musiques générés. Le projet a demandé dix tours, 3 h 05 min de travail de l'agent et l'équivalent de 65 $ au tarif de l'API. Quatre de mes dix messages signalaient un défaut, de la logique des maisons aux collisions.
Codex, l’agent de code d’OpenAI que j’utilise avec mon abonnement ChatGPT, écrit les fichiers, lance les commandes et génère les images sans le moindre copier-coller. Le 13 septembre 2026, je lui ai demandé, avec GPT-6 Astra, un RPG au style d’EarthBound, le jeu d’Ape et HAL Laboratory sorti sur Super Nintendo en 1994, dans un seul prompt de 147 mots.
Pour le clone de Dune 2000, j’avais avancé par petites demandes pendant trois jours. Cette fois, le prompt imposait d’emblée une méthode pour les décors, et le prototype est sorti en une soirée.
Clairbois se joue ci-dessous, à la souris, au clavier ou à la manette. Le jeu attend votre clic pour charger ses 56,7 Mo.
Clairbois : le RPG façon EarthBound de Codex et GPT-6 Astra
La version 04.3 de Clairbois, telle que Codex l'a laissée le 13 septembre 2026. Souris, clavier ou manette, le premier geste active le son. Dans cette version intégrée, la sauvegarde ne dure que le temps de la page.
Protocole
Construit avec l'application Codex et le modèle gpt-6-astra en effort xhigh, le 13 septembre 2026 : 10 tours, 3 h 05 min de travail de l'agent. Fichiers du prototype servis tels quels, sans les pages d'audit ni les sources des images.

Le projet s’exécute dans une sandbox isolée (iframe sandbox et CSP) : aucun accès au site, aux cookies ni à votre session. Rien ne se charge avant votre clic.
Une carte générée d’un bloc, puis découpée
Je le recopie tel quel, fautes de frappe en moins.
Génère un jeu type EarthBound, en HTML, CSS et JavaScript, je veux que tu reprennes la même DA que le jeu original avec les mêmes UI pour un gameplay souris/manette. Par ailleurs, je veux que tu génères les personnages, leurs sprites et mouvements ainsi que les décors et les SFX. Pour les décors et la map, je veux que tu génères toute la map d’un coup, que tu l’analyses, que tu génères via un système de calques d’autres images pour les superposer, dans l’idée que si un personnage passe derrière un arbre ou une barrière, il puisse visuellement être derrière, mais l’intégralité de la carte sera générée d’un coup et utilisera ce système de calques. Tu détecteras donc les collisions et effectueras un mappage manuel vis-à-vis du résultat généré afin que le personnage ne passe pas à travers le décor. Fais un prototype rapide du jeu.
Les jeux 16 bits composent leurs cartes avec des tuiles. Ici, le décor est une illustration unique, et le moteur doit savoir ce qui passe devant le héros et où il bute. Astra a choisi Phaser 3.90, s’est appuyé sur le plugin Game Studio d’OpenAI, sur imagegen pour les images et sur sound-effects pour les sons, puis annoncé une petite aventure de quartier, avec exploration au clic, dialogue et combat au tour par tour.
Les personnages, les décors et les sons ont été créés pour le prototype, baptisé Clairbois. Le héros, Nino, croise Lila, Marcel, Iris et Rémi, et affronte un champignon nommé Myco.
Vingt-six minutes pour un premier prototype
Astra a généré la carte du quartier, relevé les quatre arbres, les barrières, les bâtiments et l’étang, puis tracé les collisions d’après leurs positions réelles. Les arbres bloquent au niveau du tronc, et le feuillage passe devant ou derrière le héros selon sa position. Le calque de premier plan est arrivé avec un damier dessiné à la place de la transparence, un défaut qu’Astra a repéré et corrigé seul.
Pour les sons, la clé ElevenLabs manquait au départ et Astra préparait des effets par synthèse. Je la lui ai collée dans la conversation deux minutes et demie plus tard, et sept effets ElevenLabs ont remplacé la synthèse. Le tour s’est terminé au bout de 26 min 6 s avec 24 poses de personnages, un parcours complet jusqu’au combat et 35 vérifications réussies, dont une manette simulée par l’API Gamepad. L’archive livrée ne contient aucune clé.
Des maisons sans logique, puis un plan d’architecte
Ma deuxième demande ajoutait l’intérieur des trois maisons avec plusieurs pièces, des lits où le héros se glisse sous la couverture comme dans Alundra ou Zelda, plus de quêtes et de nouvelles zones. Je l’ai interrompue après quatre minutes et demie. Mon message suivant posait une règle. Chaque pièce aurait sa propre image, et les plans suivraient une logique de structure, avec un escalier pris à gauche qui arrive en haut par la gauche et une porte au même endroit des deux côtés du mur.
Astra a d’abord écrit le plan des trois maisons, deux pièces au rez-de-chaussée et deux à l’étage, puis généré les douze pièces séparément. Le générateur d’images a déplacé certaines ouvertures. Astra a recalé chaque image sur les coordonnées du plan commun, une surface logique de 512 × 512 par pièce, et appliqué la même transformation aux collisions et aux calques. Les 28 passages entre pièces ont chacun leur liaison de retour, testée dans les deux sens.
J’ai ensuite demandé un audit des maisons. Astra y a relevé des plans presque identiques d’une maison à l’autre, des pièces trop vides et des escaliers d’étage qui donnaient l’impression de monter. Il a redessiné une maison familiale, une épicerie avec réserve et logement à l’étage, et une maison d’horlogère organisée autour d’un atelier, avec un escalier en colimaçon. Le générateur a encore ajouté des portes absentes du plan, corrigées avant de fixer les collisions, et 158 calques ont été exportés. L’audit, étalé sur deux tours, a coûté 14,95 $ au tarif de l’API.
Un défaut d’échelle restait visible à l’œil nu. Le héros gardait sa taille d’extérieur face à des meubles bien plus grands. Il mesure maintenant environ 62 pixels de haut dans les maisons, deux fois sa taille dehors, comme les habitants.
Calques et collisions, les deux bugs que j’ai relevés
Au tour 9, une capture montrait le héros avec les jambes coupées sur un sol libre, dans le bois. Astra a reproduit la coupure au pixel près. Le calque de l’arbre utilisait un contour approximatif qui englobait un triangle d’herbe. À la position signalée, l’ancien calque masquait 89 pixels du personnage, le nouveau n’en masque aucun. Les huit arbres du bois et du verger ont reçu des masques détaillés, stockés sous forme de bandes de pixels dans js/occlusion-data.js.
Au tour 10, je pouvais m’arrêter sur certains éléments du décor. Le panneau montré sur ma capture n’avait aucune collision déclarée, et Astra a trouvé d’autres oublis parmi les rochers, les buissons, les racines et les bordures de forêt. Il a aussi corrigé la recherche de chemin, qui pouvait proposer au clic un trajet coupant le coin d’un obstacle. Une sauvegarde faite sur un emplacement devenu solide replace désormais le héros sur le sol libre le plus proche.
Les contrôles géométriques du projet se lancent avec npm test, sans dépendance à installer. Voici leur sortie, relancée le 14 septembre :
{
"maps": 15,
"rooms": 12,
"portalDirections": 28,
"reachableInteractions": 55,
"boundaryMovementSamples": 22023,
"passed": true,
"failures": [],
"checks": 1515
}Les 1 515 contrôles passent en 2,9 secondes, avec 17 sondes de sol et de feuillage et 54 contrôles de décor. Le README rédigé par Astra précise que ces échantillons géométriques ne prouvent pas que chaque pixel du décor est juste.
Douze musiques et sept portraits
Au tour 7, j’ai demandé des musiques qui changent selon la situation et l’environnement. Astra a écrit douze prompts et généré douze morceaux avec l’API musicale d’ElevenLabs et le modèle music_v2, pour le village, les trois maisons, le bois, le verger, deux combats, le repos dans un lit, le rêve, la victoire et la défaite. Les dix thèmes d’ambiance bouclent avec un fondu de 350 ms, les changements de lieu passent par un fondu de 850 ms, et la musique baisse pendant les dialogues.
Quarante contrôles audio ont réussi dans Chrome. Ils vérifient le signal, les boucles et les transitions, et le README précise qu’ils ne remplacent pas une écoute pour juger la musique elle-même.
Les portraits sont venus au tour 8. Astra a fait générer par imagegen sept portraits en pixel art à partir des sprites existants, en gardant coiffures, vêtements et couleurs. Ils s’affichent à côté des répliques de chaque personnage, et celui du héros apparaît dans les menus avec son niveau et ses points de vie et de pouvoir. Les fenêtres tiennent jusqu’à 320 pixels de large.
Temps, tokens et coût
| Mesure | Clairbois |
|---|---|
| Période | 13 septembre, de 16 h 53 à 23 h 23 (heure de Paris) |
| Travail de l’agent | 3 h 05 min sur 10 tours, dont 2 interrompus |
| Messages envoyés | 10, dont 2 avec une capture d’écran |
| Réponses du modèle | 269 |
| Appels d’outils | 257 |
| Compactions du contexte | 4 |
| Tokens en entrée | 35 405 000, dont 33 769 472 lus en cache (95,4 %) |
| Tokens en sortie | 301 285, dont 114 284 de raisonnement |
| Coût au tarif de l’API | 65,19 $ |
Au tarif relevé sur OpenRouter le 14 septembre 2026, le même que pour le clone de Dune 2000, le total se répartit en 16,36 $ d’entrée non mise en cache, 33,77 $ de cache et 15,06 $ de sortie. Mon abonnement ChatGPT décompte cet usage en quota, le montant sert de repère. Le même modèle affronte Claude Fable 5.1 sur une scène three.js dans notre comparatif des deux agents.
Deux projets, deux façons de piloter l’agent
| Mesure | Clone de Dune 2000 | Clairbois |
|---|---|---|
| Genre | stratégie en temps réel | RPG d’exploration |
| Premier prompt | 66 mots et un dépôt de référence | 147 mots et une méthode imposée |
| Tours | 46 | 10 |
| Messages | 54 | 10 |
| Travail de l’agent | 11 h 16 min | 3 h 05 min |
| Coût au tarif de l’API | 196,00 $ | 65,19 $ |
| Coût par heure de travail | 17,40 $ | 21,12 $ |
| Contrôles automatisés | 122 tests Node, 24 parcours de navigateur | 1 515 contrôles géométriques |
Le prompt long a demandé cinq fois moins de messages, pour un coût plus élevé par heure de travail. Le modèle a répondu plus souvent, 1,45 fois par minute contre 1,27, avec un peu moins de cache, 95,4 % contre 96,8 %. Les deux jeux n’ont ni le même genre ni la même taille, ces écarts ne désignent donc pas une méthode meilleure que l’autre.
Ce qu’il faut retenir
- Générer une carte entière en une image fonctionne, à condition de faire tracer ensuite chaque collision et chaque calque, puis de les tester.
- Pour des intérieurs, le plan s’écrit avant la première image. Portes et escaliers alignés, 28 passages vérifiés.
- Le générateur d’images déplace des ouvertures, dessine des damiers et ajoute des portes. Chaque image se contrôle avant d’entrer dans le jeu.
- Quatre de mes dix messages signalaient un défaut visible que les tests automatiques n’avaient pas relevé.
- Douze musiques et sept portraits ont tenu en deux tours et 10,81 $ au tarif de l’API.
Erreurs fréquentes
architecture.json ici.F2 ici, et un test de trajets.

