Blog di Disegno, Pittura e Avventure en Plein Air

Come ho programmato un videogioco per Game Boy sull’amicizia con GB Studio

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.

Lo sprite del nostro protagonista, con tutte le posizioni di animazione.

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.

Tutte le mappe che compongono il gioco. Le linee blu sono i collegamenti di ogni punto di una mappa alle altre mappe (camminando su una porta si passa alla mappa dell’interno della casa corrispondente)

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.

Ogni missione ha una meccanica diversa: un orto da popolare di lombrichi, un labirinto da risolvere spostando delle scatole, una battaglia lanciando gatti contro un tricheco , un cane da catturare. Tutti gli elementi rossi sono i bordi della mappa con i muri invalicabili, le zone arancioni e rosa sono i trigger di certe azioni.

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.

Un po’ di logica per controllare se in una missione sono accaduti certi eventi

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.

Spostando le lapidi in una sequenza precisa si apre la lapide in alto a destra dando accesso alla tomba. Programmare questo enigma è stata una delle cose più complesse.

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.

L’interno di una casa
E alcuni degli elementi usati per comporla all’interno di Tiled.
Una delle aree esterne più grandi. I quadrati arancioni nella mappa sono trigger segreti che se attivati tutti (anche in ordine sparso) danno accesso a una sorpresa con un personaggio segreto (quello vicino al parco giochi).

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!

Dove sta la vera forza dell’essere umano? Lo scopriamo in una parte della sequenza finale! In alto si possono vedere alcuni dettagli dell’animazione del protagonista.

Il gioco finito

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

Volto sfocato per questioni di privacy.


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ù

Precedente

Come creare verdi naturali per i tuoi dipinti di paesaggio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Powered by WordPress & Tema di Anders Norén

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi