Videogiochi e AI: viaggio nel mondo dell'intelligenza artificiale

Qual è stata l'evoluzione e la storia dell'intelligenza artificiale? Come è stata applicata al mondo dei videogiochi? Parliamone, in attesa della next-gen.

speciale Videogiochi e AI: viaggio nel mondo dell'intelligenza artificiale
Articolo a cura di

Ci siamo, gente: l'ottava generazione di console è ormai agli sgoccioli, e i giocatori si apprestano ad accogliere a braccia aperte l'arrivo dei loro nuovi giocattoli hi-tech, e la conseguente apertura di un nuovo filone evolutivo per il medium. L'arrivo sugli scaffali delle ammiraglie di Sony e Microsoft segna infatti il punto di partenza di un'infinità di viaggi digitali che, negli anni a venire, potrebbero rivoluzionare gli standard dell'industria, offrendo al pubblico esperienze sempre più complesse ed appaganti. Tra gli snodi più stimolanti di questo percorso ascendente c'è sicuramente quello che riguarda l'avanzamento delle IA (recuperate il nostro speciale sull'evoluzione dell'intelligenza artificiale nei videogiochi), largamente ritenuto uno degli aspetti più importanti per il futuro del videogioco. In attesa di scoprire cosa ci aspetta oltre l'orizzonte del tramonto generazionale, abbiamo deciso di offrirvi una rapida (si fa per dire) panoramica sul tema in questione, a partire dai primi esempi di "intelligenza ludica", fino alle esaltanti prospettive aperte dai moderni network neurali.

Ci teniamo a precisare che, vista la complessità degli argomenti trattati, nell'articolo a seguire potreste incappare in qualche semplificazione un po' radicale, utile a renderne i contenuti meno ostici. D'altronde, cari amici, ogni intelligenza artificiale è un raffinato cocktail di matematica e ingegno, nel quale ogni singolo ingrediente può fare la differenza tra una ciucca triste e un inebriante vagabondaggio digitale.

Da Turing a Pac-Man: le due facce dell'IA

Prima di lanciarci nel cuore di una tempesta di elucubrazioni su passato, presente e futuro del concetto di Intelligenza Artificiale applicato al videogioco, vale la pena di precisare che si tratta di una definizione alquanto controversa, poiché tendenzialmente lontana dai modelli di IA studiati in ambito accademico. La distanza, in questo caso, non riguarda tanto le metodologie utilizzate per costruire ed efficientare un sistema "intelligente", quanto le finalità dei processi alla base di queste operazioni.

Coniato a metà degli anni ‘50 dal professor John McCarthy, che assieme a Turing, Newell, Simon e Minsky viene giustamente annoverato tra i "padri fondatori" di questa branca dell'informatica, il termine Intelligenza Artificiale rappresenta il principale obiettivo di un campo di studi estremamente complesso e multidisciplinare: fornire a una macchina la capacità di svolgere funzioni e ragionamenti tipici dell'uomo.

Quest'ultimo passaggio, in particolare, definisce il fine ultimo del percorso inaugurato da Turing nel 1950 (anno della creazione dell'omonimo test), quello di produrre una coscienza artificiale virtualmente indistinguibile da una umana. Collocare l'IA videoludica nel medesimo campo di ricerca e sviluppo, insomma, è un po' come infilare un wurstel in una scatola di pastelli. Messe da parte le ovvie differenze concettuali, però, i percorsi evolutivi delle diverse intelligenze computerizzate condividono buona parte delle tappe salienti, perché legate a doppio filo ai medesimi modelli matematici.

Tra questi, uno dei primi ad essere utilizzati nell'ambito dell'intrattenimento digitale è stato il cosiddetto "automa a stati finiti" (ASF), un sistema pensato per generare una specifica gamma di reazioni in base alle azioni compiute dai giocatori.

