L'intelligenza artificiale e l'evoluzione dei videogiochi

Lo sviluppo e l'evoluzione dei videogiochi potrebbe passare attraverso il machine learning: scopriamo insieme di cosa si tratta!

L'intelligenza artificiale e l'evoluzione dei videogiochi
Articolo a cura di

Nel 1938 Johan Huizinga pubblicò il saggio Homo Ludens, in cui riconobbe la natura del gioco come elemento fondante delle società umane e animali. Ben lontano dall'essere un'attività futile, il gioco si manifesta in forme anche estremamente sofisticate, come gli scacchi e il videogame, espressione di tecnologia nonché esso stesso motore per lo sviluppo di macchine sempre più potenti ed avanzate. Il gioco è prova e misura dell'intelligenza, sia umana che artificiale: scopriamo come l'uomo insegua da centinaia di anni il sogno di creare una macchina che possa pensare (e giocare) come lui.

Intelligenza artificiale e machine learning

L'obiettivo dell'intelligenza artificiale è quello di sviluppare sistemi che esibiscano un comportamento che appare intelligente all'osservatore. Le macchine riescono a mostrare capacità cognitive come apprendimento, interazione con l'ambiente e soluzione di problemi di varia natura.

Una branca di questo ampio settore di studi, chiamata machine learning, cerca di insegnare ai computer come imparare senza essere specificamente programmati per determinati obiettivi: come il cane di Pavlov che capisce quando è ora di pranzo grazie al suono ripetuto del campanello associato alla presentazione di una succulenta ciotola di crocchette, la macchina interagisce con l'ambiente e impara quali sono i comportamenti che generano determinati risultati, più o meno in linea con gli obiettivi a lei dati. Insomma l'algoritmo impara dai dati e riesce a capire quali saranno le conseguenze di una determinata azione e risponde di conseguenza: un comportamento che definiremmo certamente intelligente.

Dopo queste definizioni iniziamo a parlare di giochi, e soprattutto di scacchi. Alan Turing, genio della matematica e protagonista della decrittazione di Enigma durante la Seconda Guerra Mondiale, ha svolto un ruolo centrale nella concezione di macchine in grado di svolgere algoritmi in maniera flessibile, in funzione di dati di ingresso e di risultati intermedi di calcolo.

Turing correva così veloce da andare oltre il tempo: a lui si deve l'invenzione di un algoritmo per far giocare a scacchi un computer... prima della nascita del computer! Questa idea di Turing rimase per lungo tempo sulla carta ma, come vedremo, riuscì infine a vedere la luce e a battere un campione del mondo di scacchi (forse il più grande giocatore di tutti i tempi!). Il gioco sembra una cosa molto seria, anche per i matematici più autorevoli. Andiamo con ordine e facciamo un salto indietro, molto indietro - precisamente nel 1769...

L'intelligenza artificiale come giocatore

Siamo nello splendido Castello di Schonbrunn, e tra gli agi della nobiltà sono in molti a dilettarsi nel gioco degli scacchi. Arriva un nuovo sfidante, con una particolarità: è un manichino vestito con abiti orientali (e per questo soprannominato "il Turco" dagli osservatori dell'epoca), seduto ad una scrivania d'acero. Il Turco è fortissimo a scacchi, praticamente imbattibile. L'automa scatena la curiosità di mezza Europa e persino Napoleone lo sfida, perdendo sonoramente per ben due volte! Naturalmente c'è un trucco: un abile nano manovra il macchinario, rimanendo ben nascosto tra gli ingranaggi. E beffandosi di Napoleone in persona.

Insomma, il Turco non era una macchina pensante, ma l'idea del suo creatore ha decisamente anticipato i tempi. Duecento e più anni dopo si è passati dall'intelligente nano nascosto sotto la scrivania ad una macchina che gioca seguendo pedissequamente le regole a lei date, sempre nel segno della nobile arte degli scacchi.

Deep Blue, progettato da IBM, è stato il primo computer a vincere una partita contro un campione del mondo in carica, nel 1996: Garry Kasparov non porta rancore, e anzi si è dedicato ad un'importante attività divulgativa nel campo delle intelligenze artificiali (è del 2012 la sua conferenza dedicata a Turing e alla straordinaria idea dell'algoritmo scacchista!), definendo la sua sconfitta come una grande vittoria per l'umanità.

