Lecture 6 - Procedural Content and Player Models


Published on

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.

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lecture 6 - Procedural Content and Player Models

  1. 1. Procedural Content and Player Modelling
  2. 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 systems2
  3. 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 game3
  4. 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. 5. Silent Hill : Shattered Memories • Next few slides are based on material presented by Gwaredd Mountain, Technical Director for Climax on SH:SM5
  6. 6. Silent Hill : Shattered Memories Stick images from Paris ’10 here DISC Personality Model6
  7. 7. Silent Hill : Shattered Memories • Myers-Briggs “Dichotomies” ‣ Extraversion / Introversion ‣ Sensing / Intuition ‣ Thinking / Feeling ‣ Judgement / Perception7
  8. 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 profile8
  9. 9. Silent Hill : Shattered Memories9
  10. 10. Silent Hill : Shattered Memories10
  11. 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. 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 tastes12
  13. 13. Player Observation • Metrics! • Logs! • One of the simplest ways hinges on use of Google Analytics. • Libraries exist to streamline the process.13
  14. 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 website14
  15. 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. 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. 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 it17
  18. 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. 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. 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. 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. 22. Bartle Player Types • Explorer ‣ Players who “dig around” ‣ Enjoy discovering areas, learning about the world ‣ Find glitches and easter eggs22
  23. 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 challenges23
  24. 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 others24
  25. 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 war25
  26. 26. My Type • Explorer - 67% • Socialiser - 67% • Killer - 40% • Achiever - 27% • Test taken : http://www.gamerdna.com/quizzes/ bartle-test-of-gamer-psychology26
  27. 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” system27
  28. 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 deaths28
  29. 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 MyPlace29
  30. 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 way30
  31. 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. 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 ducked32
  33. 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 data33
  34. 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. 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. 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 like36
  37. 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. 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. 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. 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. 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. 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. 43. Turing Tantrums • Session from GDC (technology permitting)43
  44. 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 200944
  45. 45. Summary • Player modelling as psychological profiling • Adapting/generating content based on models • Dynamic Difficulty systems based on models45
  46. 46. Next Week • Looking at other stuff we can do with AI in the context of games.46
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.