Drift
5 500 lignes condensées en 164. Un fichier, un input, encore un essai.
Un orbe, un couloir, un doigt
À droite, ce n’est pas un trailer. C’est le jeu, en entier, tel qu’il tourne. Un seul input — une pression, n’importe où — fait remonter l’orbe ; relâcher le fait redescendre. Les piliers défilent. On recommence.
D’où ça vient
Le projet est né d’un test. Replit avait sorti une option Game, j’ai voulu l’essayer en bricolant un Flappy Bird en 3D. J’ai sorti un truc cool, puis j’ai filé le repo à Claude Code, qui en a refait une version mieux codée — Three.js propre, moteur de jeu séparé, AudioManager avec tests, cinq biomes, quatre hazards, un BossManager, un PowerUpManager, dix suites de tests Vitest. Un petit jeu en grande tenue.
À un moment, je me suis demandé ce que ce projet avait d’intéressant, vraiment. La seule réponse qui tenait, c’était : voir jusqu’où je peux pousser Claude Code sur l’efficience du code. Alors on a tout repris. Univers graphique simplifié, un seul fichier, aussi compact que possible.
Le renommage Birdie → Drift s’est décidé dans la même conversation. On a brainstormé les noms ; je ne me souviens pas des candidats écartés. Drift capture mieux ce qui reste : un orbe qui flotte, pas un oiseau qui se débat.
Le chiffre
Commit du 14 mars : 59 fichiers supprimés, environ 5 500 lignes de code retirées d’un coup, tout le moteur Three.js, les biomes, les hazards, les tests Vitest, le build Vite, TypeScript. Commit suivant, le même jour : un unique fichier HTML, 164 lignes, WebGL2 + GLSL + Web Audio, zéro dépendance, zéro étape de build.
Ratio : environ 33× de compression. La contrainte n’était pas un nombre — aussi serré que possible — et on a itéré avec Claude jusqu’à ce que Claude lui-même considère qu’on ne pouvait plus rien gagner.
Ce qui reste
Je ne regrette aucun des retraits. Pas les biomes, pas les laser gates, pas les tests. Le jeu est bien mieux comme ça. L’expérience de jeu n’a pas seulement survécu à la compression ; elle s’est clarifiée en la traversant. Ce qu’on voit à droite a la même densité que son code : noir, minimal, un peu hypnotique, et “encore” après chaque collision.
P.S.
Ce n’est pas une leçon générale sur la simplification. Je n’ai pas envie d’en tirer une méthode. C’est une observation particulière, à propos d’un petit jeu sans ambition : Claude Code, quand on lui demande explicitement d’être le plus court possible et qu’on le laisse juger du seuil, sait l’être. Ce savoir-là ne se constate qu’en le faisant, sur un projet qu’on a le droit de casser. Drift était ce projet.
Clic ou tap pour jouer.