Kasparov ha imparato molto dai suoi match contro Deep Blue, ma quest'ultimo non ha imparato alcunché dalle sue partite contro Kasparov. Oggi, le sempre più sofisticate tecniche di machine learning e la potenza di calcolo delle nuove GPU rendono possibile un apprendimento vero e proprio da parte dei computer, e se un tempo si utilizzavano gli scacchi oggi gli algoritmi imparano a giocare i nostri videogiochi preferiti come veri professionisti.

Nel febbraio 2015, sull'autorevole rivista Nature, venne pubblicato un articolo rivoluzionario, Human-level control through deep reinforcement learning, in cui si riportavano i risultati di un algoritmo così flessibile da riuscire ad ottenere punteggi eccezionali su alcuni classici videogiochi per Atari 2600 (tra cui Breakout, Pong e Space Invaders), senza essere programmato sulla base delle regole dei vari giochi.

L'algoritmo ha imparato con i soli input di pixel e punteggi ottenuti e continua a migliorarsi: a inizio 2020 sapeva giocare meglio di un umano esperto a tutti e 57 i videogiochi per Atari 2600, divenuti, nel frattempo, uno dei benchmark più significativi per misurare il livello di apprendimento automatico di una macchina. Gli scienziati di DeepMind, ideatori dell'algoritmo, non conoscevano a fondo le tecniche per vincere, e hanno imparato osservando la loro creatura in azione!

Come abbiamo visto, oggi l'uomo impara dal suo confronto con la macchina, e la macchina, a sua volta, migliora anche grazie al supporto dei suoi programmatori: la sfida è quella di creare algoritmi sempre più autonomi e sempre meno guidati.

In questo breve video, OpenAI - fondata, tra gli altri, da Elon Musk - mostra come sia possibile un continuo miglioramento da parte delle intelligenze artificiali impegnate in una partita del gioco più vecchio del mondo: nascondino! Giocando per milioni di volte l'algoritmo si affina progressivamente ed elabora delle strategie davvero interessanti, basate anche sulla cooperazione. Guardate per credere: vi sfidiamo a non rimanerne affascinati.

L'intelligenza artificiale come creatore

Certo, è interessante vedere una macchina diventare un ottimo giocatore di Pong partendo da zero, ma cosa succederebbe se utilizzassimo il machine learning anche per ottenere delle esperienze videoludiche sempre più immersive e realistiche, magari alleggerendo il lavoro degli sviluppatori? Nel 2019 il giovane developer indipendente Nick Walton ha distribuito un'avventura testuale basata proprio su un modello creato da OpenAI. AI Dungeon è capace di generare un infinito numero di storie, basandosi sui nostri input e dando vita a risposte complesse e convincenti: il giocatore può inserire qualsiasi tipo di testo nello spazio dedicato e scoprire dove l'intelligenza artificiale lo porterà, in un passo a due tra uomo e macchina che ha davvero dell'incredibile.

Spesso ci capita di confrontarci con nemici i cui pattern d'azione sono assolutamente leggibili: Ornstein e Smough di Dark Souls, ad esempio, non sono più una sfida, nel momento in cui abbiamo capito quali sono i loro attacchi e abbiamo imparato a reagire di conseguenza. Il machine learning può aiutare a costruire intelligenze artificiali sempre più fini senza una programmazione specifica. In Metal Gear Solid 5: The Phantom Pain l'utilizzo ripetuto di headshot da parte del giocatore spinge i soldati avversari a indossare degli elmetti più resistenti.

Si tratta di un comportamento adattivo solo in apparenza, in quanto, in realtà, è esplicitamente scriptato nel codice di gioco da parte degli sviluppatori: grazie alle tecniche di apprendimento automatico le intelligenze dei nemici potrebbero partorire da soli questa idea, e magari cooperare per inseguire e uccidere il nostro Snake studiandone i pattern di comportamento e le sue abitudini di combattimento e di esplorazione. Inoltre, gli NPC potrebbero sviluppare reazioni sempre più sfaccettate rispetto alle nostre azioni.

