Il post di questa settimana prende spunto da un articolo che ho letto su The Verge. In pratica, c’è stato un leak dagli studi giapponesi di Sony (sono cose che capitano anche ai grandi) in cui, in un filmato, veniva mostrata una tecnica di AI generativa per la creazione in tempo reale di un dialogo con Aloy di Horizon Forbidden West, espressioni facciali comprese. Il video è stato prontamente rimosso da YouTube per una questione di copyright. Nonostante sia sparito, molti ne stanno ancora parlando. Il risultato c’è, anche se ci sono ancora dei margini di miglioramento.
E per quanto riguarda l’innovazione? Quella, secondo me, un po’ meno. Ed è proprio di questo che parleremo oggi.

L’antefatto
Leggendo The Verge, sembra che Sony stia molto probabilmente sviluppando una tecnologia per creare NPC (Non-Player Characters) alimentati dall’intelligenza artificiale. Questo sembrerebbe essere supportato da un video trapelato online, diffuso su YouTube e poi rimosso per motivi di copyright.
Da quanto sappiamo, vengono utilizzate tecnologie come GPT-4 di OpenAI e sistemi proprietari di Sony per la generazione della voce e delle espressioni facciali. L’idea suggerita dal video è quella di creare NPC in grado di avere conversazioni con il giocatore.
Su The Verge, Tom Warren accenna tra le righe al fatto che la notizia non sorprende particolarmente, perché anche altri grandi attori del settore, come NVIDIA e Microsoft, hanno già dichiarato in passato di essere al lavoro su tecnologie simili.
Sicuramente c’è una tendenza tecnologica che va in quella direzione e, a onor del vero, era prevedibile. Il punto, secondo me, è capire quale sarà l’effettiva applicabilità della tecnologia nel breve periodo e per gli sviluppatori medi.
AI Generativa
Si è parlato così tanto in questo ultimo anno di AI e AI generativa che oramai non si può più neppure comprare un tostapane senza che sia “AI powered”.
L'AI generativa è una tipologia di intelligenza artificiale in grado di generare contenuti. Anche qui, nulla di nuovo sotto il sole, perché le tecniche di generazione procedurale di contenuti (PCG, come Perlin Noise e L-Systems) risalgono agli anni ’80. Ciò che oggi si fa di veramente innovativo è generare contenuti partendo da una descrizione testuale di ciò che vogliamo, il cosiddetto prompt. E, almeno per quanto mi riguarda, la parte tecnicamente più affascinante è proprio l’interpretazione del prompt.
Un'altra caratteristica che distingue l'AI generativa dalla PCG è il fatto di essere contestuale. Ovvero, ogni generazione di contenuto non è a sé stante, ma tiene conto di ciò che è successo prima. Quindi, è possibile generare un discorso con un filo logico, tenendo conto dei vari scambi di battute.
Quindi, sì, con quest'ultima considerazione si può dire che l'AI generativa per un NPC abbia effettivamente un senso.

L’impatto sulla creatività
Questa è effettivamente una bella domanda, alla quale neppure The Verge si sottrae. C’è un intenso dibattito tra chi si occupa di GameDev, soprattutto in un periodo in cui molte aziende stanno licenziando dipendenti, riguardo al rischio che il loro lavoro sia minacciato dall’arrivo dell’AI generativa.
Qui il discorso diventa molto personale, perché dipende dal tipo di sviluppatore che sta parlando. Se vi accontentate di fare debug, allora forse avete un problema. Se, invece, siete più creativi, secondo me il problema non si pone. Forse un giorno lo sarà, ma quel giorno non è di sicuro oggi.
L’ostacolo più forte è che l’AI può anche essere generativa, ma non è affatto creativa. Nel senso che ciò che genera è sempre il risultato degli esempi con cui è stata alimentata (addestrata) e che poi rimescola in modo più o meno efficiente. Pertanto, è quasi impossibile farle creare qualcosa di sbagliato o una “non cosa”, come negli innumerevoli esempi che troviamo in rete della “stanza senza elefante” (espressione che prende spunto da un modo di dire sassone, equivalente al nostro “il re è nudo!”).

