Speciale

Vita da NPC: l’Intelligenza Artificiale nei videogiochi

Spesso negli articoli e nelle recensioni sentiamo parlare di Intelligenza Artificiale nei videogiochi. Approfondire il lavoro dietro un gioco ci fa comprendere il perché di determinate scelte e ci fa apprezzare ancora di più l’intento dei team di sviluppo, ma a volte, erroneamente e in modo molto semplicistico, utilizziamo i termini con superficialità per indicare quasi banalmente la presenza – o l’assenza – di capacità da parte degli NPC di porre una sfida degna o un aiuto concreto in determinate fasi dell’avventura al giocatore dotato di intelletto umano. L’intelligenza artificiale è una disciplina sfaccettata e complessa, la cui applicazione si estende a campi molto diversi da quello dell’intrattenimento videoludico. In un gioco l’obiettivo non è tanto replicare l’intelligenza umana in tutti i suoi processi di pensiero per analizzare e risolvere problemi specifici, quanto piuttosto riuscire a trasmettere credibilità ai personaggi che popolano il mondo di gioco utilizzando specifici algoritmi e più di qualche “trucchetto” in fase di programmazione per farci sentire stimolati e coinvolti.

Il game designer deve essere abile nel coinvolgerci in quella che potremmo chiamare una perfetta illusione, dove personaggi fatti di bit e pixel ci sembrano vivi perché reagiscono in modo plausibile al contesto virtuale che abbiamo accettato come reale nel momento in cui abbiamo premuto play. Viene premiata la coerenza del mondo di gioco, cioè il riuscire ad aderire alle regole che governano quel particolare titolo e non la ricerca estenuante di realismo e di mimica perfetta del comportamento umano. Quando queste regole vengono infrante, come è successo recentemente con Cyberpunk 2077 e il suo abbozzato e inverosimile sistema di inseguimento, è facile che venga meno l’immersione. Un altro degli aspetti da non sottovalutare in un gioco è il suo intento di volerci intrattenere. Ciò che muove quindi i personaggi non è una super intelligenza altamente sofisticata in grado di adattarsi e imparare a superare il giocatore umano in ogni situazione come quelle utilizzate nel campo della ricerca, altrimenti ci troveremmo di fronte a un’entità imbattibile e ciò andrebbe a influenzare in modo negativo il divertimento e il nostro coinvolgimento nel tempo.

Ci sono poi dei vincoli tecnologici che è facile non prendere in considerazione una volta che siamo totalmente catturati da un gioco, ma sono presenti e hanno determinato il prodotto che stiamo fruendo. L’esperienza che viene creata per noi è costruita mettendo insieme tantissimi elementi che operano contemporaneamente e tutti sono indispensabili per far sì che ci sentiamo parte integrante di un mondo che a conti fatti viviamo attraverso un avatar. Narrazione, musica ed effetti sonori, qualità grafica e animazioni, missioni, ricompense, sfide e personaggi con cui interagiamo sono tutti elementi che concorrono insieme a definire un buon gioco. Gestire tutte queste componenti è una delle grandi sfide dello sviluppo di videogiochi, dove le risorse computazionali vengono suddivise tra moltissime operazioni in tempo reale e gli sviluppatori devono trovare costantemente un equilibrio per assicurarsi che, ad esempio, componenti più esose in termini di risorse, come gli agenti AI, non inficino la fluidità dell’esperienza.

Credibili, non perfetti

Il modello più semplice per programmare il comportamento di un agente nei videogiochi è chiamato macchina a stati finiti – Finite State Machine in inglese – e prevede che ogni azione sia rappresentata da un unico stato mutualmente esclusivo. Ciò implica che per eseguire una diversa azione dovrà avvenire una transizione da uno stato a un altro, innescata ad esempio da un evento. Il più classico degli esempi è Pac-Man: nel gioco i 4 fantasmi passano dall’inseguire all’essere inseguiti nel momento in cui Pac-Man raccoglie una power-pill. Sebbene oggi l’industria prediliga altre tecniche e modelli come gli alberi comportamentali resi famosi da Halo 2, il Director AI o la pianificazione automatica, è possibile ottenere risultati credibili senza tecniche complesse coniugando bene level design, animazioni, feedback visivi e sonori. Uno dei giochi che ci piace ricordare in tal senso è Batman: Arkham Asylum – e tutta la serie di giochi che ne sono derivati. Si tratta a nostro modo di vedere di una delle migliori interpretazioni di Batman e dei giochi a tema supereroistico, senza voler nulla togliere al Marvel Spider-Man di Insomniac Games, anch’esso a suo modo incredibile.

