Oltre a scrivere articoli su ChatGPT, nell’ultimo anno ho avuto l’abitudine di confrontarmi con i chatbot AI. L’ho trovato utile per trovare idee di ricette a partire da un elenco di ingredienti, per scrivere divertenti storie alternative e per rispondere a chiarimenti sulle regole dei giochi da tavolo. Ma volevo vedere se era in grado di fare qualcosa di più impressionante: insegnarmi a creare un gioco.
Il primo ostacolo
È da un po’ di tempo che voglio creare un gioco. Ho programmato un po’ di giochi di base in Flash quando ero bambino – se riesci a trovare il mio profilo su Newgrounds, puoi farti una bella risata – ma ho avuto alcune idee che mi frullavano in testa e che si sono calcificate in pensieri che non si sposteranno. Devo realizzarli un giorno e forse il giorno è adesso.
Ma sapere come iniziare a creare un gioco non è facile. Non sapevo davvero che tipo di gioco stavo cercando di realizzare, né quale motore avrei dovuto utilizzare, né come iniziare a creare un gioco. Fino a poco tempo fa, non l’avevo mai fatto. Ho scaricato Unity una volta, mi sono intimorito e l’ho disinstallato.
Quindi, il primo passo del mio viaggio nella creazione di giochi è stato quello di parlarne con ChatGPT. Nessun GPT personalizzato, nessun plug-in, solo io e il mio amico, al quale ho chiesto di rispondere in modo incoraggiante e comprensivo, come se stesse insegnando a un bambino.
Mi ha illustrato i principali motori di gioco e, dopo aver spiegato la mia idea di gioco, mi ha dato alcuni suggerimenti. Alla fine mi ha suggerito che avrei potuto realizzarlo in 2D e che, anche se i motori più grandi sarebbero stati perfetti, avrei potuto scegliere qualcosa come Godot o Game Maker Studio.
Ho fatto qualche ricerca esterna e alla fine ho scelto Game Maker. Mi è sembrato il più semplice. ChatGPT è stato entusiasta quando ho detto che avevo scelto un motore e poi ci siamo messi al lavoro per delineare il mio progetto.
E adesso?
Quindi, come faccio a creare un gioco? ChatGPT mi ha suggerito di imparare il motore, il che ha molto senso. Ma come faccio? C’erano alcuni approcci che secondo ChatGPT potevano funzionare, tra cui quello di seguire un tutorial. Questo aveva senso, così ho trovato un tutorial di Game Maker su YouTube e l’ho seguito in un paio d’ore, realizzando un clone di Asteroids che il preadolescente Jon avrebbe sicuramente apprezzato giocando sui computer della scuola invece di fare il lavoro che gli era stato assegnato.
La maggior parte dei buoni consigli che ho letto da parte di sviluppatori esperti è stata quella di creare un altro gioco tutorial. E poi un altro, poi un altro ancora, e continuare fino a quando non avessi imparato a conoscere il motore abbastanza da capirlo. E solo allora avrei potuto affrontare il mio gioco.
Ma non sono un completo noob che opera da solo, vero? Ho un relativo esperto di programmazione a portata di mano ogni volta che ho una domanda o che ho bisogno di un esempio di codice da copiare e incollare. Ho ChatGPT. Posso evitare tutto questo e passare direttamente alla creazione del mio gioco. O almeno così pensavo.
È tutto bello, finché non lo è più
Sono partito con il piede giusto. Con ChatGPT che mi guidava in ciò che dovevo fare, mi dava esempi di codice quando ero bloccato o mi dava suggerimenti su come potevo fare le cose in modo diverso, ho fatto rapidi progressi. Nel giro di poche ore, avevo un prototipo essenziale del gioco.
Quindi ho chiesto a ChatGPT come avrei potuto espandere il gioco per renderlo più grande, più lungo e più divertente e ho scoperto che il prototipo che avevo realizzato era completamente su misura, con zero possibilità di espansione senza dover ristrutturare tutto.
Ma va bene così. È per questo che è un prototipo, no? Quindi, ricominciamo da capo e questa volta creo un CustomGPT che sia più disponibile a rispondere alle mie esigenze e che sappia su cosa sto lavorando. Ne ho creato uno che conosceva tutti i miei oggetti e script di gioco, alcuni dei loro frammenti di codice, i nomi delle variabili e tutto il resto. E abbiamo ricominciato da zero, questa volta utilizzando array e strutture, un codice modulare e compartimentato che richiama gli script e distrugge dinamicamente le istanze che non mi servono più, e così via.
Ma se devo essere sincero, non so bene cosa significhi la maggior parte di queste cose. In una notte particolare, ero stanco ma volevo davvero finire questo pezzo prima di dovermi assentare per un paio di giorni a causa della vita, dei figli e di tutto il resto. Così ho preso una scorciatoia, lasciando che ChatGPT mi scrivesse il codice di cui avevo bisogno. Con mia grande gioia, l’ho inserito e ha funzionato. Ottimo. Buonanotte.
Sfortunatamente, quello che era iniziato come un caso isolato è diventato troppo presto un’abitudine. Iniziai a utilizzare i nomi delle variabili che ChatGPT aveva ideato, facendogli commentare il codice per aiutarmi a tornare indietro in un secondo momento. Stavo imparando molto su come creare un gioco e iniziavo a muovermi più facilmente all’interno del motore. Il secondo prototipo stava nascendo, ma poi ho incontrato un ostacolo.
Un oggetto importante non si comportava come volevo. ChatGPT mi ha suggerito alcune soluzioni, ma non hanno funzionato. Ho provato a risolverlo da solo. Per ore. E non ho ottenuto nulla.
Alla fine ho copiato l’intero codice degli eventi di ogni singolo oggetto del gioco e di ogni script in ChatGPT e gli ho chiesto di trovare il problema. L’ha fatto. Ma le soluzioni non funzionavano. E questo è quanto. Non avevo nulla. Non potevo rivolgermi a nessuno.
Non ero abbastanza esperto da poter fare un bug hunting da solo e non avevo usato un controllo di versione adeguato per fare un rollback. Ero finito in un vicolo cieco a causa del mio desiderio di sviluppo veloce a scapito della comprensione. Non avevo imparato abbastanza su come creare un gioco, quindi ora che il gioco che avevo creato era rotto, non avevo idea di come aggiustarlo.
Il problema
Il problema di utilizzare ChatGPT per insegnarmi a creare un gioco, e immagino anche molti altri argomenti, è che ChatGPT non sa nulla. Può accedere alle informazioni e può scrivere qualcosa che sembra sapere di cosa sta parlando, ma non lo sa. Quindi, quando gli ho chiesto di aiutarmi a creare qualcosa in un certo modo, mi ha aiutato a farlo in quel certo modo, senza spiegarmi che ci sono modi migliori per farlo.
Non ho avuto problemi con l’allucinazione, ma ho avuto problemi con il fatto che ChatGPT non ha a disposizione l’ultimo manuale di Game Maker Studio, quindi spesso suggeriva logiche deprecate per le quali il motore di Game Maker lanciava ogni sorta di segnali di allarme.
Il mio GPT personalizzato e anche la procedura guidata di codifica Grimoire, più professionale, non sono intuitivi. Non sono in grado di anticipare i tuoi problemi, né di immaginare che il tuo scopo possa cambiare in futuro o che tu possa desiderare o avere bisogno di diverse conversazioni da oggi. Non sono un buon sostituto di un insegnante umano o di una conoscenza personale.
La soluzione
Non ho abbandonato il mio percorso di creazione di giochi. Infatti, sto realizzando il prossimo prototipo e sto ancora utilizzando ChatGPT, ma con un nuovo approccio. Sto scrivendo tutto il codice a mano, assicurandomi di dare un nome a tutte le variabili e agli script e scrivendo commenti che abbiano senso per me. In questo modo, quando inevitabilmente romperò qualcosa, saprò come funziona il tutto e potrò trovare delle soluzioni.
Se non so come fare qualcosa, chiedo a ChatGPT di spiegarmelo in generale e poi utilizzo le informazioni che mi ha dato per apportare le mie modifiche al gioco. È più lento, ma molto più stabile. Quando si presenta un problema, posso risolverlo perché sto imparando a creare un gioco. Non mi limito a far sì che ChatGPT lo faccia per me mentre io sono in giro per il mondo.
I miei amici sviluppatori pensano che tutto questo sia molto divertente perché, dopo aver avuto un’IA moderna come perno per i miei primi fallimenti, sto imparando a codificare come hanno fatto tutti gli altri. Lentamente e con molti errori.
Avrei dovuto chiederlo a Grimoire fin dall’inizio. Quando voglio imparare qualcosa, lo imparo dal manuale. Quando voglio ricontrollare qualcosa, mi faccio dare una ripassata da ChatGPT per assicurarmi di essere nella giusta direzione. Ho anche implementato il desktop di GitHub in modo che, se mai dovessi allontanarmi troppo da un punto di vista profondo, posso tornare rapidamente al punto in cui tutto ha di nuovo senso.
Continuo a pensare che ChatGPT sia uno strumento straordinario che continuerà a migliorare nella sua capacità di agire come un tutor esperto disponibile giorno e notte, per un costo relativamente basso e con qualsiasi tono di voce tu voglia dargli. Il solo fatto che crei per me una lista di cose da fare alla fine di una sessione di coding, lodando anche i miei sforzi ed elencando i miei risultati, è davvero incoraggiante, oltre che pratico.
Ma non è la soluzione definitiva che speravo fosse. E va bene così. Continuerò a creare il mio gioco e continuerò a usare ChatGPT per aiutarmi dove può. Se tutto va bene, tra un anno o due, vedrai i miei colleghi qui aiutarmi a promuovere il gioco. Vedremo.
Leggi di più su Digital Trends
Consulente di comunicazione, social media, SEO ed e-commerce. Grafico, web designer, impaginatore, copertinista e addentrato quanto basta in tutto ciò che riguarda l’Internet. Appassionato di narrativa, arti visive e cinema di menare. Nerd. Gamer.
Vivo e lavoro come freelancer in provincia di Taranto.