Se prendiamo ad esempio l'originale Pac-Man del 1980, un gioiello di design ideato da Toru Iwatani, possiamo chiaramente riconoscere nella condotta dei nemici le tracce di questo modello algoritmico, programmato in maniera diversa per ciascun avversario. Il fantasma rosso era quindi progettato per seguire costantemente il percorso di Pac-Man, quello blu solo nel caso in cui il bersaglio si fosse avvicinato, mentre gli altri due si muovevano casualmente a velocità diverse. Il risultato è l'illusione di un comportamento ponderato, plasmato per proporre agli utenti una sfida sempre bilanciata e divertente.

Questa esigenza determina una differenza fondamentale tra le IA propriamente dette e le loro controparti videoludiche: se le prime puntano infatti ad operare al massimo dell'efficienza, le seconde devono necessariamente essere limitate per evitare che l'utente smetta di divertirsi. Pensate cosa accadrebbe se un giocatore di Call of Duty si trovasse ad incrociare le armi con un'unità di Specnaz (i corpi speciali russi) con le stesse abilità - tattiche e operative - delle loro controparti reali. Con tutta probabilità lo scontro si concluderebbe con un pugno sullo schermo e una scomunica ad honorem.

Imprevedibilità controllata

Se è vero che la frustrazione non è mai una buona cosa, nel gioco come nella vita, è innegabile che uno degli ingredienti principali dell'esperienza videoludica è sempre stato il senso di sfida, e questo sin dai primordi. Un elemento che nel corso degli anni ha spinto gli sviluppatori a trovare modi sempre nuovi per coinvolgere il giocatore, anche lavorando sui meccanismi alla base dell'IA.

Tornando al modello base di ASF, ad esempio, il suo principale limite è quello della prevedibilità, visto che ogni azione genera sempre e comunque la stessa reazione. Un tipo di consequenzialità lineare che, se applicata agli strategici in tempo reale, conduce inevitabilmente a una lunga serie di partite molto simili tra loro, contro un avversario digitale che continua a compiere le stesse mosse senza soluzione di continuità. È anche per questo motivo che titoli come il leggendario Dune II, il patriarca del genere, erano soliti sfruttare tutta una serie di "trucchetti" (veri e propri cheat) per aggiungere un po' di pepe alle battaglie. Nel tempo, quindi, l'industria ha cominciato ad adottare tecniche più sofisticate per rendere le IA più credibili ed efficienti, come quella elaborata a partire dal metodo Monte Carlo, un sistema utilizzato sin dal diciottesimo secolo (in forma embrionale) per risolvere problemi matematici con diverse variabili accidentali.

Il Monte Carlo tree search (MCTS) permette ai bot di rispondere a ogni iniziativa del giocatore con una buona varietà di reazioni differenti, calcolando (tramite simulazione) le probabilità di successo di ciascuna anche in relazione alle possibili contromosse a venire. Per evitare che questo processo imponga tempi d'attesa titanici, e limitare al contempo la prevedibilità del gameplay, l'algoritmo MCTS sceglie in maniera casuale un numero limitato di possibili risposte a ogni singola azione del giocatore, e partendo da quelle sceglie la più opportuna in base alle probabilità di successo presenti e future (entro limiti ben precisi).

Questa è una panoramica di ciò che succede "dietro le quinte" in un qualsiasi momento della campagna di Rome: Total War 2, almeno optando per la difficoltà più elevata (la serie in questione è anche menzionata nel nostro speciale su Roma e i videogiochi). Per quanto raffinata sia la programmazione, però, anche questo modello presenta dei limiti difficili da aggirare: la componente aleatoria dell'MCTS può far sì che il computer dia l'impressione di compiere azioni poco sensate, oppure mettere l'utente di fronte a un nemico implacabile, dotato di capacità predittive inarrivabili.

Matematica "flessibile"

