Games of Tomorrow
description
Transcript of Games of Tomorrow
Games of TomorrowGidi van Liempd
Overzicht1. Wie ben ik?2. Wat zijn “games of tomorrow”?3. UBASSERTIV – een case study
• Wat was het probleem?• Hoe hebben we dat aangepakt?• Ervaringen
4. Conclusies over games of tomorrow
Wie ben ik? Gidi van [email protected]
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)
Het doel van UBASSERTIV
3] Therapeuten schrijven zelf de scenes
Bestrijding van depressie
2] Voor het aanleren van assertiviteit
1] Maak een computerspel
Wat is belangrijk?
3] Therapeuten schrijven zelf de scènes
2] Voor het aanleren van assertiviteit
1] Maak een computerspel
Onderdeel van behandeling
Registratie van gedrag
adaptief
Sociale interactie
Emoties
Non-verbaal gedrag
Moet “leuk” zijn
Voor “gewone” computers
Geen programmeurs
Geen verhaaltjes
Bestaande voorbeelden
www.zap.ca www.simbionic.com
Onze aanpak (1)
aanleren computerspel
Onderdeel van behandeling
Registratie van gedrag
adaptief
Sociale interactie
Emoties
Non-verbaal gedrag
Moet “leuk” zijn
Voor “gewone” computers
Geen programmeurs
Geen verhaaltjes
assertiviteit
Therapeuten schrijven scènes
•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
Onze aanpak(2)
HFSM interaction engine:•Bestuurt het verhaal•Geeft aan welke NPC een “therapeutische scène” kan doen•Bestuurt de individuele NPCs
User model engine:•Selecteert “therapeutische” scènes•Evalueert het gedrag van de speler•Registreert het gedrag
Onze aanpak (3)
Platform
Game engine
User model engine
HFSM interaction engine
User interface
MenusModelsAnimatiesScènesUser data
Scenario editor
WebsiteSpel
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)
• 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
Werk van Chris Jansen/Hedderik van Rijn (RUG Kunstmatige Intelligentie)
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
User model engine (3)
• Het lijkt dus op een tutor systeem:
Tutor system
Behavior parser
User model
Problem selector
User state inspector
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
START NPC: Hallo! Zou ik uwat mogen vragen?
OnenterRange 2
Speler: ja hoor!Speler: nee,liever niet.
NPC: Zou u misschienlid willen worden van
onze boekenclub?
PDA: Het is niet debedoeling dat je hier
geld aan geeft!
Nee, sorryHoeveel is eenlidmaatschap
dan?
Ach, rot toch opmet je
boekenclub!
EINDAGRESSIEF
NPC: Nou sorryhoor!
NPC ...
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
HFSM is brein van NPC
Turn_To #PC
Gesture_At #PC “greet”
Say #PC “Mag ik ..”
Topic_item “Nee”
state
Actionqueue
Say #PC “Mag ik ..”
Topic_item “Nee”
statestate
HFSM is brein van NPC (2) state
state2Say #PC “Maar het gaat om
Grote kortingen!...”
START NPC: Hallo! Zou ik uwat mogen vragen?
OnenterRange 2
Speler: ja hoor!Speler: nee,liever niet.
NPC: Zou u misschienlid willen worden van
onze boekenclub?
PDA: Het is niet debedoeling dat je hier
geld aan geeft!
Nee, sorryHoeveel is eenlidmaatschap
dan?
Ach, rot toch opmet je
boekenclub!
EINDAGRESSIEF
NPC: Nou sorryhoor!
NPC ...
Hierarchical FSM
state
Parent state
Grandparent state
event
Matching event handler
HFSM: lagenTherapeutische 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
event
Demo spel UBASSERTIV
• Default gedrag
HFSM op verschillende niveaus
1. Wat zijn de basisacties en events?• Voorbeeld:
Offer_At, TransferObject, PutInInventory
2. Hoe gebruik je acties om een bepaald gedrag te bereiken?
3. 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
Integratie: wat moet je maken?
Game engine
Platform (bijv. Flash)
HFSM interaction engine
User model engine
User interface
MenusModelsAnimatiesScènesUser data
Scenario editor
Website
Bestaande (3D) engineNieuwe engine
Game engine
HFSM interaction engine
Platform
User model engine
User interface
Scenario editor
Website
MenusModelsAnimatiesScènesUser data
Integratie: wat komt er bij?Bestaande (3D) engine
Game engine
HFSM interaction engine
Platform
User model engine
User interface
Scenario editor
Website
MenusModelsAnimatiesScènesUser data
1
1. Koppeling2. Koppeling3. Load/Save4. Support5. ??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”?
Gidi van [email protected]
•Bijna hetzelfde als vandaag ….•Soms stukken slimmer•Maar meestal maar een beetje …