Actu/Blog
IAJeuxSide project

IA du Week-end — AI Invaders v1 et v2

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 seul dist/*.html (~600 Ko) copiable tel quel

Side project, zéro SLA et aucune garantie !