360 likes | 529 Views
Games of Tomorrow. Gidi van Liempd. Overzicht . Wie ben ik? Wat zijn “games of tomorrow”? UBASSERTIV – een case study Wat was het probleem? Hoe hebben we dat aangepakt? Ervaringen Conclusies over games of tomorrow. Gidi van Liempd gidi@geedesign.com. Wie ben ik?.
E N D
Games of Tomorrow Gidi van Liempd
Overzicht • Wie ben ik? • Wat zijn “games of tomorrow”? • UBASSERTIV – een case study • Wat was het probleem? • Hoe hebben we dat aangepakt? • Ervaringen • Conclusies over games of tomorrow
Gidi van Liempd gidi@geedesign.com Wie ben ik?
Games of tomorrow - aanleiding • Graphics veel harder ontwikkeld • ...het ligt niet aan de AI! • Maar waar dan wel aan?
Conclusies • Er ontbreken nog technieken • Er zijn nieuwe AI-technieken, eenvoudig en veelbelovend • “Oude” AI-technieken nog te onbekend • Vooral integratie is een probleem
Project UBASSERTIV • Innovatieve Actieprogramma Groningen • Initiatief: G. van der Pompe • Partners: Kunstmatige Intelligentie (RUG), HTC, Q-modus, GGZ Groningen • Uitvoerders: • Diverse therapeuten • Gee!Design (Technische Projectleiding + game ontwerp) • Les Dogs (graphics en website) • PAR Webworks (coding)
3] Therapeuten schrijven zelf de scenes Het doel van UBASSERTIV Bestrijding van depressie 1] Maak een computerspel 2] Voor het aanleren van assertiviteit
Onderdeel van behandeling Registratie van gedrag adaptief Moet “leuk” zijn Voor “gewone” computers Geen programmeurs 3] Therapeuten schrijven zelf de scènes Sociale interactie Geen verhaaltjes Emoties Non-verbaal gedrag Wat is belangrijk? 1] Maak een computerspel 2] Voor het aanleren van assertiviteit
Bestaande voorbeelden www.zap.ca www.simbionic.com
Onze aanpak (1) Moet “leuk” zijn Registratie van gedrag computerspel aanleren adaptief Voor “gewone” computers Onderdeel van behandeling • 3rd person, iso-3D • Adventure game • Simlish • (Eigen) game engine in Flash • (Eigen) user model engine • (Eigen) HFSM interaction engine • (Eigen) scenario editor voor HFSM Geen programmeurs Therapeuten schrijven scènes Sociale interactie Geen verhaaltjes Emoties assertiviteit Non-verbaal gedrag
Onze aanpak(2) • User model engine: • Selecteert “therapeutische” scènes • Evalueert het gedrag van de speler • Registreert het gedrag • HFSM interaction engine: • Bestuurt het verhaal • Geeft aan welke NPC een “therapeutische scène” kan doen • Bestuurt de individuele NPCs
Onze aanpak (3) Website Scenario editor Spel User interface User model engine HFSM interaction engine MenusModelsAnimatiesScènesUser data Game engine Platform
Demo spel UBASSERTIV • Interactie via tekst, • handelingen, • objecten • Emoties, Simlish • Onderhandelen • Training
Eerste conclusie: Er zijn nog wensen/ontbrekende technieken: • Natural language interface? • (betaalbare) Text-To-Speech engine met emoties
User Model engine (1) Werk van Chris Jansen/Hedderik van Rijn (RUG Kunstmatige Intelligentie) • User modelling is vaak “model tracing”: • Ontwikkel een model van (goede en foute) kennis bij de student. • Kijk welke combinatie tot het antwoord van de student leidt. • Maar vaak lastig bij (serious) games: • Sommige domeinen hebben geen theorieën over hiërarchie • (Te) veel interactie mogelijkheden om te koppelen aan mentale processen
User Model engine (2) • Oplossing • Modelleer de indruk die een docent heeft: • Docent onthoudt niet alle specifieke fouten van een student • Maar heeft wel een algemeen beeld wat vaak goed en fout gaat
Tutor system Behavior parser User model Problem selector User state inspector User model engine (3) • Het lijkt dus op een tutor systeem:
User Model engine (4) • Nodig: • Set categorieën / trainingsdimensies • Waardering mogelijk per dimensie (goed of fout) • Bijvoorbeeld: “Positieve gevoelens uiten”, “agressief zijn” • Set trainingen/opdrachten met indicatie: • Is dit “goed”, “fout” of “neutraal” (niet) uitgevoerd voor deze dimensie? • Keuze van een speler geeft een indicatie van zijn gedrag op dat specifieke moment
Leert de speler? • Een docent model moet ook: • Het gedragspatroon van een speler door de tijd heen kunnen modelleren • Kunnen omgaan met veranderingen (bv. leren) • Hoe doet het gebruikte model dat? • Per dimensie 3 parameters (“chunks”) • # trainingen/pos. reacties/neg. reacties • Uitkomst van training bepaalt of een chunk update • Waarde van chunk neemt af (decay)
Door die decay houdt het model rekening met • Recency & frequency • Optimum: • Hoge activatie positieve chunk • Lage activatie negative chunk • Is er een (groot) verschil met optimum? • Train die dimensie!
Conclusie 2: • “Docent modelleren” bruikbaar voor adaptieve training in complexe domeinen en settings • Voorbeeld van AI-techniek • Nieuw • Eenvoudig te gebruiken • Eenvoudig te begrijpen
Interaction engine • Hierarchical Finite State Machines • (H)FSM wordt veel gebruikt in games • Is “gevestigde” techniek • HFSM biedt complexe interactiemogelijkheden • Visuele FSM eenvoudig genoeg voor niet-programmeurs
Turn_To #PC Gesture_At #PC “greet” Say #PC “Mag ik ..” Topic_item “Nee” HFSM is brein van NPC state state state Action queue Say #PC “Mag ik ..” Topic_item “Nee”
state state2 HFSM is brein van NPC (2) Say #PC “Maar het gaat om Grote kortingen!...”
Hierarchical FSM event state Matching event handler Parent state Grandparent state
event HFSM: lagen • Therapeutische scene • InRange gedrag • Stadia in therap scene • Agressie • Verhaal scene • InRange gedrag • Stadia in gesprek • Agressie • Default gedrag • Vragen naar emoties • Zinnen met “verkeerde” emoties • Vragen naar objecten • Engine • Kopen/verkopen/onderhandelen
Demo spel UBASSERTIV • Default gedrag
HFSM op verschillende niveaus • Wat zijn de basisacties en events? • Voorbeeld: Offer_At, TransferObject, PutInInventory • Hoe gebruik je acties om een bepaald gedrag te bereiken? • Hoe gebruik je verschillend gedrag in het spel?
Conclusie 3: • HFSM kan wel een “oude” techniek zijn, • Waarvan bekend is hoe je die implementeert, • Maar het gebruik ervan is nog grotendeels onbekend
Website Scenario editor Website Scenario editor User interface User interface User model engine HFSM interaction engine User model engine HFSM interaction engine MenusModelsAnimatiesScènesUser data MenusModelsAnimatiesScènesUser data Game engine Platform Integratie: wat moet je maken? Nieuwe engine Bestaande (3D) engine Game engine Platform (bijv. Flash)
Website Scenario editor User interface User model engine HFSM interaction engine MenusModelsAnimatiesScènesUser data Game engine Platform Integratie: wat komt er bij? Bestaande (3D) engine • Koppeling • Koppeling • Load/Save • Support • ?? 1 1 2 3 4
Integratie: onze ervaringen • Relatief veel tijd besteed aan maken “standaard game engine” • De ervaring van de teamleden is cruciaal
Conclusies voor “games of tomorrow” • Er ontbreken nog technieken • Er zijn nieuwe AI-technieken, eenvoudig en veelbelovend • “Oude” AI-technieken nog te onbekend • Vooral integratie is een probleem
Dus wat zijn de “games of tomorrow”? • Bijna hetzelfde als vandaag …. • Soms stukken slimmer • Maar meestal maar een beetje … Gidi van Liempd gidi@geedesign.com