46
Procedural Content and Player Modelling

Lecture 6 - Procedural Content and Player Models

Embed Size (px)

DESCRIPTION

This is the 6th of an 8 lecture series that I presented at University of Strathclyde in 2011/2012 as part of the final year AI course. In this lecture I link together the material presented in lectures 3 and 4 on profiling players and show how this can be used to good effect with Procedural Content Generation (lecture 5). I use Silent Hill : Shattered Memories as a specific example, and discuss research using Tomb Raider, and the standard Bartle Player Types.

Citation preview

Page 1: Lecture 6 - Procedural Content and Player Models

Procedural Contentand

Player Modelling

Page 2: Lecture 6 - Procedural Content and Player Models

Recap

• Yesterday

‣ Talked about how we can generate things inside the game

automatically.

‣Discussed difficulty systems and how we can adapt our

PCG systems to take difficulty into account

• Last week

‣ How we can model a player as a datapoint and use that

to better inform our AI systems

2

Page 3: Lecture 6 - Procedural Content and Player Models

Motivation

• Is the purpose of AI to create “unbeatable” games?

• Games should be

‣ Challenging

‣ Rewarding

‣ Entertaining

• AI can be a central tool for managing the player’s

experience.

• AI to create engagement between player and game3

Page 4: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

• AAA title in the Silent Hill series. Horror genre.

•Opens with a psychologist analysing the main

character.

• This is an actual psychological test

‣Of the player!

• Based on the classification that the test generates,

game is customised in several ways.

4

Page 5: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

• Next few slides are based on material presented by

Gwaredd Mountain, Technical Director for Climax

on SH:SM

5

Page 6: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

6

Stick images from Paris ’10 here

DISC Personality Model

Page 7: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

• Myers-Briggs “Dichotomies”

‣ Extraversion / Introversion

‣ Sensing / Intuition

‣ Thinking / Feeling

‣ Judgement / Perception

7

Page 8: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

• Content is selected based on player classification.

‣Note that it isn’t generated.

• Effectively, three different sets of content written

‣ Game shows you the most appropriate one based on

your psychological profile

8

Page 9: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

9

Page 10: Lecture 6 - Procedural Content and Player Models

Silent Hill : Shattered Memories

10

Page 11: Lecture 6 - Procedural Content and Player Models

Modelling Players

• It’s rare that we get to run a psychological profile

on players as part of the game.

• It’s about as rare that we can afford to create

multiple copies of assets targeted at specific classes

of player.

• How can we get around this?

11

Page 12: Lecture 6 - Procedural Content and Player Models

Player Observation

• The best way is to monitor what people are doing

in the game.

•We can build up a model of players

‣ See what they are doing

‣ Understand why they’re doing it

‣ Tailor their experience specifically to their tastes

12

Page 13: Lecture 6 - Procedural Content and Player Models

Player Observation

• Metrics!

• Logs!

•One of the simplest ways hinges on use of Google

Analytics.

• Libraries exist to streamline the process.

13

Page 14: Lecture 6 - Procedural Content and Player Models

Observation with Google Analytics

• “Traditional” use of GA

‣Web page is loaded

‣ Small piece of javascript is executed

‣ Contacts Google systems and creates a log entry

- Non-identifying info about the user and computer

- Page being requested

- Several parameters specified by the website

14

Page 15: Lecture 6 - Procedural Content and Player Models

Observation with Google Analytics

• All the Javascript is really doing is formatting and

sending a request to a Google web server.

•We can create and spoof this same action inside a

game environment

‣Or any application

• Then, we can use the GA reporting tools to see a

range of player metrics.

15

Page 16: Lecture 6 - Procedural Content and Player Models

What might we want to track?

• Start-up

‣ This lets us get some information about how many

people are playing, where they are coming from and so

on.

• Item collection

‣We can’t track physical location of a player (too much

data) but we can infer from things like item collection.

16

Page 17: Lecture 6 - Procedural Content and Player Models

What might we want to track?

• Player death

‣ This is a big one - we need to know when the player dies

and where. Why would also be good. We can pass these

in using the parameters mentioned previously

• Player kills

‣ It might be good to know where our players are when

the kill something. What they killed. How they killed it

17

Page 18: Lecture 6 - Procedural Content and Player Models

Drawbacks of Google Analytics

• GA doesn’t allow you to track specific individuals.