Pochi stati ben congegnati sono riusciti a farci sentire davvero Batman, ma quando le routine sono ancora più approfondite, le possibilità offerte per perdersi completamente in un mondo virtuale sono grandissime. Red Dead Redemption 2 è uno degli esempi più calzanti di come anche i personaggi non giocanti diano senso al mondo di gioco. Ogni personaggio che incontriamo ha spessore, non è monodimensionale come tanti altri figuranti che si trovano negli open world e la cui presenza serve per lo più a darci missioni. In base a come i personaggi ci percepiscono avranno reazioni differenti e ricordano precedenti interazioni per formulare in futuro una risposta adeguata, anche se poi alla fine routine e obiettivi sono fissi. L’attenzione per i dettagli in RDR2 è comunque straordinaria e si estende anche alla fauna selvatica che risponde al naturale ciclo della catena alimentare e contribuisce ad arricchire la simulazione.

Questo aspetto è molto più evidente in un gioco come Horizon: Zero Dawn dove le macchine hanno un ruolo fondamentale per fini narrativi e di gameplay. È facile incontrare anche gruppi di specie diverse che ospitano all’interno del branco macchine che rispondono a specifiche funzioni come la ricognizione o il trasporto. I metodi d’IA adottati da Horizon Zero Dawn sono costruiti su una gerarchia in base alla quale una macchina può esistere nel mondo di gioco come singola unità o come parte di un gruppo. Grazie a un sistema chiamato “The Collective” viene gestita la generazione di tutte le macchine presenti e viene calcolato se sono o meno in gruppo per deciderne gli spostamenti.

Non semplici NPC ma compagni

Dare a un personaggio “secondario” una personalità, un vissuto e delle motivazioni conferisce a quell’agente delle qualità che trasmettono una maggiore autenticità. Un personaggio con il quale condividiamo emozioni e del quale impariamo a conoscere più in profondità la sua storia, risulterà più vero e più convincente, indipendentemente da quanto sviluppato è il codice che ne governa i comportamenti e le animazioni. La camminata imperfetta di Ellie per raggiungere una copertura, o le difficoltà negli spostamenti di Trico, sono difetti che certamente possono interrompere l’immersione, ma che ai più potrebbero passare in secondo piano visto il legame che si costruisce giocando.

In the Last of Us, Ellie accompagna il giocatore per la quasi totalità del gioco e uno degli obiettivi in Naughty Dog è stato evitare che il giocatore odiasse quel personaggio. Nei giochi a volte è un sentimento comune quando ci troviamo nella tipica situazione dello scortare e difendere un personaggio alleato. Ci intralciano, si buttano nella mischia in modo insensato o stanno praticamente fermi e ci raggiungono a scontro finito. A 5 mesi dal lancio, durante una demo per la stampa, sia Tess che Ellie furono programmate per rimanere indietro durante gli scontri, ma ciò non era chiaramente l’intento voluto perciò il team decise di mantenere Ellie vicina al giocatore. Questa scelta da un lato mitigava potenziali problemi con l’IA nemica ma dall’altro rinforzava la narrativa del gioco. Oltre ad essere quasi sempre accanto a Joel, Ellie doveva trovare una sua utilità e risultare interessante e ciò nel gioco viene ottenuto soprattutto con l’attivazione di dialoghi pertinenti alla situazione e con aiuti in combattimento come accoltellamenti quando siamo afferrati da un nemico, lanci di oggetti e risorse.

Come ha sottolineato Mak Dychoff, se aiuta il giocatore a uscire da una situazione difficile, allora il giocatore si sente grato, inizia ad apprezzare la sua presenza e ha un’opinione migliore del gioco in generale. Questo legame si sviluppa anche nei più piccoli dei dettagli. A causa di un bug, Ellie entrava in copertura attraverso Joel. Il team però si rese conto che sembrava davvero credibile e, con alcune modifiche al set di animazioni per eliminare l’effetto clipping, è stato possibile far mettere al riparo Ellie esattamente nel punto in cui si trovava il giocatore. Questo meccanismo di “cover share” – come lo chiamano i programmatori – in cui Joel con il corpo protegge Ellie, rende ancora più credibile il rapporto padre-figlia che si sviluppa nel gioco.

Esperienze sempre più coinvolgenti

L’attenzione dei videogiocatori si è spostata sempre più verso gli avanzamenti nel campo della computer grafica, del resto è molto più facile vendere e pubblicizzare un gioco attraverso le immagini che non venderlo attraverso i sottosistemi invisibili che governano praticamente tutto: dai movimenti ai dialoghi. Alla fine dell’esperienza, tutto ciò che è nascosto all’occhio sfugge ai più e può essere fatto proprio solo nel momento in cui lo si prova con mano. Con open world sempre più grandi e più interattivi anche i sistemi che governano personaggi e interazioni si fanno più complessi e diventano un valore aggiunto. Watch Dogs Legion con il suo “Gioca con chi vuoi” ha lanciato uno dei concept più interessanti dell’ultimo anno, elevando il livello di simulazione all’interno del franchise e ampliando il ventaglio delle scelte anche se a volte gli incentivi a fare affidamento sul sistema di reclutamento sono minimi e vanno a detrimento di un’idea che ha tantissimo potenziale.

