Bubble Arcade
Bubble Arcade nasce da una domanda semplice: fino a che punto puoi affidare un progetto reale all'intelligenza artificiale? Il risultato è un portale con undici giochi arcade (Snake, Tetris, Breakout, Space Invaders, Flappy Bird e altri sei titoli) costruito quasi interamente con due strumenti AI: Stitch per il design system e Claude Code per il sorgente HTML, CSS e JavaScript. Zero dipendenze esterne, zero build step, tutto funzionante su file://.
La sfida
Il progetto aveva due vincoli precisi: nessuna dipendenza esterna e nessun toolchain di build. Questo significa che il motore di gioco, il sistema di sprite pixel art, il loop di animazione, l'audio sintetico e le leaderboard in localStorage dovevano essere scritti da zero, in vanilla JS, e restare coerenti tra undici implementazioni diverse. Il secondo vincolo era mantenere un design system coerente su tutto il portale (nav, footer, card dei giochi, pagine di gioco) senza reintrodurre stili duplicati ad ogni nuovo titolo.
La soluzione
Ho diviso il lavoro tra i due strumenti: Stitch ha generato l'identità visiva del portale (palette, variabili CSS, componenti UI, temi per le thumbnail) che ho poi trasformato in un file design-system.css condiviso. Claude Code ha progettato e scritto l'intera architettura JavaScript: BubbleEngine (game loop, input, audio, collision), il sistema di sprite procedurali su OffscreenCanvas e BubbleScores (leaderboard localStorage). Ogni gioco usa lo stesso engine e la stessa API, mantenendo la logica di gioco separata dall'infrastruttura. Il mio contributo è stato dare la direzione, definire i vincoli e garantire la coerenza tra le parti.
I risultati
Undici giochi arcade completi e giocabili, con punteggi persistenti, sprite animati, audio procedurale e supporto touch/mobile. Il codice è aperto e ogni gioco è autonomo: basta aprire il file HTML nel browser. L'esperimento ha dimostrato che con una direzione chiara e vincoli ben definiti, due strumenti AI specializzati possono coprire l'intero ciclo di sviluppo (dal design al codice funzionante) su un progetto con complessità reale.