Upload
luke-dicken
View
906
Download
0
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
Procedural Contentand
Player Modelling
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
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
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
Silent Hill : Shattered Memories
• Next few slides are based on material presented by
Gwaredd Mountain, Technical Director for Climax
on SH:SM
5
Silent Hill : Shattered Memories
6
Stick images from Paris ’10 here
DISC Personality Model
Silent Hill : Shattered Memories
• Myers-Briggs “Dichotomies”
‣ Extraversion / Introversion
‣ Sensing / Intuition
‣ Thinking / Feeling
‣ Judgement / Perception
7
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
Silent Hill : Shattered Memories
9
Silent Hill : Shattered Memories
10
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
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
Player Observation
• Metrics!
• Logs!
•One of the simplest ways hinges on use of Google
Analytics.
• Libraries exist to streamline the process.
13
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
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
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
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
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
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
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
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
Bartle Player Types
• Explorer
‣ Players who “dig around”
‣ Enjoy discovering areas, learning about the world
‣ Find glitches and easter eggs
22
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
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
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
My Type
• Explorer - 67%
• Socialiser - 67%
• Killer - 40%
• Achiever - 27%
• Test taken : http://www.gamerdna.com/quizzes/
bartle-test-of-gamer-psychology
26
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Turing Tantrums
• Session from GDC (technology permitting)
43
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
Summary
• Player modelling as psychological profiling
• Adapting/generating content based on models
• Dynamic Difficulty systems based on models
45
Next Week
• Looking at other stuff we can do with AI in the
context of games.
46