In una missione procedurale come quelle di Legion, le cutscene non possono essere pre-renderizzate e ciò si traduce in un lavoro molto oneroso – che coinvolge moltissimi reparti oltre ai programmatori – per far sì che ogni personaggio abbia la giusta personalità. È facile pensare, ad esempio, che basti registrare una conversazione con voci diverse per avere il risultato finale, invece ogni conversazione si basa su un diverso copione solo per una specifica linea di dialogo. Grazie ai metodi di generazione sviluppati in Ubisoft, basterà poi prendere quella linea registrata e trasformarla in modo che suoni come se fosse interpretata da un attore diverso. Se Ubisoft continuerà a iterare sul concept di Legion e a sfruttare questi sistemi, potrebbero guadagnarne anche altri franchise.

Se si parla di coinvolgimento e immersione, non si può non citare S.T.A.L.K.E.R. 2 tra i giochi più attesi previsti il 2021. Il nuovo immersive Sim in prima persona sviluppato da GSC Game World si sta facendo aspettare da tanto. Nonostante le precedenti iterazioni presentassero più di qualche problema, il gioco si è guadagnato un nutrito seguito di fan che sono rimasti affascinati dall’atmosfera e dall’ambiente ostile molto vivo. Zakhar Bocharov, PR specialist di GSC Game World ha fornito alcuni dettagli su cosa aspettarsi dal nuovo titolo, affermando che il sistema di simulazione A-life, che governa le reazioni a catena che si innescano in base agli eventi di gioco e alle azioni del giocatore, è diventato “più meticoloso e più dettagliato”. Tutte le interazioni tra fazioni, mostri o NPC avverranno in ogni momento, anche mentre il giocatore non sta guardando e ciò dovrebbe essere la naturale evoluzione di più quanto di buono già fatto in precedenza.

Intelligenza Artificiale e sviluppo

Quando si parla di intelligenza artificiale applicata ai videogiochi, però, non si fa solo riferimento ai comportamenti degli NPC, perché seppur vero che nei giochi a scopi commerciali ancora oggi le tecniche di base più utilizzate per infondere vita sono modelli matematici a stati finiti o alberi comportamentali – con le dovute varianti a seconda dello scopo e della grandezza dei modelli a cui si fa riferimento -, gli avanzamenti nel campo e gli studi mostrano che il futuro più promettente dell’IA è anche e soprattutto negli strumenti che aiutano designer e sviluppatori a creare videogiochi. Abbiamo già visto come più passano gli anni, più i giochi si espandono e la generazione procedurale di livelli e ambientazioni – creare risorse in modo automatizzato senza realizzare ogni singola risorsa a mano – fa ormai parte del vocabolario comune, ma c’è molto di più all’orizzonte.

Le software house stanno studiando metodi per utilizzare il deep learning per ridurre le sessioni di motion capture e per generare animazioni in modo più dinamico e vario. Anche il processo di creazione di una voce per un personaggio può beneficiare dell’IA, soprattutto gli studi più piccoli che non hanno i fondi necessari per un doppiaggio su larga scala. Certo ci sono ancora molti passi da intraprendere per far sembrare le voci meno robotiche, ma ascoltate da voi, ad esempio, i risultati ottenibili con il plugin Replica per l’Unreal Engine. Ridurre i costi e dare la possibilità a chi lavora sui videogiochi di concentrarsi su ciò che davvero conta, può davvero migliorare anche le condizioni di lavoro che, purtroppo, sappiamo non essere sempre le migliori possibili. Ubisoft La Forge qualche anno fa ha mostrato il suo Commit Assistant, uno strumento che si pone l’obiettivo di rilevare i bug prima che vengano inseriti nel codice e ciò potrebbe significare un risparmio di tempo e risorse non indifferente; allo stesso modo la divisione SEED di EA ha pubblicato uno studio sull’uso di una Rete neurale convoluzionale per rilevare i glitch e automatizzare parzialmente i test grafici nelle fasi finali dello sviluppo di un videogioco o, ancora, come attraverso il Deep Reinforcement Learning sia possibile migliorare la copertura dei test trovando exploit e problemi che possono verificarsi durante il gioco.

Non esistono però soltanto prospettive positive, in quanto il machine learning potrebbe addirittura essere utilizzato ai fini della monetizzazione tramite microtransazioni e loot box. In un precedente articolo abbiamo già parlato delle analisi telemetriche che vengono svolte per analizzare i tassi di abbandono all’interno ad esempio dei Games as a service e ciò significa che le software house hanno accesso a un gran quantitativo di dati sul comportamento dei giocatori per i più svariati aspetti di un titolo. Non è nemmeno fantascienza che una rete neurale di apprendimento automatico sia in grado di prevedere quali giocatori sono potenzialmente i più propensi a spendere denaro e che se adeguatamente addestrata possa proporre pacchetti di monetizzazione cuciti sull’esperienza del giocatore. Se una tale implementazione dovesse prendere piede in futuro, dovrà inevitabilmente verificarsi una più ferrea regolamentazione del settore.