tutorial· 10 min read

Come Costruire un Gioco Browser con Three.js in VULK

Tutorial passo passo per costruire giochi browser 3D con Three.js in VULK. Copre fisica, controlli, illuminazione, prestazioni, deploy e prompt testati per platformer, runner, shooter e puzzle.

João CastroJoão Castro
Come Costruire un Gioco Browser con Three.js in VULK

Aggiornato il 17 luglio 2026 — rinfrescato con dati verificati della piattaforma, pattern di prompt testati e dettagli di deploy attuali.

Come si costruisce un gioco browser con Three.js in VULK?

La risposta completa in un paragrafo: descrivi il gioco — meccaniche, controlli, camera, condizioni di vittoria/sconfitta — in un singolo prompt, e VULK rileva che è un gioco e genera un progetto Vite + Three.js completo: setup di renderer e scena, un mondo fisico a timestep fisso (Cannon.js), controlli del giocatore, illuminazione con ombre, un game loop requestAnimationFrame con delta time e un HUD HTML sovrapposto al canvas. Il gioco gira immediatamente nell'anteprima live; poi iteri con prompt di follow-up ("aggiungi il doppio salto", "aggiungi il suono", "aggiungi controlli touch per mobile") e fai il deploy su Cloudflare Pages con un clic. Non scrivi mai boilerplate WebGL a mano.

Questo non è un workflow di nicchia. Giochi e puzzle sono la categoria #2 delle app generate con IA, con il 5,4% di tutti i progetti, dietro solo alle dashboard (dati della piattaforma VULK, luglio 2026, N = 10.994 progetti attivi) — e il builder mediano pubblica la prima app funzionante 47 secondi dopo la registrazione. Il resto di questa guida copre cosa viene generato, prompt testati per genere di gioco, pattern di prestazioni e il percorso verso un URL pubblico.

Perché Three.js per i giochi browser?

Three.js è la libreria standard per il rendering 3D nel browser. Astrae WebGL in un modello a scene graph — camere, mesh, luci, materiali — che rende pratico costruire esperienze 3D interattive senza scrivere codice shader grezzo. Combinato con motori fisici come Cannon.js o Rapier, ottieni rilevamento delle collisioni, gravità e dinamica dei corpi rigidi. Combinato con VULK, ottieni un progetto di gioco completo generato da un singolo prompt.

VULK rileva automaticamente quando il tuo prompt descrive un gioco. Quando succede, la pipeline di generazione passa a un template Three.js che include di serie render loop, setup della scena, controlli della camera e integrazione della fisica. Non serve specificare "usa Three.js" — descrivi semplicemente il gioco che vuoi.

Cosa genera VULK per un prompt di gioco?

Quando VULK rileva un prompt di gioco, il progetto generato include un insieme specifico di file e sistemi:

Sistema Cosa ottieni
Setup della scena Renderer con antialiasing, gestione del pixel ratio, listener di resize; inizializzazione di scena + camera
Mondo fisico Mondo Cannon.js a timestep fisso di 1/60s; ogni mesh visiva abbinata a un corpo fisico, sincronizzata a ogni frame
Controlli del giocatore WASD + pointer lock per la prima persona, orbit controls per la terza persona, salto con barra spaziatrice al contatto col suolo
Illuminazione Riempimento ambientale + sole direzionale con shadow map, più point light per aree specifiche
Game loop Loop requestAnimationFrame con delta time — velocità costante a qualsiasi refresh rate
HUD Overlay HTML/CSS per punteggio, vita, timer o altro stato di gioco sopra il canvas

Quali prompt funzionano per ogni genere di gioco?

La specificità del tuo prompt controlla direttamente la complessità e la qualità dell'output. Ecco esempi per i tipi di gioco più comuni.

Platformer: "Costruisci un platformer 3D. Il giocatore è una sfera che rotola su piattaforme fluttuanti. Le piattaforme sono rettangolari, di colori diversi e ad altezze variabili. Includi un contatore di punti che aumenta quando il giocatore raggiunge una nuova piattaforma. Se il giocatore cade sotto y=-10, riparti dall'inizio. Aggiungi controlli WASD e barra spaziatrice per saltare. La camera segue il giocatore da dietro."

Questo prompt attiva la generazione di piattaforme con layout casuali, una camera che segue, il rilevamento delle cadute e il tracciamento del punteggio. Il sistema fisico gestisce la palla che rotola in modo naturale.