Se, come abbiamo già detto tante volte, creare un gioco davvero di successo significa realizzare qualcosa di unico, che non si è mai visto prima, allora possiamo dormire tranquilli.
Anzi, potrebbe essere anche un interessante contro-test di Turing (termine inventato da me). Se avete un’idea interessante per un gioco, provate a chiedere a un'AI generativa di scriverne il concept. Se non ci riesce e produce qualcosa di orribile… allora potreste essere sulla strada giusta. Perché vuol dire che nessun altro ci ha mai pensato.
Perché dovrei parlarci?
Questa è un’altra bella domanda che però, da quel che vedo, pochi si fanno.
Ma davvero mi interessa così tanto parlare con un NPC?
Effettivamente, anche io, se voglio chiacchierare, telefono a un amico.
Ovviamente, anche in questo caso la risposta è quel bruttissimo “dipende”. Se un gioco è investigativo e devo interrogare dei sospettati, può essere un'applicazione interessante. Se no… onestamente, quante volte ci siamo intrattenuti a lungo con un NPC che ci vendeva equipaggiamento?
Non sto dicendo che avere dei dialoghi generati da un'IA non serva. Sto dicendo che potrebbe essere effettivamente utile solo in una porzione piuttosto ridotta di casi. Inoltre, come abbiamo già scritto qui in altre occasioni, la complessità deve essere nella testa del giocatore. Anche perché, di giochi investigativi con dialoghi (seppure non attraverso prompt) se ne fanno di buona qualità fin dai tempi del Commodore 64. Ad esempio, il bellissimo “Killed Until Dead” di oramai 40 anni fa.
Adesso, ammettiamo anche che l'uso del prompt sia l'innovazione di cui tutti avevamo bisogno per i giochi investigativi. La vera domanda è: come facciamo a essere sicuri che la storia converga? Perché, se per caso l'IA ha un'allucinazione e si inventa dei dettagli, come si fa a portare il giocatore a trovare il colpevole? Tra l'altro, assicurare la convergenza della storia presenta le sue belle difficoltà anche limitandosi alle scelte multiple.
Purtroppo, non ho una risposta a questa domanda. Però, vi prometto che torneremo a parlarne appena uscirà qualcosa sul mercato.
È un sistema sostenibile?
Su questo, nessuno dice nulla. Io, almeno parzialmente, la mia risposta ve l’ho già data ed era un no.
Abbiamo due tipi di sostenibilità da affrontare: una è tecnologica e l’altra economica. Detto anche in altri termini, o paghiamo tecnicamente il fatto di avere un LLM (Large Language Model) all’interno del nostro gioco, oppure paghiamo economicamente il fatto di collegarci a un LLM remoto per generare le risposte.
Sull’avere un LLM a bordo, per ora non ci sono molti dati tecnici su cui basarsi per avere un’opinione. Potrebbe occupare un sacco di spazio, oppure no. La cosa certa è che deve essere eseguito sulla nostra scheda grafica. Però, nel farlo, sorgono due problemi. Da un lato, lo spazio usato dalla rete neurale dell’LLM viene sottratto al comparto grafico. Che tipo di reazione potrebbe avere un giocatore con un PC di ultima generazione se gli diciamo che la grafica è sotto le aspettative, ma i dialoghi saranno stupendi? Dall’altro lato, che cosa diciamo ai giocatori che non hanno una scheda grafica all’avanguardia? Che non possono usufruire di NPC intelligenti? Per i dettagli grafici possiamo abbassarli; metteremo uno slider anche per ridurre l’intelligenza degli NPC?
La mia impressione è che, almeno per i primi anni, queste soluzioni saranno praticabili solo in ambienti tecnicamente chiusi come le console, dove l’hardware è noto a priori ed è gestito dal costruttore.
Della sostenibilità economica, invece, ne avevamo parlato quando abbiamo introdotto il problema di progettare un’intelligenza artificiale per un gioco. Era stato fatto un esempio partendo dalla tesi di laurea di una mia studentessa. Vi ripropongo giusto il trailer.
Dai nostri esperimenti, completare una partita con la penultima versione di ChatGPT richiedeva tra i 30 e i 50 centesimi, mentre usare l'ultima versione (ottenendo dialoghi di qualità nettamente superiore) aumentava la spesa a una decina di euro.
Ripeto quello che ho già detto: trovo inquietante l'idea di un futuro in cui la qualità dell'intelligenza artificiale degli NPC, in particolare degli alleati, finisce dietro un paywall. E anche su questo abbiamo discusso lungamente.
Anche per oggi abbiamo finito. Spero che abbiate trovato la discussione interessante e vi do appuntamento a lunedì prossimo con una nuova puntata di GameDev for Dummies. Se vi piace la nostra newsletter e non lo avete ancora fatto, abbonatevi per riceverla ogni settimana comodamente nella vostra casella di posta elettronica.
Happy hacking!