• Hacking this into the analytic data is a violation of

Google ToS, account may be banned.

• Means we can only track general trends about

players.

18

Page 19: Lecture 6 - Procedural Content and Player Models

Working with Trends

•One of the most important things we can use this

for is to track kill and death locations.

• This can give us a good understanding of areas

within a map that are advantageous and dangerous

•We can feed this into an AI system to automatically

avoid or be cautious in the dangerous areas

‣ Understand the map without actual “understanding”

• Also useful during design, monitoring flow etc.19

Page 20: Lecture 6 - Procedural Content and Player Models

Creating Models

• Need bespoke solutions for more granular analysis

of players.

•Want to see specific information about specific

players

• Understand what type of players aspects of the

game are appealing to.

‣Need to classify players into types then.

20

Page 21: Lecture 6 - Procedural Content and Player Models

Bartle Player Types

• Richard Bartle gives a well used profiling system

based on a set of game-scenario questions

• Classifies players into four types

‣ Explorer, Achiever, Socialiser, Killer

• A player’s Bartle Quotient scores out of a total of

up to 200% affinity for each type

‣No single rating higher than 100%

21

Page 22: Lecture 6 - Procedural Content and Player Models

Bartle Player Types

• Explorer

‣ Players who “dig around”

‣ Enjoy discovering areas, learning about the world

‣ Find glitches and easter eggs

22

Page 23: Lecture 6 - Procedural Content and Player Models

Bartle Player Types

• Achiever

‣ Players who want to gain points, levels or gear.

‣ In it for the glory (even if it is minor, fake in-game glory)

‣Will go to great lengths to accomplish various challenges

23

Page 24: Lecture 6 - Procedural Content and Player Models

Bartle Player Types

• Socialiser

‣ The game is a mechanism for social interaction.

‣ Single player - able to join in with others on discussion

‣Multi-player - participate in online groups, create

engagement with others

24

Page 25: Lecture 6 - Procedural Content and Player Models

Bartle Player Types

• Killer

‣What it says on the tin, interested in destruction

‣ Also into seeing their actions have high impact in worlds- May be positive or negative impacts

‣May use non-standard techniques e.g. economic war

25

Page 26: Lecture 6 - Procedural Content and Player Models

My Type

• Explorer - 67%

• Socialiser - 67%

• Killer - 40%

• Achiever - 27%

• Test taken : http://www.gamerdna.com/quizzes/

bartle-test-of-gamer-psychology

26

Page 27: Lecture 6 - Procedural Content and Player Models

Players inTomb Raider Underworld

• Researchers from ITU Copenhagen put data logging

into Tomb Raider Underworld on Xbox.

• Gathered four distinct metrics

‣ Causes of death

‣ Total number of deaths

‣ Completion time

‣ Use of “Help on Demand” system

27

Page 28: Lecture 6 - Procedural Content and Player Models

Players inTomb Raider Underworld

• Classified into four distinct groups

• Veterans

‣ Fast progression, few deaths, little help

• Solvers

‣ Good puzzle solving, slow progression, bad navigation

• Pacifists

‣ Good navigation, poor response to threats

• Runners

‣ Very fast progression, many deaths28

Page 29: Lecture 6 - Procedural Content and Player Models

Further Metrics and Analytics

• The better you understand the player, the better

you understand your customer.

• Analytics and Metrics are where AI techniques

overlap with business development.

•Outwith the scope of this course

• Games Analytics (based in Edinburgh) presented at

IGDA Scotland’s October meeting. Link on MyPlace

29

Page 30: Lecture 6 - Procedural Content and Player Models

Player Models for PCG

•We talked yesterday about Procedural Content

Generation.

•We saw in SH:SM that a model of a player could be

used to select one of several moods for a game.

•We can tie the player classification more directly to

PCG to alter the experience in a less clunky way

30

Page 31: Lecture 6 - Procedural Content and Player Models

Mario Level Generation

• Asked yesterday how we could alter difficulty in a

Mario style game.

• Let’s look first at how we can model players in this

game.

• Fortunately, our friends at ITU Copenhagen have

done the hard work already. Again!

31

Page 32: Lecture 6 - Procedural Content and Player Models

Player Modelling in Mario

• Model a range of features in six categories

‣ Jumps - total number of jumps, number of gaps

‣ Time - completion time, per-life time

