Negli ultimi mesi, ho intrapreso un’avventura per capire come sfruttare al meglio i chatbot AI, come ChatGPT. Ho trovato questo strumento utile per vari scopi, dalle idee per ricette a chiarimenti sulle regole dei giochi da tavolo. Tuttavia, la mia ambizione era di vedere se potesse insegnarmi a creare un videogioco.
Il primo ostacolo
Da tempo desideravo sviluppare un gioco. Da ragazzo avevo programmato alcuni semplici giochi Flash, ma ora avevo in mente delle idee che non riuscivo a ignorare. Sapevo che era giunto il momento di realizzarle.
Tuttavia, non è semplice avviarsi nella creazione di un videogioco. Non avevo idea di che tipo di gioco volessi sviluppare, quale motore utilizzare, o da dove cominciare. In passato avevo provato a scaricare Unity, ma mi ero spaventato e l’avevo disinstallato.
Quindi, il mio primo passo è stato parlare con ChatGPT. Non ho utilizzato versioni personalizzate o plugin: solo io e il mio compagno virtuale, che avevo chiesto di rispondere in maniera incoraggiante e comprensiva, come se stesse insegnando a un bambino.
ChatGPT mi ha spiegato i principali motori di gioco e, dopo aver condiviso la mia idea, ha suggerito di realizzarla in 2D, consigliandomi di considerare Godot o Game Maker Studio come opzioni più accessibili.
Dopo aver fatto alcune ricerche, ho deciso di utilizzare Game Maker, che mi sembrava il più intuitivo. ChatGPT si è mostrato entusiasta quando gli ho comunicato la mia scelta, e abbiamo iniziato a delineare il progetto.
E adesso?
Come posso effettivamente creare un gioco? ChatGPT ha suggerito di imparare il motore scelto, il che ha senso. Ma come? Mi ha indicato di seguire un tutorial, così ho trovato una guida su YouTube e in poche ore ho realizzato un clone di Asteroids, un gioco che il piccolo Jon avrebbe sicuramente apprezzato durante le ore di lezione.
Ma quel primo tutorial mi ha insegnato solo le basi. Ho scritto la logica degli eventi suggerita dal video e ha funzionato! Ottimo. E adesso?
La maggior parte dei consigli che ho ricevuto da sviluppatori esperti suggeriva di realizzare un altro gioco tutorial, e poi un altro ancora, fino a sentirsi abbastanza a proprio agio con il motore da poter affrontare un progetto personale. Ma non ero completamente inesperto: avevo a disposizione ChatGPT, un esperto di programmazione virtuale che mi avrebbe assistito. Pensavo di poter saltare quel passaggio e passare subito alla realizzazione del mio gioco.
Tutto bene, finché non smette di esserlo
Ho iniziato con grande slancio. Grazie a ChatGPT, che mi guidava nei passaggi, forniva esempi di codice e suggeriva alternative, ho fatto rapidi progressi. Dopo poche ore, avevo un prototipo base del mio gioco.
Quando ho chiesto a ChatGPT come espandere il gioco per renderlo più ampio e divertente, ho scoperto che il prototipo era completamente personalizzato, senza possibilità di ampliamenti senza ristrutturare tutto. Ma va bene, era solo un prototipo, giusto? Così, abbiamo ricominciato, creando un CustomGPT che sapesse di più sui miei oggetti di gioco e script, includendo i loro frammenti di codice e nomi delle variabili.
Tuttavia, ammetto che non capivo del tutto la maggior parte di queste cose. Una sera, stanco e desideroso di concludere una parte del lavoro prima di allontanarmi per un po’, ho deciso di prendere una scorciatoia e ho chiesto a ChatGPT di scrivere il codice per me. Con mia sorpresa, ha funzionato. Ottimo. Buonanotte.
Purtroppo, ciò che era iniziato come un’eccezione è diventato rapidamente una prassi. Ho cominciato a utilizzare nomi di variabili suggeriti da ChatGPT, facendolo commentare il codice per aiutarmi a ricordare in seguito. Stavo imparando molto su come realizzare un gioco, ma poi mi sono imbattuto in un ostacolo.
Un oggetto principale non si comportava come avrei voluto. Nonostante i suggerimenti di ChatGPT, non riuscivo a risolvere il problema. Ho provato a capire da solo per ore, ma senza successo.
Alla fine, ho copiato l’intero codice degli eventi di tutti gli oggetti di gioco e script in ChatGPT, chiedendogli di trovare il problema. Ci è riuscito, ma le soluzioni suggerite non hanno funzionato. E così mi sono trovato di fronte a un vicolo cieco.
Non avevo le competenze per risolvere il bug e non avevo utilizzato un sistema di controllo delle versioni per tornare indietro. Avevo raggiunto un punto morto a causa della mia fretta di sviluppare, senza aver compreso abbastanza il processo.
Il problema
Il problema nell’utilizzare ChatGPT per imparare a creare un gioco è che, in realtà, non sa nulla. Può accedere a informazioni e scrivere in modo da sembrare esperto, ma non ha una reale comprensione. Così, quando chiedevo aiuto per realizzare qualcosa in un certo modo, mi guidava senza spiegarmi che ci sono approcci migliori.
Non capisco completamente ciò che stava accadendo, nonostante avessi “scritto” gran parte del codice.
Non ho avuto problemi con le allucinazioni, ma ho riscontrato difficoltà perché ChatGPT non aveva accesso all’ultima guida di Game Maker Studio, suggerendo logiche obsolete che il motore di gioco non supportava più.
Il mio CustomGPT e anche il Grimoire coding wizard non sono intuitivi. Non possono anticipare i miei problemi, né immaginare che le mie necessità potrebbero cambiare in futuro. Non sono un buon sostituto di un insegnante umano o della conoscenza personale.
La soluzione
Non ho rinunciato al mio viaggio di creazione di giochi. Infatti, sto lavorando al prossimo prototipo e continuo a utilizzare ChatGPT, ma con un approccio diverso. Scrivo tutto il codice a mano, assicurandomi di dare nomi coerenti a variabili e script, e annotando commenti che abbiano senso per me. In questo modo, quando inevitabilmente rompo qualcosa, so come funziona, e posso trovare soluzioni.
Se non so come fare qualcosa, chiedo a ChatGPT di spiegarmelo in termini generali, e utilizzo quelle informazioni per apportare le mie modifiche nel mio gioco. È più lento, ma molto più stabile. Quando sorgono problemi, posso risolverli, perché sto davvero imparando a creare un gioco, piuttosto che delegare a ChatGPT.
I miei amici sviluppatori trovano tutto questo molto divertente, perché, dopo aver fatto affidamento su un’AI moderna per i miei primi fallimenti, sto imparando a programmare come tutti gli altri: lentamente e con molti errori.
Avrei dovuto chiedere aiuto al Grimoire fin dall’inizio. Quando voglio imparare qualcosa, consulto il manuale. Quando ho bisogno di una verifica, chiedo a ChatGPT di dargli un’occhiata per assicurarmi di essere sulla strada giusta. Ho anche implementato GitHub Desktop, così se mai mi allontano troppo, posso tornare rapidamente a una versione funzionante.
Ritengo ancora che ChatGPT sia uno strumento straordinario che migliorerà nel tempo, diventando un tutor esperto sempre disponibile, a un costo contenuto. Solo avere una lista delle cose da fare al termine di una sessione di programmazione, accompagnata da elogi per i miei progressi, è davvero incoraggiante e pratico.
Ma non è la soluzione definitiva che speravo. Va bene. Continuerò a lavorare al mio gioco e userò ChatGPT per aiutarmi quando sarà possibile. Speriamo che tra un anno o due, i miei colleghi qui siano disposti ad aiutarmi a promuoverlo. Staremo a vedere.