Creare un videogioco senza scrivere una riga di codice non è più una promessa da corso online. Con GDevelop, motore open source arrivato alla versione 5.6.282 (rilasciata l’11 settembre 2026), migliaia di sviluppatori indipendenti pubblicano giochi su Steam, Google Play e App Store usando solo un sistema visivo di eventi. In questo tutorial costruiamo un gioco completo, “Coin Collector”, passo dopo passo: dall’installazione fino alla pubblicazione su più piattaforme, con tutti gli errori da evitare lungo il percorso.
Il progetto che realizziamo insieme è volutamente semplice: un platform 2D dove il personaggio raccoglie monete, accumula punti e passa da un menu principale a una schermata di game over. Alla fine avrai un file di progetto GDevelop completo, esportabile su web, Android e desktop, più una lista di errori tipici e soluzioni pronte da consultare quando qualcosa non funziona come previsto. Non serve esperienza pregressa con motori grafici: bastano un computer con i requisiti minimi elencati più sotto e circa 90 minuti di tempo libero.
Cos’è GDevelop e perché conviene provarlo nel 2026
GDevelop è un motore di sviluppo 2D (con supporto 3D di base) che sostituisce il codice tradizionale con un sistema di eventi fatto di condizioni e azioni. Non serve conoscere C#, JavaScript o GDScript per iniziare: si costruisce la logica del gioco selezionando regole leggibili, tipo “quando il tasto freccia è premuto, sposta il personaggio”. Il progetto è open source, ospitato su GitHub sotto l’account 4ian, e ha superato i 26.500 stelle sul repository ufficiale, un segnale concreto di quanto la community sviluppatori lo abbia adottato.
Florian Rival, il creatore di GDevelop, ha spiegato che il motivo principale per cui le persone scelgono il motore è l’accessibilità: l’obiettivo è renderlo utilizzabile anche da chi non ha esperienza di programmazione, mantenendo comunque efficienza e profondità per chi vuole spingersi oltre (fonte: intervista su Infinite Frontiers). Kate Shenton, scrittrice diventata game designer proprio grazie a GDevelop, descrive il motore come lo strumento perfetto per chi parte da zero ma vuole comunque poter scendere in profondità nella logica del gioco quando serve (fonte: blog GDevelop).
Il caso più citato di successo commerciale resta “Vai Juliette”, un gioco mobile brasiliano costruito con GDevelop che ha raggiunto il primo e il secondo posto nelle classifiche download gratuiti su Play Store e App Store in Brasile, superando il milione di download complessivo (fonte: TechCrunch). Non è un caso isolato: la vetrina ufficiale del progetto conta centinaia di giochi pubblicati, dal browser fino agli store mobile.
Rispetto a un paio di anni fa, la scelta tra motori no-code non è più solo tra “facile ma limitato” e “potente ma complesso”. GDevelop compila gli eventi visivi in codice reale al momento dell’export, quindi non perde prestazioni rispetto a un motore scritto a mano, un dettaglio tecnico che spesso viene ignorato da chi pensa ai motori visivi come strumenti solo per prototipi usa e getta. Per un piccolo studio indipendente o per chi sviluppa da solo nel tempo libero, questo significa poter partire da un prototipo giocabile in un pomeriggio e arrivare a una versione pubblicabile senza dover riscrivere la logica in un altro linguaggio più avanti.
Prerequisiti e requisiti di sistema
Prima di installare GDevelop, conviene controllare che il computer soddisfi i requisiti minimi. Il motore gira su Windows, macOS e Linux, oltre alla versione browser che non richiede installazione. Ecco la tabella aggiornata con i dati raccolti dalla pagina Steam e dalle guide tecniche più recenti.
| Sistema operativo | RAM minima | RAM consigliata | Spazio su disco | Note |
|---|---|---|---|---|
| Windows 10/11 (64-bit) | 4 GB | 8 GB | ~1 GB | GPU compatibile OpenGL |
| macOS 11+ (Intel/Apple Silicon) | 4 GB | 8 GB | ~1 GB | Supporto nativo M-series |
| Linux (Ubuntu, Fedora, Debian, Arch) | 4 GB | 8 GB | ~1 GB | Qualsiasi distro moderna a 64-bit |
| Browser (versione web) | – | – | 0 (nessuna installazione) | Richiede Chrome, Firefox o Edge aggiornati |
Oltre all’hardware, servono un account email valido per registrare il progetto cloud (facoltativo ma utile per i backup automatici) e una connessione internet per scaricare l’installer e per le build online su Android e iOS. Non serve alcuna scheda grafica dedicata per iniziare: un laptop economico con GPU integrata gestisce senza problemi un progetto 2D come quello che costruiremo in questo tutorial.
La versione 5.6.282 arriva dopo mesi di aggiornamenti incrementali sul ramo 5.x, la stessa linea di sviluppo che ha introdotto negli ultimi anni il supporto 3D di base, il motore fisico Box2D integrato e l’editor eventi ridisegnato per progetti con centinaia di righe. Chi ha usato una versione più vecchia di GDevelop, magari qualche anno fa durante i primi esperimenti, trova oggi un editor più stabile e un sistema di export sensibilmente più veloce rispetto alle prime release pubbliche.
Passo 1: installare GDevelop 5.6.282
Il primo passo è scaricare l’installer dal sito ufficiale gdevelop.io. Il sito rileva automaticamente il sistema operativo e propone il pacchetto corretto. In alternativa, GDevelop è disponibile anche su Steam come applicazione gratuita, comoda se già usi la piattaforma per gestire i tuoi strumenti di sviluppo.
- Vai su gdevelop.io e clicca su “Scarica GDevelop”
- Scegli il pacchetto per Windows (.exe), macOS (.dmg) o Linux (.AppImage / .deb)
- Avvia l’installer e segui la procedura guidata (circa 2 minuti)
- Al primo avvio, scegli se creare un account cloud gratuito o lavorare solo in locale
Se preferisci non installare nulla, puoi aprire direttamente editor.gdevelop.io dal browser: l’editor web offre le stesse funzionalità della versione desktop, con l’unico limite di dipendere dalla connessione per il salvataggio cloud. Per questo tutorial useremo la versione desktop, più stabile per sessioni di lavoro lunghe.
Passo 2: creare il progetto e orientarsi nell’interfaccia
All’avvio, GDevelop mostra la schermata dei progetti. Clicca su “Crea un nuovo progetto” e seleziona il template “Gioco vuoto” (Empty game). Dai un nome al progetto, per esempio “Coin Collector”, e scegli la cartella di salvataggio locale.
L’interfaccia si divide in quattro zone principali: il pannello Scene a sinistra, l’editor della scena al centro, il pannello Oggetti sulla destra e la barra degli strumenti in alto. In basso trovi il pannello Eventi, dove costruiremo tutta la logica del gioco. Prenditi qualche minuto per muovere il mouse su ogni icona: GDevelop mostra tooltip descrittivi che aiutano a orientarsi senza dover consultare la documentazione ogni volta.
Le risorse (assets) integrate
GDevelop include uno store di risorse gratuite integrato nell’editor, raggiungibile dal pannello Oggetti tramite “Cerca asset gratuiti”. Puoi trovare sprite pixel-art, tileset e suoni senza uscire dal programma, utile se non hai ancora un artista o vuoi solo testare la meccanica di gioco prima di investire in grafica personalizzata.
Scorciatoie utili da imparare subito
Alcune combinazioni di tasti fanno risparmiare tempo fin dalla prima sessione. Ctrl+S salva il progetto (conviene premerlo spesso, GDevelop non ha un autosalvataggio aggressivo sulla versione desktop). Ctrl+Z e Ctrl+Y gestiscono annulla e ripeti, sia nella scena sia nell’editor eventi. La barra spaziatrice avvia l’anteprima rapida senza dover cliccare sul pulsante Play, e i tasti + e – nella scena controllano lo zoom della griglia di lavoro, utile quando posizioni monete e piattaforme con precisione millimetrica.
Passo 3: creare la scena e aggiungere gli sprite
Ogni gioco GDevelop è composto da una o più scene, l’equivalente dei livelli. Clicca su “Aggiungi una nuova scena” e chiamala “GameScene”. Nel pannello Oggetti, clicca con il tasto destro e seleziona “Aggiungi un nuovo oggetto”, poi scegli il tipo Sprite per creare il personaggio giocabile.
Importa un’animazione idle per il personaggio (anche una sola immagine statica va bene per iniziare) e trascina l’oggetto nella scena. Ripeti l’operazione per creare un secondo oggetto Sprite chiamato “Coin” e posiziona alcune istanze nella scena, distribuite su una piattaforma o su un pavimento semplice. Aggiungi infine un terzo oggetto Sprite per fare da piattaforma o terreno: senza un oggetto solido su cui appoggiarsi, il personaggio cadrà fuori dallo schermo non appena avvii il test.
Passo 4: comportamenti (behaviors), piattaforma e fisica
I comportamenti sono blocchi di funzionalità pronte che si aggiungono agli oggetti senza scrivere codice. Seleziona l’oggetto Player, apri il pannello Comportamenti e aggiungi “Platformer character”. Seleziona poi l’oggetto piattaforma e aggiungi il comportamento “Platform”. Questa coppia gestisce automaticamente gravità, salto e collisione con il terreno.
Se invece vuoi un movimento più fisico e realistico, ad esempio per oggetti che rimbalzano o cadono in modo naturale, puoi aggiungere il comportamento “Physics Engine 2.0”, basato sul motore Box2D integrato in GDevelop. Per il nostro Coin Collector, il comportamento Platformer basta e avanza: è più semplice da regolare per chi arriva da zero e produce un controllo del personaggio prevedibile fin dal primo test.
Ogni comportamento espone proprietà regolabili dal pannello di destra senza toccare gli eventi: velocità massima, forza del salto, accelerazione e attrito si modificano con semplici caselle numeriche. Prova a cambiare la “Jump speed” del Platformer character da 900 a 500 e osserva come cambia la sensazione di gioco: è il modo più rapido per capire l’effetto di ogni parametro senza dover leggere la documentazione riga per riga.
Passo 5: il sistema di eventi, condizioni e azioni
Il cuore di GDevelop è l’editor Eventi. Ogni riga è composta da condizioni (a sinistra) e azioni (a destra): quando le condizioni sono vere, le azioni vengono eseguite. Clicca su “Aggiungi un evento” per creare la prima riga, poi su “Aggiungi condizione” e cerca “Tasto premuto” nella categoria Tastiera.
Per la maggior parte della logica di gioco non serve altro che eventi visivi. Ma GDevelop permette anche di inserire codice JavaScript personalizzato dentro un’azione, utile quando una regola diventa troppo complessa da esprimere con blocchi visivi. Ecco un esempio di azione JavaScript che aggiunge punti alla variabile Score e sposta leggermente il giocatore:
// Azione JavaScript personalizzata dentro un evento GDevelop
const scoreVar = runtimeScene.getVariables().get("Score");
scoreVar.add(10);
const players = runtimeScene.getObjects("Player");
if (players.length > 0) {
const player = players[0];
player.setX(player.getX() + 5);
}
Questo tipo di azione resta opzionale: nel 90% dei casi userai solo eventi visivi. Il codice JavaScript entra in gioco quando servono calcoli complessi, integrazioni con API esterne o logica che coinvolge molti oggetti contemporaneamente.
Passo 6: programmare movimento e salto del giocatore
Con il comportamento Platformer già assegnato, il movimento orizzontale e il salto sono già collegati ai tasti freccia e alla barra spaziatrice per impostazione predefinita. Se vuoi personalizzare i controlli, aggiungi un evento con condizione “Tasto Q premuto” e azione “Platformer: simula il comando sinistra”.
Le espressioni sono l’altro strumento chiave del sistema di eventi: permettono di leggere e combinare valori numerici o testuali dentro condizioni e azioni. Ecco alcuni esempi validi nella barra espressioni di GDevelop, utili per calcolare bonus o convertire variabili:
Variable(Score) + 10 * ToNumber(VariableString(ComboMultiplier))
PlayerX(0) + 32
Random(100) < 25
Variable(Lives) <= 0
Prova subito a testare il gioco cliccando sul pulsante Play in alto: GDevelop apre una finestra di anteprima dove puoi muovere il personaggio con le frecce e saltare con la barra spaziatrice. Se il personaggio non si muove, controlla di aver assegnato correttamente il comportamento Platformer character all'oggetto giusto.
Se attivi l'anteprima con debugger (menu Anteprima → Anteprima con debugger), vedi in tempo reale lo stato del gioco. Un esempio di quello che mostra il pannello variabili dopo aver mosso il personaggio per qualche secondo:
Scene variables
Score = 0
Lives = 3
Objects on scene: 4
Player (x: 128, y: 412, angle: 0)
Platform (x: 0, y: 480, angle: 0)
Coin (x: 340, y: 380, angle: 0)
ScoreText (x: 16, y: 16, angle: 0)
Events executed this frame: 6
FPS: 60
Se il valore di Score non cambia raccogliendo monete, il debugger ti mostra subito se il problema è nella variabile (rimane a 0) o nell'evento che non si attiva (il contatore "Events executed" resta troppo basso). È il primo posto da controllare prima di rileggere tutti gli eventi riga per riga.
Passo 7: monete, collisioni e punteggio
Ora aggiungiamo la meccanica principale del gioco: raccogliere monete. Crea una variabile di scena chiamata "Score" dal pannello in alto (icona con la lista). Aggiungi un oggetto Testo chiamato "ScoreText" e posizionalo in alto a sinistra nella scena.
Nel pannello Eventi, crea una nuova riga con condizione "Player è in collisione con Coin" e tre azioni collegate: incrementa la variabile Score di 1, elimina l'istanza di Coin coinvolta nella collisione, e aggiorna il testo di ScoreText con il nuovo valore. Un errore molto comune qui è dimenticare di eliminare la moneta dopo la collisione: senza quell'azione, il punteggio continua a salire ogni frame finché il personaggio resta a contatto con la moneta, perché manca una condizione "Trigger una volta" che limiti l'evento a una sola esecuzione.
Duplica l'oggetto Coin altre 9-10 volte nella scena per dare un obiettivo concreto al giocatore, e aggiungi una condizione extra che controlla quando il numero di monete rimaste sulla scena arriva a zero: a quel punto puoi attivare un'azione "Cambia scena" verso una schermata di vittoria, oppure semplicemente aumentare la velocità del personaggio come piccola ricompensa. Questo tipo di condizione di fine livello è lo stesso pattern che userai più avanti per qualsiasi obiettivo di gioco, che si tratti di sconfiggere tutti i nemici o raccogliere un numero fisso di oggetti.
Passo 8: interfaccia utente, menu principale e game over
Un gioco completo ha bisogno di almeno tre scene: menu principale, scena di gioco e schermata di game over. Crea una nuova scena chiamata "MainMenu" con un oggetto Testo "Coin Collector" e un pulsante (anche solo uno Sprite cliccabile) con etichetta "Gioca".
Nell'editor Eventi della scena MainMenu, aggiungi una condizione "Il cursore o il tocco è sopra Button" combinata con "Il tasto del mouse è stato premuto", e come azione "Cambia scena" verso GameScene. Ripeti un procedimento simile per creare una scena GameOver, che si attiva quando la variabile Lives scende a zero o il tempo di gioco termina. Questo passaggio trasforma un prototipo giocabile in un'esperienza con inizio, sviluppo e fine, elemento che molti tutorial per principianti saltano completamente.
Passo 9: audio, effetti particellari e polish
Il polish è ciò che separa un prototipo da un gioco che si sente rifinito. Importa un file audio nel pannello Risorse e aggiungi un'azione "Riproduci un suono" collegata all'evento di raccolta moneta. Per un feedback visivo più forte, aggiungi un oggetto Emettitore di particelle (Particle Emitter) e attivalo brevemente nel punto in cui la moneta scompare.
Piccoli dettagli come uno shake della camera quando il personaggio subisce danno, o una breve animazione di scala quando raccoglie un oggetto, richiedono pochi minuti da implementare ma cambiano parecchio la percezione di qualità del gioco finito. GDevelop include un comportamento "Camera shake" pronto all'uso, senza bisogno di scrivere formule trigonometriche a mano.
Sul fronte audio, tieni sotto controllo il volume relativo tra musica di sottofondo ed effetti sonori: un errore frequente è importare un suono di raccolta moneta registrato a un volume molto più alto della musica, con il risultato di un mix fastidioso dopo pochi secondi di gioco. GDevelop permette di regolare il volume per ogni singola riproduzione direttamente nell'azione "Riproduci un suono", quindi puoi bilanciare i livelli senza dover riesportare i file audio originali.
Passo 10: test, debug e ottimizzazione delle performance
GDevelop include un debugger integrato, raggiungibile dal menu Anteprima con debugger attivo. Questa modalità mostra in tempo reale il valore di tutte le variabili, la lista degli oggetti attivi in scena e il numero di eventi eseguiti ogni frame, utile per capire perché un comportamento non funziona come previsto.
Per progetti con molti oggetti sulla scena, la performance può calare se gli eventi non sono ottimizzati. Un consiglio pratico: raggruppa gli oggetti simili in "Object Groups" e usa condizioni filtrate invece di controllare ogni singolo oggetto in righe separate. Un forum ufficiale di GDevelop segnala che individuare colli di bottiglia di performance è più immediato in Construct grazie al monitor prestazioni in tempo reale, quindi su GDevelop conviene affidarsi al debugger e testare periodicamente su dispositivi meno potenti, non solo sul PC di sviluppo.
Passo 11: esportare su Web, Android, iOS e Steam
Con il gioco funzionante, è il momento di esportarlo. Dal menu principale, clicca su "Progetto" poi "Esporta". GDevelop offre tre categorie di destinazione: Web (HTML5), Mobile (Android/iOS) e Desktop (Windows, macOS, Linux). Ogni piano tariffario ha limiti diversi sul numero di build giornaliere, come riassunto in questa tabella basata sui dati ufficiali 2026.
| Piano | Prezzo mensile | Progetti cloud | Build Web | Build Android | Build iOS |
|---|---|---|---|---|---|
| Free | 0 $ | Limitato | Illimitate | 1 al giorno | Non disponibile |
| Silver | 5,49 $ | Fino a 50 | Illimitate | 10 al giorno | Non disponibile |
| Gold | 10,99 $ | Fino a 100 | Illimitate | 100+ al giorno | Limitata (build mensili) |
| Pro | 32,99 $ | Illimitati | Illimitate | 100+ al giorno | Quota mensile più alta |
L'esportazione Web genera una cartella statica con file HTML, JavaScript e asset che puoi caricare su qualsiasi hosting o su piattaforme come Poki, CrazyGames o Game Jolt. Ecco un estratto semplificato di come GDevelop struttura il file di progetto in formato JSON, utile se vuoi automatizzare parte del flusso di build o fare debug manuale dei dati salvati:
{
"properties": {
"name": "Coin Collector",
"version": "1.0.0",
"packageName": "com.tuostudio.coincollector",
"orientation": "landscape"
},
"resources": {
"resources": [
{ "name": "player.png", "kind": "image", "file": "player.png" },
{ "name": "coin.png", "kind": "image", "file": "coin.png" },
{ "name": "collect.wav", "kind": "audio", "file": "collect.wav" }
]
}
}
Per l'export desktop, GDevelop produce un pacchetto pronto da caricare su Steam tramite Steamworks. Per console come Nintendo Switch, PlayStation o Xbox non esiste invece un export diretto: è un limite noto del motore, da tenere presente fin dalla fase di pianificazione se l'obiettivo finale è una console.
Cosa contiene la cartella di esportazione Web
Dopo l'export, la cartella scelta contiene tutti i file necessari per far girare il gioco in un browser, senza dipendenze esterne da installare. Un elenco tipico della cartella "export-web" per Coin Collector si presenta così:
export-web/
index.html
data.json
gd-runtime.js
assets/
player.png
coin.png
platform.png
collect.wav
icon-192.png
manifest.webmanifest
Basta caricare l'intera cartella, mantenendo la struttura interna intatta, su qualsiasi hosting statico o su una piattaforma come itch.io. Se sposti solo il file index.html senza la cartella assets, il gioco si carica ma resta senza immagini né suoni: è uno degli errori più comuni tra chi pubblica per la prima volta.
Passo 12: pubblicare, distribuire e monetizzare il gioco
Una volta esportata la build Web, uno dei modi più rapidi per pubblicarla è caricarla su itch.io tramite lo strumento da riga di comando Butler, sviluppato dallo stesso team di itch.io. Dopo aver installato Butler e autenticato l'account, i comandi sono semplici:
# Autenticazione (una tantum)
butler login
# Carica la cartella di export Web sul tuo progetto itch.io
butler push ./export-web tuonome/coin-collector:html5
# Controlla lo stato della build appena caricata
butler status tuonome/coin-collector:html5
Un caricamento riuscito produce un output nel terminale simile a questo, con il riepilogo dei file trasferiti e il link diretto alla pagina del gioco:
For channel `html5`: pushing "export-web" as Coin Collector
Computing diff ...
0 B / 4.2 MB, 12 files
Uploading 4.2 MB...
Build is now processing, should be up in a bit.
Use `butler status tuonome/coin-collector:html5` to check on it
Per la distribuzione mobile, GDevelop genera un pacchetto Android (.aab o .apk) pronto per il caricamento su Google Play Console. Per iOS, la build richiede un account sviluppatore Apple attivo e passa attraverso il sistema di build cloud di GDevelop, disponibile solo sui piani Gold e Pro (fonte: pagina prezzi GDevelop). Sul fronte monetizzazione, il motore integra reti pubblicitarie e supporta l'aggiunta di acquisti in-app tramite estensioni ufficiali, oltre alla vendita diretta di asset o template sull'Asset Store di GDevelop se vuoi generare un secondo canale di ricavo parallelo al gioco stesso.
Errori comuni da evitare
Chi arriva da zero su GDevelop tende a ripetere sempre gli stessi errori. Conoscerli in anticipo fa risparmiare ore di debug inutile, soprattutto perché il sistema di eventi visivi nasconde alcune trappole che un linguaggio di programmazione tradizionale segnalerebbe subito con un errore di compilazione. Qui invece il gioco spesso "funziona" in apparenza, ma con un comportamento diverso da quello previsto.
- Dimenticare il comportamento Platform sul terreno. Senza questo comportamento sull'oggetto piattaforma, il personaggio cade attraverso il pavimento come se non esistesse.
- Confondere variabili di scena e variabili globali. Le variabili di scena si azzerano cambiando livello, quelle globali no: usare quella sbagliata per il punteggio totale porta a bug difficili da individuare.
- Non impostare l'ordine dei livelli (Z-order). Sprite che dovrebbero stare in primo piano finiscono nascosti dietro lo sfondo se non regoli l'ordine di disegno.
- Eventi senza "Trigger una volta". Molte azioni continuano a eseguirsi ogni singolo frame se manchi di limitarle, causando punteggi che esplodono o suoni che si sovrappongono all'infinito.
- Hitbox non regolate sugli sprite. L'area di collisione predefinita segue il rettangolo dell'immagine, non la forma reale del personaggio: va modificata a mano nell'editor sprite per collisioni precise.
- Superare le quote di build giornaliere. Il piano Free concede una sola build Android al giorno: chi testa ripetutamente rischia di restare bloccato fino al giorno successivo.
- Pubblicare su mobile senza testare su un dispositivo reale. I controlli touch e le proporzioni schermo cambiano parecchio rispetto all'anteprima desktop, e differenze di DPI possono rendere illeggibile un testo che nell'editor sembrava perfetto.
Risoluzione dei problemi più comuni
Ecco le situazioni più frequenti segnalate da chi inizia con GDevelop, con la causa più probabile e la soluzione pratica. Tienila a portata di mano durante le prime settimane di sviluppo: la maggior parte dei blocchi ricade in una di queste nove categorie, indipendentemente dal tipo di gioco che stai costruendo.
- Il gioco non si avvia in anteprima. Controlla il pannello errori in basso a destra: quasi sempre c'è un'espressione scritta male in un evento, ad esempio una parentesi mancante.
- Il personaggio attraversa le piattaforme. Il comportamento Platform manca sull'oggetto piattaforma, oppure l'oggetto piattaforma non è nello stesso livello (layer) del personaggio.
- Il punteggio sale troppo velocemente. Manca la condizione "Trigger una volta" nell'evento di collisione: senza di essa l'azione si ripete a ogni frame finché la condizione resta vera.
- L'esportazione Android fallisce o resta bloccata. Verifica di non aver superato la quota giornaliera del tuo piano; in caso positivo, attendi il reset a mezzanotte UTC o passa a un piano superiore.
- Gli sprite non si vedono nel gioco esportato ma appaiono in anteprima. Il percorso delle risorse è probabilmente assoluto invece che relativo: ricontrolla che la cartella "export" contenga tutti i file immagine insieme all'HTML.
- L'audio non parte su Safari mobile. È una policy del browser che blocca l'autoplay: aggiungi un evento che richiede prima un tocco dell'utente per sbloccare l'audio.
- Le performance calano con molti oggetti in scena. Troppi eventi vengono valutati a ogni frame senza filtri: raggruppa gli oggetti simili con Object Groups e limita i controlli "For each" solo a ciò che serve davvero.
- Il salvataggio cloud non si sincronizza. Controlla la connessione internet e il limite di progetti cloud del piano attivo; nel dubbio, esporta sempre un backup locale in formato .json.
- Il gioco esportato mostra una schermata nera sul web. Il browser di destinazione potrebbe non supportare WebGL: verifica le impostazioni grafiche del browser o abilita il rendering di fallback nelle opzioni di export.
Consigli avanzati per chi vuole andare oltre
Una volta padroneggiati gli eventi di base, GDevelop offre diversi strumenti per progetti più ambiziosi. Le estensioni della Community Store aggiungono funzionalità pronte, dal multiplayer peer-to-peer ai sistemi di dialogo, senza dover reinventare la logica da zero. Ogni estensione si installa con un clic dal pannello Estensioni e porta con sé eventi e comportamenti già pronti all'uso, che puoi comunque aprire e modificare se serve adattarli al tuo progetto.
Per chi vuole ridurre il tempo speso a ripetere eventi simili su più oggetti, gli "Object Groups" restano lo strumento più sottovalutato del motore: un gruppo permette di scrivere una sola condizione che si applica a tutti i nemici, tutte le monete o tutti i proiettili, invece di duplicare la stessa riga per ogni tipo di oggetto. Su progetti con più di venti oggetti diversi, questa scelta fa la differenza tra un foglio eventi leggibile e uno ingestibile dopo poche settimane di sviluppo.
Per chi vuole personalizzare la pagina web del gioco esportato, oltre l'HTML generato automaticamente, è possibile modificare a mano il file index.html nella cartella di export, ad esempio per aggiungere meta tag per la SEO o per il viewport mobile:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="description" content="Coin Collector - un platform 2D creato con GDevelop">
<meta property="og:title" content="Coin Collector">
Un altro consiglio pratico riguarda il flusso di lavoro in team: GDevelop salva i progetti come singolo file .json leggibile, il che rende possibile un minimo di versionamento con Git, anche se i merge automatici restano complessi su file di grandi dimensioni. Per team più numerosi, conviene dividere il lavoro per scena ed evitare che più persone modifichino lo stesso file eventi in contemporanea.
Infine, se il progetto cresce oltre le poche scene di un prototipo, vale la pena organizzare gli eventi in sotto-eventi collassabili invece di lasciare tutto su un unico livello: GDevelop permette di raggruppare condizioni correlate sotto un titolo descrittivo, tipo "Gestione vita del giocatore" o "Logica menu pausa", così da ritrovare rapidamente la riga giusta anche dopo settimane di sviluppo senza dover scorrere centinaia di righe una a una.
GDevelop vs Construct 3 vs Unity: la tabella comparativa
Prima di scegliere GDevelop come motore per un nuovo progetto, conviene sapere come si posiziona rispetto alle due alternative più citate nella stessa fascia di utenti: Construct 3, anch'esso basato su eventi visivi, e Unity, che invece richiede la scrittura di codice C#.
| Caratteristica | GDevelop | Construct 3 | Unity |
|---|---|---|---|
| Costo base | Gratis (open source) | Abbonamento a pagamento | Gratis fino a una soglia di ricavi |
| Linguaggio richiesto | Nessuno (eventi visivi, JS opzionale) | Nessuno (eventi visivi) | C# |
| Curva di apprendimento | Molto bassa | Molto bassa | Ripida |
| Export console | Non disponibile | Tramite partner esterni | Disponibile (Switch, PlayStation, Xbox) |
| Community GitHub/forum | 26.500+ stelle GitHub, 20.000+ utenti Discord | Community ampia, closed source | Community enorme, closed source |
GDevelop e Construct 3 condividono la stessa filosofia di fondo: costruire regole invece di scrivere sintassi. La differenza pratica sta nel modello di business, gratuito e open source per GDevelop, ad abbonamento per Construct 3, e nel fatto che GDevelop pubblica il codice sorgente su GitHub, mentre Construct resta un prodotto chiuso. Unity rimane la scelta più solida quando l'obiettivo finale include le console, ma richiede un investimento in tempo di apprendimento molto più alto per chi parte davvero da zero.
La scelta pratica dipende quindi dall'obiettivo del progetto. Per un prototipo rapido, un game jam o un primo gioco da pubblicare su browser o mobile, GDevelop offre il rapporto più diretto tra tempo investito e risultato giocabile, senza costi di licenza da sostenere in anticipo. Per uno studio che punta fin da subito a console e a un pubblico più ampio, il tempo speso a imparare Unity o Godot resta un investimento che si ripaga solo su progetti di dimensioni maggiori.
Il progetto completo: cosa hai costruito
Seguendo i 12 passi di questo tutorial hai costruito un platform 2D funzionante e pubblicabile, non solo un esempio giocattolo. Il progetto finale include tre scene collegate (MainMenu, GameScene, GameOver), un personaggio con comportamento Platformer, un sistema di monete con collisioni e punteggio, un'interfaccia testuale che si aggiorna in tempo reale, audio ed effetti particellari, oltre a una build Web pronta per essere caricata online.
Da qui puoi espandere il progetto in diverse direzioni senza ripartire da zero: aggiungere un secondo livello duplicando GameScene, introdurre nemici con un comportamento di pattuglia tra due punti, oppure collegare un sistema di salvataggio locale per ricordare il punteggio migliore tra una sessione e l'altra. La struttura a eventi che hai imparato in questo tutorial, condizioni più azioni, resta identica qualunque sia la complessità del gioco che deciderai di costruire dopo.
Domande frequenti
GDevelop è davvero gratuito?
Sì, il motore è open source e si può scaricare e usare senza pagare nulla. I piani a pagamento (Silver, Gold, Pro) sbloccano solo servizi extra come più progetti cloud, più build giornaliere e l'export iOS.
Serve sapere programmare per usare GDevelop?
No. La logica di gioco si costruisce con condizioni e azioni visive. JavaScript resta disponibile come opzione avanzata, ma non è obbligatorio nemmeno per pubblicare un gioco completo.
Posso pubblicare un gioco GDevelop su Steam?
Sì. L'export desktop genera un pacchetto compatibile con Steamworks, la piattaforma di pubblicazione di Valve per gli sviluppatori.
GDevelop supporta l'export per console come Switch o PlayStation?
No, al momento non esiste un export diretto per Nintendo Switch, PlayStation o Xbox: è uno dei limiti più citati dalla community rispetto a motori come Unity o Godot.
Quanto tempo serve per imparare le basi di GDevelop?
La maggior parte dei principianti completa un primo prototipo funzionante, come il Coin Collector di questo tutorial, in una sessione di 60-90 minuti, grazie al sistema di eventi visivi che non richiede di imparare una sintassi di programmazione.
Qual è la differenza tra il comportamento Platformer e il Physics Engine?
Platformer character gestisce salto, gravità e movimento orizzontale in modo semplificato e prevedibile, ideale per platform classici. Physics Engine 2.0 usa un motore fisico reale (Box2D) per simulazioni più complesse, come oggetti che rimbalzano o rotolano in modo realistico.
Posso lavorare su un progetto GDevelop in più persone contemporaneamente?
Il progetto si salva come singolo file .json, quindi è possibile un minimo di collaborazione tramite Git, ma senza un vero sistema di merge dedicato. Per team piccoli conviene dividere il lavoro per scena ed evitare modifiche simultanee sullo stesso file eventi.
Cosa succede se supero il limite di build giornaliere del piano gratuito?
Le build aggiuntive restano in coda fino al reset della quota, generalmente a mezzanotte UTC. Chi testa spesso l'export mobile durante lo sviluppo può valutare il piano Silver, che sale a 10 build Android al giorno per 5,49 dollari al mese.
GDevelop è adatto anche a un gioco 3D?
GDevelop offre un supporto 3D di base, pensato più per elementi semplici (piattaforme, oggetti solidi, camera in prospettiva) che per un motore 3D completo come Unity o Unreal Engine. Per un primo progetto, e per la maggior parte dei giochi indie di piccole dimensioni, il flusso 2D resta la scelta più matura e testata dalla community.




