Fabrizio Balducci, Utilizzo Di Una BCI Per Validare Il
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITA’ DEGLI STUDI DI BARI FACOLTA’ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA MAGISTRALE IN INFORMATICA A.A. 2012-2013 Tesi in “Intelligenza Artificiale per i videogiochi” Utilizzo di una BCI per validare il progetto del game level design in un videogioco di ruolo Relatore: Prof. Fabio ABBATTISTA Correlatore: Prof.ssa Valeria CAROFIGLIO Laureando: Fabrizio BALDUCCI a me stesso, per averci creduto e non essermi mai arreso nonostante le difficoltà “Perché cadiamo? Per imparare a rimetterci in piedi ...” 2 Indice 1. Affective ludology e Flow ……………………………………………………………….....5 1.1 Dal gameplay all’affective ludology ……………………………………………………....7 1.2 La teoria del Flow …………...…………………………………………………………….9 1.3 Adattare dinamicamente la game experience .....................................................................13 2. Il videogioco: storia e business ...........................................................................................15 2.1 Il mercato economico e l’indotto .......................................................................................19 2.2 I generi di videogioco .........................................................................................................25 2.3 Gioco di ruolo Dungeons & Dragons e videogioco Neverwinter Nights ...........................29 3. Electron per il level design in Neverwinter Nights 2 ……………………………………34 3.1 Interfaccia di Electron e creazione di aree esterne ed interne .............................................40 3.2 Tool per la personalizzazione di un’area esterna ................................................................45 3.3 Creature e Posizionabili con statistiche ed inventari ..........................................................48 3.4 Attivatori per Transizioni d’area, Incontri e Dialoghi ........................................................51 4. Il tool NWNX4 per comunicare con un videogioco ..........................................................54 4.1 Il progetto NWNX4 ...........................................................................................................55 4.2 Installazione e configurazione ............................................................................................56 4.3 Esecuzione di NWNX4 ......................................................................................................58 4.4 Il codice sorgente e la creazione di un plugin .....................................................................61 4.5 Codice del plugin ................................................................................................................65 4.6 Impostazioni per la compilazione del plugin ......................................................................69 4.7 Script di esempio per usare il plugin ..................................................................................73 5. Rilevare segnali dal corpo umano .....................................................................................75 5.1 Il caschetto Emotiv EPOC .................................................................................................82 5.2 I software Emotiv per usare il caschetto ............................................................................84 5.3 Creare un’applicazione che integri le Emotiv API ............................................................87 5.4 Decisioni di progetto ..........................................................................................................90 5.5 Stampa su schermo del timestamp .....................................................................................94 5.6 Il problema del main loop ..................................................................................................96 3 5.7 Integrazione del codice del plugin per NWNX4 ................................................................98 5.8 Un raffinamento del main loop .........................................................................................105 6. Level design ………………………………………………………………………………107 6.1 Integrazione di NWNX4 in un livello del gioco ..............................................................109 6.2 Il livello della Noia ...........................................................................................................113 6.2.1 Level design per la Noia: Analisi .............................................................................113 6.2.2 Level design per la Noia: Progettazione ..................................................................114 6.2.3 Level design per la Noia: Realizzazione .................................................................116 6.3 Il livello del Flow .............................................................................................................122 6.3.1 Level design per il Flow: Analisi .............................................................................123 6.3.2 Level design per il Flow: Progettazione ..................................................................124 6.3.3 Level design per il Flow: Realizzazione ..................................................................127 7. Sperimentazione ................................................................................................................141 7.1 Un personaggio per il giocatore .......................................................................................142 7.2 Un livello per il tutorial ....................................................................................................143 7.3 I dati da raccogliere ..........................................................................................................144 7.3.1 Documenti digitali ...................................................................................................144 7.3.2 Documenti cartacei ..................................................................................................145 7.4 Metodologia di esecuzione ...............................................................................................154 7.5 Presentazione dei dati cartacei .........................................................................................156 7.6 Presentazione ed analisi dei dati digitali ..........................................................................164 7.6.1 Preparazione dei dati ...............................................................................................166 7.6.2 Eventi del livello della Noia ....................................................................................170 7.6.3 eventi del livello del Flow .......................................................................................173 7.7 Sviluppi futuri ...................................................................................................................179 8. Bibliografia .........................................................................................................................180 4 Capitolo 1–Affective ludology e Flow Questa tesi nasce prendendo spunto dai lavori pubblicati da Lennart E.Nacke1, Sophie Stellmach2 e Craig A.Lindley3 riguardo la creazione di livelli di videogioco che inducano determinate emozioni nei giocatori: nel proseguo di questo Capitolo 1 sarà data la definizione di affective ludology relativa alle emozioni provate nell’attività di gioco con sensazioni positive come piacere e divertimento o negative come frustrazione e noia; inoltre sarà vista la teoria del Flow e di come impatta sulla creazione di un videogioco. L’oggetto su cui si applicheranno le teorie è il videogioco (un gioco creato tramite tecnologie digitali) ovvero un software il cui motivo di esistere non è l’utilità ma lo svago e quindi il piacere ed il divertimento; negli ultimi anni, come tutto ciò riguardante l’intrattenimento (cinema e musica in primis) è diventato una fonte di business mondiale: il Capitolo 2 presenta il medium videogioco, il suo mercato economico (sia mondiale che italiano), i generi di videogioco (quasi una tassonomia) e le caratteristiche di quel videogioco che sarà utilizzato in questa tesi. Per creare livelli di videogioco ispirandosi a ciò ché Nacke e colleghi hanno fatto nei loro articoli (introducendo ovviamente delle differenze, a partire dal diverso genere di videogioco scelto: sparatutto con visuale in prima persona per Nacke versus gioco di ruolo con visuale isometrica dall’alto), c’è bisogno degli strumenti adatti: nel Capitolo 3 viene presentato il tool proprietario Electron per la creazione di livelli del gioco Neverwinter Nights 2 insieme al suo potente linguaggio di scripting. L’obiettivo di questa tesi è duplice, da una parte progettare e realizzare i livelli fornendo euristiche e linee guida ispirati dagli studi di Nacke e dall’altra verificare i risultati di tali ipotesi: per far questo c’è bisogno di strumenti che rilevino ed organizzino i dati: nel Capitolo 4 si illustrerà il tool NWNX4 (sia a livello di applicazione che di codice sorgente in C++) e di come sia possibile modificarlo ed usarlo per prelevare dati dal videogioco. 1 University of Saskatchewan, Saskatoon, Saskatchewan, Canada 2 University of Magdeburg, Magdeburg, Germany 3 Blekinge Institute of Technology, Ronneby, Sweden 5 Nel Capitolo 5 si userà il tool NWNX4 visto nel Cap.4 per progettare e realizzare un plugin che registri e sincronizzi i dati provenienti dal videogioco (software) con quelli provenienti dal caschetto Emotiv EPOC (hardware) che rileva onde cerebrali (elettroencefalogramma EEG) tramite sensori posti sullo scalpo di un giocatore; si illustreranno