Un altro metodo largamente utilizzato dagli sviluppatori per rendere le IA più raffinate, imprevedibili e sfaccettate è la "fuzzy logic", un sistema di elaborazione delle informazioni che cerca di riprodurre il modo in cui l'essere umano agisce in base a una grande varietà di input spesso generici, e senza necessariamente usare la logica binaria (vero-falso) tipica dei calcolatori.

Tanto per chiarire il concetto, immaginate di trovarvi nel pieno di una tipica giornata estiva. I vostri sensi vi permetterebbero di capire che fa caldo anche senza sapere esattamente la temperatura esterna, e di conseguenza - a seconda alle circostanze - potreste decidere di cambiarvi i vestiti, bere una bevanda fresca o farvi un bagno.

Applicando questo tipo di "logica sfumata" all'algoritmo ASF di The Sims, ecco che ognuno dei vostri personaggi agirà in base a una gran numero di variabili contestuali, optando per la migliore soluzione in base alle sue caratteristiche e a quelle dell'ambiente che lo circonda. Ed ecco che emerge un altro nodo cardine quando si parla di Intelligenza Artificiale applicata al videogioco: nella gran parte dei casi, l'IA di un videogioco non è il risultato di un singolo algoritmo, ma è piuttosto la summa di diversi sistemi che interagiscono tra loro. Nell'originale Half Life, proprio come nel succitato Dune II, il comportamento delle unità nemiche è dunque il risultato dell'interazione tra un classico modello ASF, responsabile di gran parte delle azioni di combattimento, e un algoritmo di pathfinding incaricato di gestire i movimenti di ognuno degli NPC.

Va da sé che nel corso del tempo le soluzioni a disposizione dell'industria si sono evolute, garantendo agli sviluppatori una maggiore elasticità nella programmazione delle routine comportamentali all'interno dei giochi. Il tradizionale "automa a stati finiti", ad esempio, è stato in larga parte sostituito dal più avanzato "modello comportamentale ad albero".

Il principale vantaggio di questo sistema è proprio la sua flessibilità, dato che il "ragionamento" alla base delle azioni di un elemento controllato dall'IA non deve più seguire necessariamente un percorso lineare, ma può percorrere a ritroso diversi snodi comportamentali per cercare soluzioni alternative. Mettiamo che l'obiettivo base sia raggiungere l'interno di una stanza: seguendo le direttive del primo ramo dell'albero, il nostro bravo NPC si avvicinerà e tenterà semplicemente di superare l'ingresso, un'operazione che potrebbe risultare fallimentare nel caso in cui la porta fosse chiusa.

L'algoritmo tornerà quindi all'incarico principale e selezionerà automaticamente l'opzione alternativa con priorità maggiore, ovvero "apri la porta". Nel caso in cui anche questo tentativo fallisse, l'automa potrebbe quindi tentare nuove strade, magari cercando di scassinare la serratura o di abbattere l'ostacolo.

Il caso Alien: Isolation e il futuro dell'intelligenza artificiale

Per quanto semplice sia questo concetto, nella realtà dei fatti il "modello comportamentale ad albero" può raggiungere livelli di complessità davvero notevoli, tali da dare l'illusione di avere a che fare con un'intelligenza realmente adattiva.

Questo è ad esempio il caso dell'IA dello xenomorfo in Alien Isolation (recuperate la recensione di Alien Isolation), progettata così bene da sembrare in grado di adeguarsi alla condotta del giocatore. Nella realtà dei fatti, i programmatori si sono limitati a comporre un "albero comportamentale" nel quale alcune abilità diventano disponibili solo al verificarsi di rigide condizioni di sblocco, quasi fosse un sistema di progressione ruolistico. Attivare una porta nel raggio visivo dell'alieno, ad esempio, attiverà una nuova gamma di possibili azioni, che in seguito lo porteranno sempre a reagire aggressivamente al suono generato dall'apertura di una stanza. Nel caso del titolo Creative Assembly, a dirla tutta, le intelligenze artificiali sono in realtà due: quella che si occupa di gestire il predatore e un'altra - presumibilmente su base ASF - che gli fornisce "sottobanco" le informazioni utili allo scopo. In ogni momento la "Director AI" ragguaglia l'alieno sulla generica posizione di Ripley, e si occupa di allontanarlo nel caso in cui la vicinanza tra i due si faccia troppo prolungata, in modo da non causare un'eccessiva frustrazione a carico dell'utente.

