Buon 1° aprile! Questo post fa parte dell’April Cools Club: uno sforzo per pubblicare articoli autentici su argomenti inaspettati. Per oggi non parliamo di disegno e pittura, che torneranno da domani, ma per il momento godetevi questa storia che parla di come ho programmato un videogioco!
Nel 2024 ho programmato un videogioco per Game Boy. È un gioco di azione/avventura con una sequenza di platform e una di combattimento, che racconta una semplice storia sull’amicizia con protagonista un mio amico che interagisce con tutte le altre persone della compagnia.
È poi diventato il mio regalo di compleanno per lui. L’ho realizzato nel giro di qualche mese con GB Studio.
GB Studio
GB Studio è un software gratuito open source per programmare giochi per Game Boy, sviluppato da Chris Maltby. I giochi creati si possono poi giocare con un emulatore oppure esportare su una cartuccia e giocarli con un vero Game Boy.
Il software è abbastanza semplice da usare, l’interfaccia è molto intuitiva. Non serve conoscere codice per programmare i giochi, perché tutto è basato su menu, trascinamento e pulsanti, ma un minimo di logica matematica è necessaria per riuscire a creare gli eventi e i dialoghi che portano avanti la storia.
La storia
Ma come ho realizzato questo gioco?
Innanzitutto ho pensato al tipo di gioco che avrei voluto realizzare. L’ispirazione è stato The Legend of Zelda: Link’s Awakening, uscito nel 1993 per Game Boy.
Poi ho subito pensato alla storia. Mi serviva un pretesto per far viaggiare il protagonista, portandolo a casa di tutti i suoi amici che gli chiedono aiuto per qualcosa, dando origine a una missione diversa per ciascuno.

La storia inizia così:
Uno sciopero dei mezzi impedisce al protagonista di andare a lavoro, decide così di tornare a casa e sollevare un po’ di pesi.
Purtroppo scopre che i suoi pesi non sono più a casa sua, perchè sono stati presi in prestito da un amico che ne aveva bisogno per fare una cosa.
Giunto a casa di questo amico lo aiuta in un suo problema, per scoprire però che a sua volta questo amico ha prestato i pesi ad un altro amico che ne aveva bisogno per un altro motivo. E così via, fino al finale, che non vi svelo ancora.
Poi ho pensato a come legare tutti gli eventi, e quindi a quanti ambienti avrei dovuto creare. Quanti paesi, quante case, quante stanze.

Le meccaniche
A questo punto ho dovuto pensare alle missioni da compiere per ogni personaggio da aiutare, cercando di non rendere il gioco monotono.
Quindi ogni amico ha una missione legata ad un’esperienza vissuta davvero nella vita reale (e resa in modo ironico nella storia), e ogni missione ha una meccanica di gioco diversa. In una ad esempio c’è un labirinto da risolvere spostando delle scatole per liberare il percorso verso la meta, un’altra è la ricerca di un oggetto, una è una lotta contro un mostro, e così via.

La parte più impegnativa e divertente è stata studiare la logica del gioco e delle azioni. Ad esempio la strada per il paese successivo rimane chiusa finché non si sono svolte tutte le missioni nel paese iniziale.
Oppure non è possibile entrare in casa di qualcuno se prima non si è compiuta la missione nella casa di un altro personaggio, che ai fini della storia deve necessariamente avvenire prima.
Questo a livello macroscopico, ma a livello microscopico bisogna pensare alla logica di ogni singola azione: ad esempio un personaggio che ha impostata una frase in cui chiede aiuto per qualcosa dovrà cambiare la frase in una di ringraziamento una volta che è stata svolta l’azione da lui richiesta.

Ho passato la maggior parte del tempo a creare queste dinamiche e a provare a giocarle. Ovviamente il gioco aveva bug da tutte le parti, e ho dovuto passare diverso tempo a correggere gli errori per evitare che si potessero fare azioni non previste o accedere troppo presto alle aree successive del gioco.

Per ogni nuova area e missione ho iniziato con dei prototipi per le meccaniche di gioco: semplici stanze vuote con degli elementi con cui interagire per capire la logica del software.
Solo dopo ho iniziato a popolare le aree con la grafica. Prati, case, strade, personaggi, tutti recuperati da pacchetti gratuiti disponibili su itch.io, realizzati da diversi utenti.
Per creare le singole mappe (cioè tutti gli ambienti, sia esterni che interni) ho usato Tiled.



GB Studio permette anche di comporre le musiche per il gioco, un aspetto che però ho curato poco perché mi interessava meno (non so nulla di composizione musicale, quindi non ho voluto perderci troppo tempo).
Il finale
La parte finale del gioco è una sequenza programmata in cui il protagonista dopo aver terminato la missione va al fiume a rilassarsi.
Ho dovuto programmare ogni movimento, pausa, cambio di direzione del personaggio.
Ad esempio: vai in su di 4 caselle. Girati a sinistra. Muoviti a sinistra per 3 caselle. Girati in basso. Attendi 4 secondi. Muoviti di una casella verso il basso… e così via.
Questo è un estratto del dialogo finale così come si vede nell’interfaccia di GB Studio, ma la vera conclusione è solo per chi ha giocato il gioco!

Il gioco finito
Un gioco per Game Boy non può esistere senza la sua confezione, quindi ho fatto anche la copertina.

Purtroppo non posso pubblicare il gioco finale perché ci sono troppi dettagli legati alla vita privata di persone reali. È stato un progetto dedicato agli amici e non al pubblico, ma posso mostrarvi una breve demo.
Se anche voi volete provare a sviluppare un piccolo gioco per Game Boy avete tutto ciò che vi serve a disposizione gratuitamente.
Buon divertimento!
Come seguire e commentare il blog
🪁 Puoi iscriverti al Canale Telegram, da cui puoi uscire quando vuoi: https://t.me/disegnintasca (più info in questo articolo).
💬 Puoi ricevere gli aggiornamenti tramite il Canale Whatsapp.
📺 Puoi seguire e commentare il canale YouTube
🦋 Puoi seguire il blog su Bluesky
📮 Puoi iscriverti alla newsletter per ricevere gli aggiornamenti del blog. Ti arriverà una mail al mese con gli ultimi post pubblicati. Potrai cancellarti quando vuoi.
🦜 Puoi anche commentare l’articolo nella sezione commenti in fondo alla pagina.
Questo post potrebbe contenere link di affiliazione. Per saperne di più
Lascia un commento