IA du Week-end : deux POC jeux vidéo pour tester une chaîne de conception de mini jeu vidéo 3D en html / Three.js assistée de bout en bout. L'objectif n'était pas de refaire Space Invaders, mais de voir jusqu'où on va en vibe-coding quand chaque outil prend une étape claire du pipeline.
Conception — specs rapides avec Perplexity
Le point de départ : une idée floue (arcade rétro-futuriste, twist IA, esthétique CRT/Tron). Perplexity sert à cadrer vite — références visuelles, structure en actes, contraintes techniques (WebGL2, mobile, audio iOS). On en sort des specs courtes : gameplay v1 en 2.5D (plan XY), puis pivot v2 vers un rail shoot'em up 3D (plan XZ, caméra chase) dans le même univers, sans réécrire toute la bible.
Développement — v1 et v2 avec Claude
Le gros du code physique : Claude (Claude Code). Deux codebases séparées dans un monorepogames-poc/ — v1 gelée, v2 active — avec la même stack mais des gameplays qui divergent. Pas d'ECS : classes update(dt), state machine TITLE/PLAYING/PAUSED, build qui produit un fichier HTML unique prêt à ouvrir dans le navigateur.
Ouvrir AI Invaders v1 — build single-file (nouvel onglet)
La suite — itérations avec Cursor
Une fois les fondations posées, Cursor prend le relais pour les passes fines : polish HUD, collisions rail, phases de boss, scripts de build. Même logique que sur un repo pro — diff court, test navigateur, commit — sauf que le livrable final reste un HTML autonome, pas une app déployée.
Ouvrir AI Invaders v2 HYPERLANE — build single-file (nouvel onglet)
Stack technique
- Three.js embarqué dans le bundle (pas de CDN en prod — tout est inlined au build)
- WebGL2, post-processing léger, input clavier + tactile
- Audio Web Audio API avec contournement iOS unmute
- Build
esbuild→ un seuldist/*.html(~600 Ko) copiable tel quel
Side project, zéro SLA et aucune garantie !