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.
2. 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
3. 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 game
3
4. 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
5. Silent Hill : Shattered
Memories
• Next few slides are based on material presented by
Gwaredd Mountain, Technical Director for Climax
on SH:SM
5
6. Silent Hill : Shattered
Memories
Stick images from Paris
’10 here
DISC Personality Model
6
8. 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
11. 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
12. 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
13. Player Observation
• Metrics!
• Logs!
• One of the simplest ways hinges on use of Google
Analytics.
• Libraries exist to streamline the process.
13
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. Bartle Player Types
• Explorer
‣ Players who “dig around”
‣ Enjoy discovering areas, learning about the world
‣ Find glitches and easter eggs
22
23. 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
24. 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
25. 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
26. My Type
• Explorer - 67%
• Socialiser - 67%
• Killer - 40%
• Achiever - 27%
• Test taken : http://www.gamerdna.com/quizzes/
bartle-test-of-gamer-psychology
26
27. Players in
Tomb 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
28. Players in
Tomb 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 deaths
28
29. 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
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
39. 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
40. 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
41. 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
42. 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
43. Turing Tantrums
• Session from GDC (technology permitting)
43
44. 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
45. Summary
• Player modelling as psychological profiling
• Adapting/generating content based on models
• Dynamic Difficulty systems based on models
45
46. Next Week
• Looking at other stuff we can do with AI in the
context of games.
46