‣ Items - number of items collected, % of coins collected

‣Death - number of times player died by cause

‣ Kill - ratio of different ways of killing enemies

‣ “Misc” - number of times run, number of times ducked

32

Page 33: Lecture 6 - Procedural Content and Player Models

Player Modelling in Mario

• Also makes use of surveys on a batch of play-

testers.

• Allows for more thorough analysis of a specific

group of players.

‣More detailed training data

33

Page 34: Lecture 6 - Procedural Content and Player Models

Level Modelling in Mario

•We can categorise each level based on a number of

features of the level

‣Number of gaps

‣Width of gaps

‣ “Spatial diversity of gaps”

‣Number of “direction switches”

34

Page 35: Lecture 6 - Procedural Content and Player Models

Mapping Levels to Players

• Correlation based on 3 metrics

‣ Fun

‣ Challenge

‣ Frustration

•We can now associate different player types to

different level types

•We’ve learnt what each type of player enjoys in a

level.35

Page 36: Lecture 6 - Procedural Content and Player Models

Procedurally Generating Content

• “Infinite Mario” is an adaptation of Mario that

generates new levels for the player.

‣No end game.

•We can tie the generator into the system we’ve just

described to classify players and maps.

•We can give players more of what they like

36

Page 37: Lecture 6 - Procedural Content and Player Models

Dynamic Difficulty

•We talked yesterday about selection of a fixed

difficulty system.

• The ways we can change a variety of factors to

provide variable challenge to the player.

• Can we use the profiling techniques we’ve seen to

automatically determine what difficulty level to

present to the player?

37

Page 38: Lecture 6 - Procedural Content and Player Models

Simplistic Dynamic Difficulty

• Think about Poker.

• Say everything we talked about last week works.

•We now have a (fairly) unbeatable Poker AI.

• How can we dynamically adjust its strength?

38

Page 39: Lecture 6 - Procedural Content and Player Models

Simplistic Dynamic Difficulty

• So the easiest way to implement dynamic difficulty

in this system is to simply change what the AI is

trying to do.

•We expect that it wants to maximise its reward.

• Change this so that big rewards are less desirable.

• This is a Utility Function - redefining the concept of

“optimal” to suit the aim (player satisfaction)

39

Page 40: Lecture 6 - Procedural Content and Player Models

Simplistic Dynamic Difficulty

•What we’re really talking about is defining

mathematically a process by which our “unbeatable”

AI will deliberately take a dive.

• In Decision Making terms, we’re going to choose the

“wrong” action to take

‣ “Lose with style” Brian Schwab, Blizzard Entertainment

• The rate we do this is determined by our profile of

the player’s strength.40

Page 41: Lecture 6 - Procedural Content and Player Models

Dynamic Difficulty in Strategy Games

• Johanson and Hagelback made an interesting user

study of Dynamic Difficulty in the context of a 2-

player strategy game.

• Each turn the player got to make an action

• Dynamic Difficulty - Depending on the strength of

the player’s forces, enemy may not make a move this

turn.

41

Page 42: Lecture 6 - Procedural Content and Player Models

Ability vs Challenge

•One thing of note is that certain players use

difficulty as an indicator of desired challenge.

• I’m a fairly good player, I could play on hard.

• I choose to play on lower settings because the

experience (e.g. narrative) is more important to me

than challenge.

• Good Dynamic Difficulty systems cater to this.

42

Page 43: Lecture 6 - Procedural Content and Player Models

Turing Tantrums

• Session from GDC (technology permitting)

43

Page 44: Lecture 6 - Procedural Content and Player Models

Reading

• ““Player Modeling using Self-Organization in Tomb Raider:

Underworld” Drachen, Canossa and Yannakakis, Proceedings of

CIG 2009

• “Measuring Player Experience on Runtime Dynamic Difficulty

Scaling in an RTS Game” Hagelback and Johansson,

Proceedings of CIG 2009

• “Modelling Player Experience in Super Mario Bros” Pedersen,

Togelius, Yannakakis, Proceedings of CIG 2009

44

Page 45: Lecture 6 - Procedural Content and Player Models

Summary

• Player modelling as psychological profiling

• Adapting/generating content based on models

• Dynamic Difficulty systems based on models

45

Page 46: Lecture 6 - Procedural Content and Player Models

Next Week

• Looking at other stuff we can do with AI in the

context of games.

46