Endless runner: "Crea un gioco endless runner. Il giocatore corre in avanti automaticamente su una strada a 3 corsie. Le frecce cambiano corsia. Gli ostacoli appaiono casualmente e il giocatore deve schivarli. La velocità aumenta col tempo. Mostra la distanza percorsa come punteggio. Game over alla collisione."

VULK genera un sistema di object pooling per gli ostacoli, la logica di cambio corsia con transizioni fluide, difficoltà progressiva e rilevamento delle collisioni tra il giocatore e le mesh degli ostacoli.

Shooter: "Costruisci uno shooter in prima persona con controlli pointer lock. Il giocatore si muove con WASD in un'arena rettangolare. I nemici sono cubi rossi che avanzano verso il giocatore. Clic per sparare proiettili. I nemici richiedono 3 colpi per essere distrutti. Mostra barra della vita e conteggio delle uccisioni. I nemici compaiono ogni 5 secondi, in numero crescente nel tempo."

Questo genera l'integrazione del pointer lock, raycasting o fisica dei proiettili per lo sparo, IA nemica con pathfinding verso il giocatore, un sistema di vita e la gestione degli spawn.

Gioco puzzle: "Crea un puzzle 3D in cui il giocatore spinge casse su caselle contrassegnate. Stile Sokoban. Movimento a griglia, 5 livelli con difficoltà crescente. Mostra il numero di mosse e il numero del livello. Pulsante di annulla per invertire l'ultima mossa."

Il movimento a griglia è gestito agganciando le posizioni a coordinate intere dopo ogni input. I dati dei livelli sono memorizzati come array 2D che definiscono muri, casse, obiettivi e posizione di partenza del giocatore.

Come si personalizza il gioco generato?

Il gioco generato è un progetto Vite + Three.js standard. Ogni file è modificabile. Personalizzazioni comuni che puoi fare con prompt di follow-up:

Cambiare lo stile visivo: "Fai sembrare le piattaforme blocchi di pietra con una texture. Aggiungi una skybox con un gradiente da tramonto." VULK aggiungerà il caricamento delle texture e una cube texture o una skybox basata su shader.

Aggiungere il suono: "Aggiungi un effetto sonoro per il salto, un suono per la raccolta delle monete e musica di sottofondo. Usa la Web Audio API." La generazione aggiunge un audio manager che precarica e riproduce i file sonori nei momenti giusti.

Aggiungere controlli mobile: "Aggiungi controlli touch — un joystick virtuale sul lato sinistro e un pulsante di salto a destra." Questo genera un overlay HTML con listener di eventi touch che alimentano lo stesso sistema di input dei controlli da tastiera.

Migliorare la fisica: "Fai rimbalzare la palla sui muri invece di fermarla. Aggiungi attrito al terreno così la palla rallenta quando non si muove." Questi si traducono in proprietà dei materiali di Cannon.js — restitution per il rimbalzo, coefficienti di attrito per le superfici.

Questo loop iterativo è il modo in cui i buoni giochi vengono davvero costruiti sulla piattaforma: la conversazione mediana di costruzione è di 4 messaggi, mentre i progetti più curati superano i 25 (dati della piattaforma VULK, luglio 2026). Parti dalla meccanica centrale, poi aggiungi strati di rifinitura.

Come si mantiene veloce un gioco browser?

I giochi browser girano nel thread principale insieme alle operazioni DOM, quindi le prestazioni contano. I giochi generati da VULK includono diverse ottimizzazioni di default:

  • Riutilizzo della geometria — Le mesh identiche condividono istanze di geometria e materiale invece di crearne di nuove per ogni oggetto.
  • Frustum culling — Three.js scarta automaticamente gli oggetti fuori dal campo visivo della camera, ma VULK disabilita anche il rendering degli oggetti troppo lontani dal giocatore.
  • Timestep fisico fisso — La fisica gira a un ritmo costante indipendentemente dal framerate di rendering, prevenendo il tunneling a FPS bassi e l'instabilità a FPS alti.
  • Object pooling — Per i giochi con molti oggetti che compaiono/scompaiono (proiettili, nemici, particelle), gli oggetti vengono riciclati da una pool invece di essere creati e raccolti dal garbage collector.