Come anticipato, per quanto intelligente sia la soluzione adottata dallo studio britannico, parliamo di una rete algoritmica molto diversa da quella sfruttata dai moderni network neurali, sebbene la base sia la medesima. Per spiegare come funziona il sistema di apprendimento autonomo delle IA neurali, prenderemo in esame un ipotetico algoritmo incaricato di portare a termine un livello di Super Mario Bros. nel minor tempo possibile e accumulando il maggior numero di monete.

In questo caso, l'albero comportamentale comprenderà tutte le possibili azioni a disposizione del nostro beniamino baffuto (movimento laterale, salto, poteri, ecc.) e ad ognuna sarà assegnato un punteggio (positivo o negativo) in base al risultato ottenuto: un punto per ogni nemico ucciso, due per ciascuna moneta raccolta, 3 persi in caso di morte e un bonus variabile a seconda del tempo di completamento.

Partendo da queste regole, il sistema neurale continuerà ad affrontare un determinato livello fino a quando il risultato finale (il punteggio) si sarà stabilizzato, e pertanto l'IA avrà imparato ad eseguire determinate azioni al massimo dell'efficienza. Al termine di questo percorso di apprendimento simulato avremo quindi un algoritmo capace di completare un incarico in maniera sostanzialmente impeccabile, ma non è necessariamente questo il fine ultimo di questo modello.

Bilanciando a dovere il sistema delle ricompense (che può anche essere straordinariamente articolato) è anche possibile addestrare un NPC a "sbagliare" per non sopraffare il giocatore, oppure ad adottare approcci diversi per reagire autonomamente a determinati imprevisti, legati all'azione dell'utente o, tanto per dirne una, alla fisica del mondo simulato.

Arrivati a questo punto, urge specificare un'ovvietà: a prescindere dal talento di un team di sviluppo, progettare un'IA richiede una gestione certosina delle risorse (CPU) necessarie alla messa a regime di qualsiasi routine, che chiaramente non possono essere monopolizzate dalla sola intelligenza artificiale. Questo vuol dire che l'efficacia di un'IA è legata a doppio filo alle capacità di calcolo di una macchina, e di conseguenza all'evoluzione dell'hardware. Limiti che il cloud computing ha già cominciato ad erodere, sebbene sia chiaro come buona parte delle operazioni debba ancora essere effettuata in locale.

L'esordio della nuova generazione di console, frutto di un costante efficientamento delle soluzioni hardware dedicate al videogioco, porta dunque con sé una promessa importante, quella scandita da un'evoluzione creativa che deve necessariamente muoversi verso fronti diversi dal semplice miglioramento grafico.

L'intelligenza artificiale - così come la fisica - è sicuramente una di queste frontiere, ed è pertanto lecito aspettarsi di vedere interazioni ben più avanzate ad alimentare il coinvolgimento nei nostri futuri viaggi digitali. Detto questo, però, vale la pena di ribadire che ogni tipo di applicazione nell'ambito dell'IA, così come in molti altri, non deve mai valicare i confini della sua funzione.

Pensate che disastro sarebbe se i Soldati Zombi di Doom Eternal cominciassero ad agire seguendo strategie complesse e corali, liberandosi dal loro ruolo di "carne da cannone" per mettere alle strette il possente Slayer, oppure se un boss di Elden Ring fosse concepito per prevedere continuamente ogni possibile attacco del protagonista. Esatto: sarebbe la fine del divertimento. Il nostro consiglio è quindi di affrontare gli anni a venire tenendo sempre a mente che a volte la "stupidità artificiale" non è un difetto, ma una necessità.