aiide'13 presentation
Post on 14-Jul-2015
76 Views
Preview:
TRANSCRIPT
A generic method for classification of player behavior
Marlon Etheredge, Ricardo Lopes, Rafael BidarraComputer Graphics and Visualization Group
() A generic method for classification of player behavior 1 / 17
Introduction
1 Player classification is essential for game analytics andgame adaptivity
2 However most methods are ad-hoc and based onassumptions
3 Goal: generic player classification (different games andgenres, suited for designers)
4 Introducing a generic interaction-based system ofautomatic player classification using fuzzy cluster analysisand Hidden Markov Models.
5 BlindMaze: Application of our method in a simple 2d mazegame.
() A generic method for classification of player behavior 2 / 17
Introduction
1 Player classification is essential for game analytics andgame adaptivity
2 However most methods are ad-hoc and based onassumptions
3 Goal: generic player classification (different games andgenres, suited for designers)
4 Introducing a generic interaction-based system ofautomatic player classification using fuzzy cluster analysisand Hidden Markov Models.
5 BlindMaze: Application of our method in a simple 2d mazegame.
() A generic method for classification of player behavior 2 / 17
Introduction
1 Player classification is essential for game analytics andgame adaptivity
2 However most methods are ad-hoc and based onassumptions
3 Goal: generic player classification (different games andgenres, suited for designers)
4 Introducing a generic interaction-based system ofautomatic player classification using fuzzy cluster analysisand Hidden Markov Models.
5 BlindMaze: Application of our method in a simple 2d mazegame.
() A generic method for classification of player behavior 2 / 17
Introduction
1 Player classification is essential for game analytics andgame adaptivity
2 However most methods are ad-hoc and based onassumptions
3 Goal: generic player classification (different games andgenres, suited for designers)
4 Introducing a generic interaction-based system ofautomatic player classification using fuzzy cluster analysisand Hidden Markov Models.
5 BlindMaze: Application of our method in a simple 2d mazegame.
() A generic method for classification of player behavior 2 / 17
Introduction
1 Player classification is essential for game analytics andgame adaptivity
2 However most methods are ad-hoc and based onassumptions
3 Goal: generic player classification (different games andgenres, suited for designers)
4 Introducing a generic interaction-based system ofautomatic player classification using fuzzy cluster analysisand Hidden Markov Models.
5 BlindMaze: Application of our method in a simple 2d mazegame.
() A generic method for classification of player behavior 2 / 17
Traditional Flow
Problem
Game designers make assumptions regarding player styles,‘fun’ is a wild guess. Play tests are conducted to test theseassumptions.
Example
Assumed player styles in a first person shooter:
1 killer
2 healer
3 mechanic
4 support
This game needs to be designed keeping all these styles in mind.
() A generic method for classification of player behavior 3 / 17
Desirable Flow
Definition
Some form of player modeling (e.g. classification) discovers andcaptures various player characteristics.
1 Generic approach to allow integration in various (different)games.
2 Simple model requires little effort to bring adaptivity togames.
3 Classification allows game designers to design a gametowards a particular group of players.
() A generic method for classification of player behavior 4 / 17
Desirable Flow
Definition
Some form of player modeling (e.g. classification) discovers andcaptures various player characteristics.
1 Generic approach to allow integration in various (different)games.
2 Simple model requires little effort to bring adaptivity togames.
3 Classification allows game designers to design a gametowards a particular group of players.
() A generic method for classification of player behavior 4 / 17
Desirable Flow
Definition
Some form of player modeling (e.g. classification) discovers andcaptures various player characteristics.
1 Generic approach to allow integration in various (different)games.
2 Simple model requires little effort to bring adaptivity togames.
3 Classification allows game designers to design a gametowards a particular group of players.
() A generic method for classification of player behavior 4 / 17
Previous Work
Neural Network-based techniques (Henderson and Bhatti2001).
Other AI techniques (Harrison and Roberts 2011).
Complexity of these methods induce an ad-hoc tendencyseen in specific applications of player behavior modeling(Charles and Black 2004, Spronck and den Teuling2010).
(Matsumoto and Thawonmas 2004) introduced a similarmethod of player classification, though using predefinedplayer styles.
() A generic method for classification of player behavior 5 / 17
Overview
1 Interaction registry: captures behavior data
2 Cluster analysis: discovers player profiles in the data
3 Hidden Markov Models: classifies new players intodiscovered clusters
() A generic method for classification of player behavior 6 / 17
Overview
1 Interaction registry: captures behavior data
2 Cluster analysis: discovers player profiles in the data
3 Hidden Markov Models: classifies new players intodiscovered clusters
() A generic method for classification of player behavior 6 / 17
Overview
1 Interaction registry: captures behavior data
2 Cluster analysis: discovers player profiles in the data
3 Hidden Markov Models: classifies new players intodiscovered clusters
() A generic method for classification of player behavior 6 / 17
Behavior and Interactions
When aiming for a generic approach, the definition of behavioris highly important.
Definition
Behavior is every action performed by a player, in sequence andwith a notion of time.
1 Actions can be performed either using an object (e.g.shoot a hand gun) or not (e.g. jump).
2 Player actions need to be intercepted, stored and evaluatedin a score system. The score value is a cumulated value fora single action for one player.
() A generic method for classification of player behavior 7 / 17
Behavior and Interactions
When aiming for a generic approach, the definition of behavioris highly important.
Definition
Behavior is every action performed by a player, in sequence andwith a notion of time.
1 Actions can be performed either using an object (e.g.shoot a hand gun) or not (e.g. jump).
2 Player actions need to be intercepted, stored and evaluatedin a score system. The score value is a cumulated value fora single action for one player.
() A generic method for classification of player behavior 7 / 17
Action Sequences
Definition
Events (intercepted actions) are structures containing the nameof the action, an optional score and optional object andtimestamp, stored in sequence.
1 These sequences are stored in a simple registry.
2 Player behavior profiles are derived from these ‘interactionsequences’.
3 When intercepting interaction sequences of multipleplayers, profiles will naturally emerge from this data.
() A generic method for classification of player behavior 8 / 17
Action Sequences
Definition
Events (intercepted actions) are structures containing the nameof the action, an optional score and optional object andtimestamp, stored in sequence.
1 These sequences are stored in a simple registry.
2 Player behavior profiles are derived from these ‘interactionsequences’.
3 When intercepting interaction sequences of multipleplayers, profiles will naturally emerge from this data.
() A generic method for classification of player behavior 8 / 17
Action Sequences
Definition
Events (intercepted actions) are structures containing the nameof the action, an optional score and optional object andtimestamp, stored in sequence.
1 These sequences are stored in a simple registry.
2 Player behavior profiles are derived from these ‘interactionsequences’.
3 When intercepting interaction sequences of multipleplayers, profiles will naturally emerge from this data.
() A generic method for classification of player behavior 8 / 17
Interaction Registry
1 Data storage for interaction sequences intercepted from agame.
2 Calculates cumulative score values per interaction,belonging to a player’s session.
() A generic method for classification of player behavior 9 / 17
Interaction Registry
1 Data storage for interaction sequences intercepted from agame.
2 Calculates cumulative score values per interaction,belonging to a player’s session.
() A generic method for classification of player behavior 9 / 17
Interaction Registry1 A decay function is used to give recent interactions a
higher score value.2 Interactions may contain a differing initial value used in
this function.
0 100 200 300 400
0
0.2
0.4
0.6
Time in Seconds
Sco
re
() A generic method for classification of player behavior 10 / 17
Interaction Registry1 A decay function is used to give recent interactions a
higher score value.2 Interactions may contain a differing initial value used in
this function.
0 100 200 300 400
0
0.2
0.4
0.6
Time in Seconds
Sco
re
() A generic method for classification of player behavior 10 / 17
Interaction Registry1 A decay function is used to give recent interactions a
higher score value.2 Interactions may contain a differing initial value used in
this function.
0 100 200 300 400
0
0.2
0.4
0.6
Time in Seconds
Sco
re
() A generic method for classification of player behavior 10 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Cluster Analysis
1 Identification and definition of similar behavior, here playerbehavior profiles.
2 FLAME cluster analysis (Fu and Medico 2007).
3 Determining cross sections of actions, on data collectedfrom all players.
4 Clusters require interpretation by a game designer.
5 Data is typically collected in the design phase ofdevelopment, during testing.
6 Profiles could be used as a basis for adaptation; a gamedesigner can introduce changes to the game according tothese profiles.
() A generic method for classification of player behavior 11 / 17
Hidden Markov Models
1 Fitting player behavior profiles found by running clusteranalysis.
2 Used during gameplay to find matching behavior of aplayer..
3 Training using the forward-backward Baumm-Welchalgorithm (Welch 2003).
4 Finding the most likely profile by utilizing the Viterbialgorithm (Viterbi 1967).
() A generic method for classification of player behavior 12 / 17
Hidden Markov Models
1 Fitting player behavior profiles found by running clusteranalysis.
2 Used during gameplay to find matching behavior of aplayer..
3 Training using the forward-backward Baumm-Welchalgorithm (Welch 2003).
4 Finding the most likely profile by utilizing the Viterbialgorithm (Viterbi 1967).
() A generic method for classification of player behavior 12 / 17
Hidden Markov Models
1 Fitting player behavior profiles found by running clusteranalysis.
2 Used during gameplay to find matching behavior of aplayer..
3 Training using the forward-backward Baumm-Welchalgorithm (Welch 2003).
4 Finding the most likely profile by utilizing the Viterbialgorithm (Viterbi 1967).
() A generic method for classification of player behavior 12 / 17
Hidden Markov Models
1 Fitting player behavior profiles found by running clusteranalysis.
2 Used during gameplay to find matching behavior of aplayer..
3 Training using the forward-backward Baumm-Welchalgorithm (Welch 2003).
4 Finding the most likely profile by utilizing the Viterbialgorithm (Viterbi 1967).
() A generic method for classification of player behavior 12 / 17
BlindMaze (Screenshot)
An overview of the BlindMaze game.
() A generic method for classification of player behavior 13 / 17
Interaction Registry (Scores)
Example
Resulting in the following scores in five BlindMaze play sessions.
Right Left Down Up Stop Loop
39.50 11.09 35.35 13.86 4.15 0
22.18 6.93 16.63 9.70 7.62 40.89
30.49 13.86 23.56 14.55 14.55 0
13.16 21.48 22.87 13.16 20.10 0
30.49 11.09 24.95 12.47 11.09 14.55
These score values are used for cluster analysis to find playerstyles.
() A generic method for classification of player behavior 14 / 17
Cluster Analysis (Results)
Graph showing the clusters found with the ‘move’ action on thex-axis and the ‘stop’ action on the y-axis.
() A generic method for classification of player behavior 15 / 17
Discussion
1 We found six clusters on six interactions, showing onegroup of uncertain, one group of intermediate and fourgroups of fast moving players.
2 Clusters in BlindMaze are easy to identify (nature ofactions).
3 Implementation of our method within BlindMaze is a trivialtask, where we only needed to intercept interactions.
() A generic method for classification of player behavior 16 / 17
Discussion
1 We found six clusters on six interactions, showing onegroup of uncertain, one group of intermediate and fourgroups of fast moving players.
2 Clusters in BlindMaze are easy to identify (nature ofactions).
3 Implementation of our method within BlindMaze is a trivialtask, where we only needed to intercept interactions.
() A generic method for classification of player behavior 16 / 17
Discussion
1 We found six clusters on six interactions, showing onegroup of uncertain, one group of intermediate and fourgroups of fast moving players.
2 Clusters in BlindMaze are easy to identify (nature ofactions).
3 Implementation of our method within BlindMaze is a trivialtask, where we only needed to intercept interactions.
() A generic method for classification of player behavior 16 / 17
Conclusions and Future Work
1 Player classification can greatly improve game adaptivity.
2 We make player classification more accessible by offering asimple and generic method.
3 Generic because: (i) actions are everywhere, (ii) profilesemerge from data
4 We’re working on integrating our method in a new casestudy, featuring a wider set of (more complex) interactions.
() A generic method for classification of player behavior 17 / 17
Conclusions and Future Work
1 Player classification can greatly improve game adaptivity.
2 We make player classification more accessible by offering asimple and generic method.
3 Generic because: (i) actions are everywhere, (ii) profilesemerge from data
4 We’re working on integrating our method in a new casestudy, featuring a wider set of (more complex) interactions.
() A generic method for classification of player behavior 17 / 17
Conclusions and Future Work
1 Player classification can greatly improve game adaptivity.
2 We make player classification more accessible by offering asimple and generic method.
3 Generic because: (i) actions are everywhere, (ii) profilesemerge from data
4 We’re working on integrating our method in a new casestudy, featuring a wider set of (more complex) interactions.
() A generic method for classification of player behavior 17 / 17
Conclusions and Future Work
1 Player classification can greatly improve game adaptivity.
2 We make player classification more accessible by offering asimple and generic method.
3 Generic because: (i) actions are everywhere, (ii) profilesemerge from data
4 We’re working on integrating our method in a new casestudy, featuring a wider set of (more complex) interactions.
() A generic method for classification of player behavior 17 / 17
top related