Se noti cali di frame, un buon prompt di follow-up è: "Ottimizza il gioco per le prestazioni mobile. Riduci la risoluzione delle shadow map, abbassa la draw distance e semplifica le geometrie." VULK regolerà le impostazioni del renderer e la complessità della scena di conseguenza.

Come si fa il deploy e si condivide il gioco?

Quando sei soddisfatto del gioco nell'anteprima in tempo reale di VULK, clicca su Deploy. Il gioco viene compilato e distribuito su Cloudflare Pages, dandoti un URL pubblico da condividere. Il gioco distribuito è statico — solo HTML, JS e asset — quindi carica velocemente e funziona su qualsiasi browser moderno.

Per i giochi con classifiche o stato persistente, puoi chiedere a VULK di generare un backend: "Aggiungi una classifica. Salva i 100 migliori punteggi con nome del giocatore e data. Mostra la classifica nella schermata di game over." Questo attiva la generazione di backend di VULK, aggiungendo un database PostgreSQL ed endpoint API accanto al gioco. È comune su tutta la piattaforma — il 62% di tutte le app generate include uno schema SQL di database (dati della piattaforma VULK, luglio 2026).

Cosa fa funzionare al meglio i prompt di gioco?

I giochi Three.js in VULK funzionano al meglio quando descrivi chiaramente le meccaniche. Descrizioni astratte come "fai un gioco divertente" producono risultati generici. Meccaniche specifiche come "il giocatore fa doppio salto, scivola sui muri e fa dash" producono giochi con esattamente quei sistemi implementati.

Parti dalla meccanica centrale. Falla funzionare nell'anteprima. Poi itera — aggiungi nemici, punteggio, livelli, suono e rifinitura visiva con prompt di follow-up. Ogni iterazione costruisce sul codice esistente, quindi accumuli complessità senza ricominciare da capo.

La combinazione di Three.js per il rendering, Cannon.js per la fisica e la pipeline di generazione di VULK significa passare dall'idea al prototipo giocabile in minuti invece che giorni. Da lì, la rifinitura tramite prompt o la modifica manuale del codice ti porta a un gioco curato che puoi pubblicare.


FAQ

Devo saper programmare per costruire un gioco Three.js in VULK?

No. Il prompt descrive le meccaniche in linguaggio semplice e la pipeline genera il progetto completo. Detto questo, l'output è TypeScript/JavaScript standard in un progetto Vite — se sai programmare, puoi aprire qualsiasi file e modificarlo direttamente accanto all'IA.

Quale motore fisico usa VULK per i giochi generati?

Cannon.js di default, con un mondo a timestep fisso di 1/60s sincronizzato al render loop. Se preferisci Rapier, nominalo nel tuo prompt. I giochi semplici (puzzle a griglia, runner a corsie) possono saltare del tutto il motore fisico a favore di matematica delle posizioni diretta — è intenzionale e più veloce.

I giochi generati funzionano sui telefoni?

Sì. Chiedi controlli touch ("joystick virtuale a sinistra, pulsante di salto a destra") e ottimizzazioni delle prestazioni mobile (risoluzione delle ombre più bassa, draw distance ridotta). Il gioco distribuito è un sito statico, quindi gira in qualsiasi browser mobile moderno.

Posso aggiungere una classifica o salvare i progressi del giocatore?

Sì — chiedilo in un prompt di follow-up. VULK genera un'API basata su PostgreSQL con endpoint per punteggi o salvataggi, collegata alla schermata di game over. Il deploy del backend è incluso dal piano Builder in su.

Quanto costa costruire un gioco con VULK?

VULK è solo a pagamento (niente free tier). I piani partono da Builder $19.99/mese, con un'intro di 3 giorni ad accesso completo da $3.99, accreditata sul tuo primo mese se continui. Le funzionalità del 3D Studio partono da Pro ($39.99/mese).

Chi possiede il codice del gioco?

Tu. Esporta il sorgente completo come ZIP (Builder+) o sincronizzalo con GitHub (Pro+). È un progetto Vite + Three.js standard senza dipendenze proprietarie — compila ovunque funzioni npm run build.

Pubblicato da João Castro · 10 min read

Continua a leggere

Tutti gli articoli
Supporto VULK

Online

Ciao! Come posso aiutarti oggi?

Argomenti popolari

Supporto IA • support.vulk.dev

Come Costruire un Gioco Browser con Three.js in VULK — Blog | VULK