Tecniche di generazione procedurale sempre più avanzate potrebbero portare a notevoli semplificazioni nella costruzione di mondi virtuali. Senza contare l'accuratezza che può raggiungere il bug checking fatto da un buon algoritmo, addestrato non a vincere, ma a scovare piccoli e grandi problemi proprio come un cane da tartufi: ciò potrebbe evitare le (divertentissime!) assurdità cui si giunge, ad esempio, nella serie The Elder Scrolls, dove capita spesso di incappare in qualche imprevisto. Non solo: un beta tester non umano potrebbe "pensare" a soluzioni originali per raggiungere un determinato obiettivo fissato dagli sviluppatori, e fornire loro nuove idee da implementare all'interno del mondo virtuale.

Potremmo addestrare la macchina ad effettuare predizioni accurate circa il futuro successo di un videogioco in corso di sviluppo, così fornendo risposte (auspicabilmente) attendibili agli investitori: se non credete che ciò sia possibile, sappiate che il progetto europeo Virtuous, in collaborazione con il Politecnico di Torino e l'Istituto Dalle Molle per l'Intelligenza Artificiale di Lugano, sta elaborando un'intelligenza artificiale capace di prevedere il sapore di oli e vini. Come abbiamo visto, il machine learning fa imparare anche noi esseri umani. Ballare il tango con gli algoritmi serve, eccome!

Troppo intelligente?

L'intelligenza artificiale potrebbe essere un'arma a doppio taglio per gli sviluppatori. Concedere un'eccessiva libertà ai nostri furbissimi algoritmi li porterà a fare di tutto per conseguire l'obiettivo che abbiamo dato loro, con conseguenze a volte indesiderate: è celebre l'esempio teorico di un'intelligenza programmata per massimizzare la produzione di graffette... che, come metodo più efficiente per raggiungere il suo obiettivo, pensa di conquistare il mondo ed estinguere il genere umano per accumulare risorse!

In un videogioco si potrebbe giungere a comportamenti imprevedibili che potrebbero rovinare l'esperienza e risultare non coerenti con l'idea di partenza degli sviluppatori, tranne che nei casi in cui in cui l'obiettivo è proprio l'imprevedibilità stessa del videogioco (come in AI Dungeon). L'algoritmo intelligente potrebbe attuare strategie immorali (facendosi scudo con degli innocenti civili, ad esempio) o comportarsi in modo totalmente assurdo per l'osservatore umano.

Proprio come è accaduto con l'energia atomica, anche le tecniche di apprendimento automatico possono presentare dei rischi per l'uomo, se utilizzate per finalità distorte: un algoritmo efficiente creato per "animare" soldati convincenti in un videogioco ambientato in una zona di guerra potrebbe essere implementato in conflitti reali, oppure, come abbiamo detto, l'IA potrebbe scegliere di perseguire il suo obiettivo lecito prendendo una strada assolutamente nociva per l'umanità. Per questo è sempre necessario un occhio di riguardo da parte degli sviluppatori: l'intelligenza artificiale non ha un suo codice morale, e sta al creatore correggerla e direzionarla tanto nei mezzi quanto nei fini.

Il lancio della nuova generazione di console è imminente, e il progresso tecnologico sta consentendo alle intelligenze artificiali di fare passi da gigante, capaci di aiutare l'uomo nei campi più svariati: dalla medicina alla tecnofinanza, dal gioco al videogioco, l'ingegno umano crea macchine sempre più "sveglie" e capaci di imparare da sole. Vogliamo una next-gen che porti ad avanzamenti non solo nella grafica e nell'estetica di gioco, ma soprattutto nel realismo e nella immersività dell'esperienza: per fare ciò sarà essenziale conoscere e sfruttare al meglio le potenzialità dell'apprendimento automatico. Quali speranze nutrite per il futuro delle intelligenze artificiali nei videogiochi? Vi aspettiamo per parlarne insieme nei commenti!