44
A generic method for classification of player behavior Marlon Etheredge, Ricardo Lopes, Rafael Bidarra Computer Graphics and Visualization Group () A generic method for classification of player behavior 1 / 17

AIIDE'13 Presentation

Embed Size (px)

Citation preview

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