1
Introduzione
In ambito informatico il Test di Turing non ha certo bisogno di presentazioni.
Proposto da colui il quale è ritenuto unanimemente il padre dell‟informatica, continua
a rappresentare ormai da oltre mezzo secolo una sfida ed un‟inesauribile fonte di
dibattito e di ispirazione per la ricerca nel campo dell‟Intelligenza Artificiale (IA) e resta
a tutt‟oggi uno tra i criteri più accreditati per stabilire se una macchina sia in grado di
pensare o, in senso più ampio, se sia intelligente. Nonostante ciò, forse pochi sanno
che nel suo storico articolo, Computing Machinery and Intelligence, Turing descrisse
inizialmente il test in termini di un gioco da lui stesso battezzato “imitation game” [1].
In seguito, il test perse i connotati di gioco e assunse i tratti più formali sotto i quali è
attualmente noto. Sempre nel 1950, Claude Shannon avviò i suoi studi per riuscire a
programmare un computer per il gioco degli scacchi [2]. Anche se si trattava soltanto
dell‟alba di quella che sarebbe stata la rivoluzione informatica, visionari come Turing
e Shannon riuscivano già allora a vedere l‟immenso potenziale insito nei computer ed
erano animati dal desiderio di usarli per applicazioni che avrebbero facilmente
attirato l‟attenzione del pubblico, piuttosto che per scopi militari come accadeva a
quei tempi. I giochi apparivano un‟applicazione naturale per i computer, nonché
un‟attività che poteva fregiarsi di un consenso praticamente globale. Questo stesso
interesse per i giochi motivò Arthur Samuel ad iniziare un suo “viaggio” personale,
durato circa 25 anni, orientato alla realizzazione di un programma in grado di battere
a dama un avversario umano [3]. Gli sforzi iniziali di questi autorevoli personaggi
produssero comprensibilmente un enorme effetto catalizzatore, portando, in poco
tempo, ad un consistente ampliamento della schiera di studiosi intenti ad usare i
Cap.1 – Introduzione - 2
2
giochi come campo di prova per metodologie, tecniche e strumenti di IA sempre più
nuovi e all‟avanguardia. La ricerca sui computer games divenne in breve una delle
principali e più seguite aree dell‟appena nata IA: non è un caso che una delle prime
“grandi sfide” per l‟IA fu costruire un programma per il gioco degli scacchi in grado
di assurgere al titolo di campione del mondo. Negli anni „70 e „80, la ricerca si
concentrò sugli scacchi e sul cosiddetto “approccio bruta forza”, basato
sull‟applicazione di algoritmi di ricerca esaustiva su strutture dati ad albero. Dalla fine
degli anni „80 ad oggi, sono stati elaborati algoritmi di ricerca migliori e innovativi,
nonché idee per l‟apprendimento automatizzato [4]. Nel corso dei decenni, lo studio
sui computer games è stato la culla di diversi risultati dei quali hanno beneficiato
domini di applicazione tra i più disparati e ha condotto alla creazione di sistemi
intelligenti in grado di battere avversari umani, anche di calibro mondiale, in giochi
quali dama [5] o scacchi [6].
Escluse poche eccezioni, tutti tra giovani e meno giovani, hanno almeno una
vaga idea di cosa sia un computer game: un gioco, in formato software, pensato
appositamente per essere giocato tramite un computer, avendo come avversari o
come compagni, altre persone e/o Non-Player Characters (NPCs), ovvero entità virtuali
create e controllate dallo stesso software. Esiste una sottile distinzione tra computer
games e videogames, basata principalmente sul tipo di dispositivo hardware per il
quale sono destinati: infatti, i primi richiedono necessariamente l‟uso di un computer,
mentre gli altri possono fare riferimento a diverse architetture di elaborazione avendo
come unico requisito imprenscindibile quello di disporre di un video tramite il quale
fornire output visivo agli utenti [7]. In pratica, un computer game è anche un
videogame, mentre può non valere il viceversa. I videogames possono essere
classificati secondo diversi criteri. Uno tra i più usati è quello basato sul gameplay,
Cap.1 – Introduzione - 3
3
ovvero sulle modalità con le quali il player può interagire e manipolare l‟universo
virtuale nel quale è immerso e le entità che lo popolano [8]. In termini del concetto di
look-and-feel proprio dell‟interazione uomo-macchina, il gameplay lo si può far
corrispondere al feel. Sulla base del gameplay, i videogiochi vengono suddivisi in vari
generi, anche se tale suddivisione non è sempre ben accetta, soprattutto per quei
videogiochi che combinano caratteristiche appartenenti a generi diversi oppure
presentano elementi di originalità difficilmente riscontrabili in altri videogiochi.
Volendo citare alcuni tra questi generi è possibile ricordare i giochi da tavolo, con le
carte, puzzle, d‟azione, di avventura, di ruolo, di strategia, di sport, ecc.. Il sorgere di
nuovi gameplay e di nuovi generi è costantemente richiesto dai gamers, sempre alla
ricerca di nuove esperienze di gioco, ma è dettato principalmente dal progredire della
tecnologia o da break-through nel campo del game design.
Il breve excursus storico proposto in apertura testimonia inequivocabilmente
l‟esistenza di un legame piuttosto forte tra IA e computer games. Ciò non deve
affatto sorprendere, quanto semmai far cogliere con quanta semplicità e naturalezza il
gioco coinvolga alcuni degli aspetti dell‟intelligenza umana che da sempre l‟IA cerca
di imbrigliare e di riprodurre all‟interno di un sistema software: ragionamento,
apprendimento, adattamento a situazioni nuove ed impreviste, nonché capacità di
rispondere emotivamente a determinati impulsi con comportamenti, a volte, non
proprio razionali, ma che fanno comunque parte di quel mistero chiamato umanità.
Inoltre, rispetto a molte altre occupazioni dell‟uomo che parimenti possono dirsi in
grado di suscitare un tale livello di coinvolgimento intellettuale ed emotivo, il gioco
può vantare una maggiore predisposizione ad essere implementato su un sistema di
elaborazione, ma, soprattutto, un seguito di gran lunga più numeroso (chi non ama
giocare?). Da qui a rendere i computer games uno dei più apprezzati testbed per la
Cap.1 – Introduzione - 4
4
sperimentazione sull‟IA il passo è stato breve.
Il lettore esperto ed attento avrà, però, notato che, nel ripercorrere
sinteticamente i passi della ricerca sui computer games, sono stati menzionati solo
giochi alquanto tradizionali. Il motivo risiede nel fatto che lo studio sui computer
games condotto fino ad ora nelle università e nei laboratori di ricerca ha riguardato
quasi esclusivamente l‟ambito del problem solving e dell‟IA razionale. Esso ha come
finalità la realizzazione di agenti software che, posti di fronte ad un problema, siano
in grado di risolverlo massimizzando una certa misura di prestazione. I problemi
affrontati sono solitamente ben definiti e vincolati e le tecniche di risoluzione usate si
configurano generalmente come algoritmi di ricerca che esplorano lo spazio degli
stati del problema tentando di ricavarne una soluzione. L‟uso di un tale approccio è
giustificato dalla dimensione dell‟insieme delle soluzioni che è, in ogni caso, limitata e
calcolabile a priori e dalla possibilità di sfruttare conoscenze specifiche sulla struttura
interna del problema per escogitare delle euristiche in grado di facilitare e velocizzare
la ricerca delle soluzioni. In quest‟ottica, computer games come gli scacchi
costituiscono un testbed ideale, poichè presentano tutte le caratteristiche necessarie
per poter adottare tali approcci. I moderni videogames, invece, sono generalmente
giocati in real-time, consentono interazioni complesse con l‟ambiente e offrono
mondi aperti e dinamici, tutte caratteristiche che rendono l‟uso di algoritmi di ricerca
esaustiva o euristica pressochè improponibile [9]. Inoltre, i giochi da tavolo, con le
carte, i rompicapo, ecc., sono giochi “cervellotici”, nei quali gli appassionati del
genere solitamente traggono un diletto tanto maggiore quanto più è impegnativo il
livello di difficoltà che sono chiamati a sostenere dal loro avversario. Questa loro
bizzarra componente li rende adatti all‟utilizzo di “superagenti” software che,
essendo in grado di “fare sempre la cosa giusta”, finiscono molto spesso per
Cap.1 – Introduzione - 5
5
sopraffare il loro avversario. Ciò sarebbe difficilmente accettabile nella stragrande
maggioranza degli altri giochi nei quali il giocatore vuole solo divertirsi: perdere con
regolarità non rientra sicuramente nell‟accezione comune di divertimento.
Con l‟uscita di giochi quali Pong (1972) o Pac-man (1980) si è assistito alla
nascita di una nuova tipologia di computer games spesso distinta da quelle precedenti
tramite l‟aggettivo “altamente interattivo” o semplicemente “interattivo”. Tale
tipologia è quella attualmente di gran lunga più diffusa e annovera al suo interno
generi molto diversi tra loro e in continua evoluzione trainati dal progredire della
tecnologia e dalla costante richiesta da parte dei gamers di esperienze di gioco nuove
e sempre più coinvolgenti. Si va dai giochi d‟azione a quelli di avventura, dai giochi di
ruolo a quelli di strategia, dai giochi di simulazione agli sport, ecc. Tali giochi sono
solitamente real-time, richiedendo ai partecipanti di reagire agli stimoli esterni in
frazioni di tempo che rientrano al più nell‟ordine di pochi secondi, diversamente da
quanto accade nei giochi a turni dove ogni giocatore ha tutto il tempo di meditare su
cosa fare e come farlo. Inoltre, a differenza di quanto accade in giochi quali gli
scacchi o la dama, nei quali non è possibile associare fattezze di alcun tipo
all‟avversario, ma si può soltanto impersonificarlo al più con il computer stesso, in
questi giochi il player si trova a gareggiare o a collaborare con delle entità virtuali
visibili, come i fantasmini in Pac-man, che nel gergo vengono indicati, come già
accennato, con la sigla NPCs. Tale differenza, all‟apparenza banale, impone un nuovo
requisito sui computer games. L‟uomo è, infatti, portato naturalmente ad instaurare
rapporti empatici anche con le cose inanimate che lo circondano: basti pensare, ad
esempio, al bambino che giocando con un robot giocattolo, gli assegna un nome, gli
fa compiere imprese eroiche o disonorevoli, gioisce con lui per le sue vittorie e soffre
se viene danneggiato o sconfitto. Lo stesso vale per i personaggi che animano il
Cap.1 – Introduzione - 6
6
mondo virtuale dei computer games: il player stabilisce con essi dei rapporti che
possono essere sia amichevoli che ostili e, cosa più importante, esige che la natura di
tali rapporti sia tanto più credibile quanto più sofisticata e realistica è la riproduzione
di tali personaggi. Questo aspetto pone tutta una serie di problemi di IA che risultano
molto più complessi di quelli con i quali si ha a che fare nei giochi tradizionali. Tra
questi vi sono la ricerca di cammini (pathfinding), il controllo del movimento, i
processi decisionali, solo per citarne alcuni [10].
Salvo pochi casi isolati, l‟industria dei videogiochi ha storicamente snobbato
tali problemi optando per una loro risoluzione “spicciola” o per non risolverli affatto:
basti pensare che, nonostante la ricerca di cammini da parte degli NPCs sia uno dei
problemi di IA più comunemente riscontrabili all‟interno dei videogiochi, l‟algoritmo
A*, ideato nel 1968, è stato impiegato per la prima volta per la sua risoluzione solo
nel 1996 [4]. Nell‟economia di un videogioco commerciale, raramente l‟IA ha avuto
un peso di un certo rilievo, finendo quasi sempre per essere schiacciata da elementi
ritenuti di gran lunga più meritevoli di attenzioni, primo fra tutti il livello di realisticità
grafica e fisica dell‟universo nel quale il gioco è ambientato. La realizzazione del
sottosistema di IA è solitamente collocata alla fine del processo di sviluppo di un
videogame. In fin dei conti, un videogame deve generare profitti e mostrare una
demo del gioco con un cattivo sistema di IA può portare ad avere delle recensioni
negative con un conseguente potenziale impatto catastrofico sulle vendite. Accade
così che semplicemente l‟IA non abbia la più alta priorità dal punto di vista del
marketing. Dopotutto l‟uomo è un animale sul quale le immagini esercitano un forte
potere di suggestione e un bel tramonto si vende molto più facilmente di qualsiasi
capacità di ragionamento di un avversario, anche se incredibilmente arguta [11]. Il
risultato di questo modo di pensare, andato consolidandosi nel tempo, è che l‟IA
Cap.1 – Introduzione - 7
7
della quale è possibile avere esperienza nella stragrande maggioranza dei videogiochi
moderni ha ben poco di intelligente e finisce spesso per essere additata piuttosto
come “stupidità artificiale”. Tra le tecniche di IA più in voga tra gli sviluppatori di
videogiochi vi sono quelle basate su regole del tipo if-then e sulle macchine a stati
finiti. Nonostante risultino inadeguate per conferire agli NPCs un comportamento
variabile e adattabile, queste tecniche primeggiano grazie alla loro semplicità di
implementazione e alla robustezza e affidabilità delle soluzioni che riescono a fornire
per una grande varietà di problemi, anche se vengono generalmente usate per il
decision-making. I più temerari ricorrono in alcuni casi alle reti neurali e ad altre
tecniche di machine learning per simulare negli NPCs la capacità di apprendere e di
evolversi, ma anche quando ciò accade, per limitare i rischi dell‟imprevidibilità che
caratterizza tali approcci e che può avere lo spiacevole effetto di far comportare gli
NPCs in maniera più stupida piuttosto che intelligente, l‟apprendimento viene
eseguito a priori prima della pubblicazione del gioco nel quale, pertanto, viene usato
solo il comportamento già appreso senza possibilità di ulteriori evoluzioni spontanee
[12]. Rimane, poi, ancora piuttosto diffuso il cheating (imbroglio), ovvero la pratica di
programmare gli NPCs in modo tale da rendere loro accessibili, in qualsiasi
momento, informazioni relative all‟ambiente o agli altri giocatori che in condizioni di
gioco eque non sarebbero disponibili e che, ovviamente, pongono gli NPCs in una
situazione di vantaggio rispetto ai player umani riducendone drasticamente la
credibilità [13]. Per concludere, bisogna ricordare che lo scopo principale di un
videogioco resta, comunque, quello di intrattenere e divertire il player. Il
perseguimento di tale finalità deve emanare da ogni singola componente del
videogioco, compresa l‟IA. Ne consegue che, anche quando l‟industria videoludica
prende a prestito idee provenienti dal mondo accademico, esse vengono spogliate di
Cap.1 – Introduzione - 8
8
quel tono formale che originariamente le contraddistingue per assumere contorni
non meglio precisati volti soprattutto a strappare ai gamers pochi “wows” di stupore
e ammirazione piuttosto che ricreare comportamenti human-like degni di studio e
osservazione [11].
Quanto detto dipinge un quadro nel quale il rapporto tra IA e videogames,
pur rimanendo piuttosto viscerale, risulta variopinto e di colori cangiante a seconda
del punto da cui lo si osserva, degli scopi che si attribuiscono all‟IA e della natura dei
giochi che si prendono in considerazione. L‟IA assume forme e colori diversi a
seconda che la si guardi dal punto di vista dello sviluppatore di videogiochi o del
ricercatore e, anche internamente ad uno stesso punto di vista, presenta delle
variazioni sulla base delle finalità per le quali viene adoperata.
Recentemente, tuttavia, alcuni nuovi orientamenti da parte sia dell‟industria
che dell‟ambiente accademico lasciano presagire la possibilità di attenuare questa
diversità di sfurmature cromatiche e di ridurre il gap tra loro finora interpostosi. Vi
sono alcune motivazioni più che fondate e diversi segnali che portano a formulare
una tale affermazione, alcuni propriamente riconducibili al mondo dei videogames,
altri a quello della ricerca, altri ancora comuni ad entrambi. Per quanto concerne il
mondo dei videogiochi, non si può non ricordare che i gamers denunciano già da
diverso tempo la noiosa ripetizione di gameplay divenuti oramai un clichè prevedibile
e poco attraente, incapace di soddisfare aspettative di intrattenimento sempre più
elevate. L‟industria dell‟intrattenimento ludico interattivo riesce, almeno in parte, a
far dimenticare tali malcontenti facendo leva, soprattutto, sulle impressionanti
potenzialità computazionali messe a disposizione dai computer e dalle console di
gioco moderne per ricreare scenari sempre più realistici e stupefacenti in grado di
vincere anche le ritrosie dei giocatori più critici. Spesso, però, si sente parlare di
Cap.1 – Introduzione - 9
9
videogiochi che pur essendo letteralmente incredibili sul piano grafico, fino ad essere
elevati in alcuni casi al livello di vere e proprie forme d‟arte, sono piuttosto deludenti
nei contenuti e nel gameplay finendo per essere valutati come dei prodotti appena
accettabili nonostante gli enormi sforzi compiuti durante la loro realizzazione. Tutto
ciò ha reso ormai chiaro agli addetti ai lavori che il ruolo di trascinatore svolto finora
dalla computer graphics nei videogames sta per giungere al termine e che bisogna avere il
coraggio di osare e provare nuove strade. In questa caccia all‟elemento in grado di
ridare lustro al settore, che a parte rare eccezioni stenta ad emergere, sono sempre di
più coloro che pensano che un considerevole aiuto può giungere da un maggiore e
più accurato utilizzo di tecniche di IA. In particolare, considerare l‟IA come parte
integrante della progettazione del gameplay di un videogioco e non solo come un
modulo a se stante, potrebbe condurre alla creazione di esperienze di gioco
completamente nuove: se la grafica può piacevolmente stupire il giocatore a livello
visivo e gli engine fisici riescono a far percepire il mondo virtuale come se fosse reale,
l‟IA ha il potere di coinvolgere il giocatore mentalmente ed emotivamente [14].
Esiste, poi, una motivazione scientifica che spinge a prevedere un aumento
dell‟uso di tecniche di IA più avanzate da parte degli sviluppatori di videogames per
dotare gli NPCs di comportamenti e personalità più convincenti e human-like.
Questa sorta di spauracchio ha nome e cognome: Uncanny Valley (Valle Perturbante)
[15]. L‟uncanny valley non è “una meta 3 stelle della Guida Michelin”, anche se si
potrebbe tranquillamente far coincidere con un luogo ben preciso, un luogo della
mente per l‟esattezza, il punto in cui realtà e finzione si scontrano generando un
effetto di spiacevole disorientamento. Quella dell‟uncanny valley è un‟ipotesi
formulata nel 1970 dallo studioso di robotica nipponico Masahiro Mori e sintetizzata
dal grafico presentato in Figura 1.
Cap.1 – Introduzione - 10
10
Figura 1. Grafico dell'uncanny valley.
La ricerca condotta da Mori analizza sperimentalmente come la sensazione di
familiarità e di piacevolezza generata in un individuo da robot e automi antropomorfi
incrementi di pari passo con la somiglianza alla figura umana fino ad un punto in cui
l‟estremo realismo rappresentativo produce, però, un brusco calo delle reazioni
emotive positive destando sensazioni spiacevoli come repulsione e inquietudine
paragonabili al concetto freudiano di “perturbante”. Il grafico mostra sull‟asse delle
ascisse il grado di somiglianza con la forma umana di vari oggetti o situazioni messe
al cospetto del campione di individui analizzati, mentre su quello delle ordinate è
riportato il livello di empatia da essi provato. Nell‟angolo in alto a destra c‟è un
individuo in piena salute, in basso a sinistra una macchina aziendale. La zona del
perturbante coincide soprattutto con la visione di corpi inanimati, nella fattispecie di
cadaveri. Il senso spiacevole è ancora maggiore quando il cadavere, che si suppone
inanimato, prende vita, ovvero nel caso degli zombi. Anche se quella di Mori rimane
sempre un‟ipotesi non provata in alcun modo, l‟industria dell‟intrattenimento ritiene
comunque prudente non trattarla con leggerezza ed ha iniziato ad interrogarsi sulla
Cap.1 – Introduzione - 11
11
sua rilevanza nella creazione di nuove opere: l‟uso sempre più massiccio di computer
grafica, infatti, porta a chiedersi fino a che punto sia lecito spingersi nella ricerca del
realismo esasperato, soprattutto se questo riguarda la creazione di esseri umani o altre
creature antropomorfe [14] [16]. Al contempo, l‟ipotesi sprona gli sviluppatori di
videogiochi ad escogitare metodi per riuscire in qualche modo a superare tale valle.
Se si riuscisse, infatti, a raggiungere anche sotto altri aspetti, quali ad esempio quello
comportamentale ed emotivo, lo stesso grado di realismo già presente sul piano
grafico e fisico, i personaggi virtuali che popolano i videogames con tutta probabilità
non sprofonderebbero nell‟uncanny valley, ma al contrario, accrescerebbero il livello
di coinvolgimento e di divertimento dei gamers. Anche in questo caso, un
miglioramento delle tecniche di IA che controllano gli NPCs sembra essere la
risposta cercata.
Questo cambio di rotta intrapreso dall‟industria dei videogiochi è una delle
ragioni che sta portando il mondo accademico a guardare con grande interesse ai
computer games interattivi che, come detto in precedenza, raramente sono stati
adoperati per scopi di ricerca. Diversi ricercatori, infatti, intravedono in questo
cambio di direzione l‟opportunità di collaborare con un‟industria talentuosa e in
rapida crescita nel perseguimento di concreti avanzamenti nel campo dell‟IA. In
particolare, si pensa che una delle aree che maggiormente può beneficiare di questa
sinergia sia l‟IA human-level, detta anche “IA forte” o “IA generale”. Lo scopo dell‟IA
human-level è la creazione di macchine in grado di compiere con successo qualsiasi
compito rientrante naturalmente nelle capacità dell‟uomo. Tanto per intenderci i
sistemi intelligenti ai quali punta l‟IA forte sono quelli che spesso è possibile
ammirare nei film di fantascienza, quali ad esempio, HAL in “2001, Odissea nello
Spazio”, oppure DATA in “Star Trek”. In poche parole, si tratta del sogno dell‟IA. I
Cap.1 – Introduzione - 12
12
progressi fatti in questo campo, tuttavia, sono miseri e ironicamente ciò è dovuto
principalmente al fatto che le attuali applicazioni dell‟IA non richiedono la generalità
e l‟adattabilità del pensiero umano e, pertanto, si ricorre molto più volentieri a
soluzioni specializzate che sono più facili da realizzare e meno costose. I computer
games interattivi possono rappresentare un punto di svolta poiché, come si è visto,
cominciano ad avere bisogno di questo tipo di IA o, comunque, di uno molto simile.
L‟elemento che principalmente rende i computer games interattivi un‟attraente
alternativa ad altri strumenti di sperimentazione e simulazione è la possibilità di avere
a disposizione delle riproduzioni molto fedeli di ambienti reali, senza al contempo
dover avere a che fare con tutta una serie di problemi che si incontrano nella realtà,
come ad esempio la necessità di usare sensori ed attuatori concreti. Ciò consente di
concentrarsi fin da subito sull‟oggetto vero e proprio della ricerca. Inoltre, i
videogiochi sono sistemi software robusti, molto economici e sempre più spesso
straordinariamente accessibili tramite interfacce IA già predisposte [10].
Quello fra computer games ed IA sembra, dunque, essere un connubio
destinato a rafforzarsi, depositario di grandi promesse non solo per i campi
direttamente interessati, ma anche per quelli ad essi contingenti.
1.1 Obiettivi
Oggetto della tesi è l‟ideazione, implementazione e valutazione di un modello di IA
per il controllo degli NPCs di Unreal Tournament 2004 (UT2k4), un famoso First-Person
Shooter (FPS) game. L‟architettura di controllo proposta è, in realtà, istanza di un