
Al giorno d'oggi una buona fetta del mercato dell'informatica, in continua espansione, è costituita dai videogiochi, di varia natura, che vogliono offrire all'utente esperienze sempre più avvincenti e realistiche. Per arrivare a tale risultato si è passati attraverso una fase di evoluzione dei videogiochi, sia come generi che come marchi, da parte delle case produttrici. Questa evoluzione si può osservare essere sostanzialmente divisibile in tre fasi: • inizialmente, la prima fase ha visto lo sviluppo dei motori grafici e audio dei videogiochi, che permettono di fornire un ambiente sempre più convincente ed accattivante, e che riescono a dare una sensazione piacevole al giocatore sia al primo impatto che durante il gioco; • la seconda fase ha visto lo sviluppo del così detto “gameplay”, ovvero dei contenuti in termini di sfide e prove che il giocatore deve affrontare per proseguire nel gioco e di quelle che il giocatore si trova ad affrontare a fine gioco, il così detto endgame-content, a questa parte è sostanzialmente affidato il successo o meno di un videogioco sul mercato; • infine, l'ultima fase ha visto l'introduzione di funzionalità dell'intelligenza artificiale (IA o AI, artificial intelligence) nei videogiochi. Questo ultimo campo è essenziale nei videogiochi che offrono soltanto la modalità giocatore singolo, single player, poiché il giocatore si troverà a doversi confrontare sempre contro l'AI del gioco, ma è altrettanto importante anche nei videogiochi multi giocatore, multiplayer, sia per controllare i fenomeni ambientali, in questo caso più che una vera intelligenza abbiamo un così detto motore fisico/ambientale, sia per controllare e far interagire i personaggi non controllabili dai giocatori, detti in gergo personaggi non giocabili o NPC (non palyable character), con i personaggi dei giocatori o i giocatori stessi. Nel primo capitolo di questa tesi tratteremo l'evoluzione dei videogiochi e delle relative intelligenze artificiali negli ultimi cinquant'anni, ed esamineremo da vicino tre tipologie di videogioco ed i compiti che è chiamata a svolgere l'AI in essi.Nel secondo capitolo ci focalizzeremo su uno dei videogiochi di maggior successo dell'ultimo decennio: World of Warcraft (WoW), partendo dalle origini del marchio e della saga di Warcraft, racconteremo la sua storia, dal gioco di strategia in tempo reale, da cui ebbe inizio, fino al successo planetario del gioco di ruolo di massa online, suo ultimo capitolo; tratteremo sia la trama di eventi che ne costituisce la base narrativa che le sue caratteristiche principali come gioco. Infine tratteremo del successo sbalorditivo avuto da tale videogioco. Abbiamo scelto questo videogioco in particolare poiché rappresenta un valido esempio di successo sia commerciale (con oltre 15 milioni di copie vendute ed un picco di più di 12 milioni di utenti attivi) che culturale. Nel terzo capitolo, rimanendo nel contesto di WoW, siccome si tratta di un gioco proprietario il cui codice sorgente non è di pubblico dominio, per vedere come sono implementate le funzionalità di AI all'interno del gioco tratteremo del fenomeno dell'emulazione dei server ufficiali di WoW, in particolare parleremo di come tre progetti di emulatori (ArcEmu, MaNGOS e TrinityCore) gestiscano ed implementino le AI dei vari personaggi che popolano il vasto mondo di WoW e ne faremo un breve confronto. Nel quarto capitolo illustreremo alcuni esempi di script di intelligenza artificiale da noi implementati all'interno di un emulatore basato su MaNGOS, e vedremo come l'AI non sia unicamente utilizzata per gestire NPC propriamente detti, ma anche per gestire NPC-oggetti.