SlideShare a Scribd company logo
1 of 46
Download to read offline
Procedural Content
         and
  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 game
3
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

    Stick images from Paris
    ’10 here




                          DISC Personality Model
6
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 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
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
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

More Related Content

What's hot

Diversity in NPC AI
Diversity in NPC AIDiversity in NPC AI
Diversity in NPC AILuke Dicken
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content GenerationPier Luca Lanzi
 
Introduction to Level Design
Introduction to Level DesignIntroduction to Level Design
Introduction to Level DesignRico Lemba
 
Game Development 2
Game Development 2Game Development 2
Game Development 2Luke Dicken
 
GAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionGAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionSeth Sivak
 
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...DevGAMM Conference
 
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em UpKnowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em UpLuke Dicken
 
Got Game? Programming with RPGs
Got Game? Programming with RPGsGot Game? Programming with RPGs
Got Game? Programming with RPGsNick Tanzi
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobbmochimedia
 
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...Michelle Caldwell, PSM, SSGB
 
This was a triumph: Evolving intelligent bots for videogames. And for Science.
This was a triumph: Evolving intelligent bots for videogames. And for Science. This was a triumph: Evolving intelligent bots for videogames. And for Science.
This was a triumph: Evolving intelligent bots for videogames. And for Science. Pablo García Sánchez
 
Narrative Design Challenges in F2P Games | Ieva Pikutyte
Narrative Design Challenges in F2P Games | Ieva PikutyteNarrative Design Challenges in F2P Games | Ieva Pikutyte
Narrative Design Challenges in F2P Games | Ieva PikutyteJessica Tams
 

What's hot (20)

Diversity in NPC AI
Diversity in NPC AIDiversity in NPC AI
Diversity in NPC AI
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content Generation
 
Practical AI in Games
Practical AI in GamesPractical AI in Games
Practical AI in Games
 
Introduction to Level Design
Introduction to Level DesignIntroduction to Level Design
Introduction to Level Design
 
Game Development 2
Game Development 2Game Development 2
Game Development 2
 
GAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionGAME 3400 Level Design - Introduction
GAME 3400 Level Design - Introduction
 
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
Leszek Szczepański (Guerrilla Games) - Creating quests in the open world of H...
 
Pursuing elegance
Pursuing elegancePursuing elegance
Pursuing elegance
 
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em UpKnowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
Knowing When to Hold 'Em, When to Fold 'Em and When to Blow 'Em Up
 
Got Game? Programming with RPGs
Got Game? Programming with RPGsGot Game? Programming with RPGs
Got Game? Programming with RPGs
 
Level Design
Level DesignLevel Design
Level Design
 
Game Elements
Game ElementsGame Elements
Game Elements
 
Game Balancing
Game BalancingGame Balancing
Game Balancing
 
Super Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain LobbSuper Gun Kids: The Making Of by Iain Lobb
Super Gun Kids: The Making Of by Iain Lobb
 
Game Concept
Game ConceptGame Concept
Game Concept
 
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...
Visual tools and Innovation Games Workshop - SharePointalooza- sept 2014 -as ...
 
This was a triumph: Evolving intelligent bots for videogames. And for Science.
This was a triumph: Evolving intelligent bots for videogames. And for Science. This was a triumph: Evolving intelligent bots for videogames. And for Science.
This was a triumph: Evolving intelligent bots for videogames. And for Science.
 
Prototyping
PrototypingPrototyping
Prototyping
 
Narrative Design Challenges in F2P Games | Ieva Pikutyte
Narrative Design Challenges in F2P Games | Ieva PikutyteNarrative Design Challenges in F2P Games | Ieva Pikutyte
Narrative Design Challenges in F2P Games | Ieva Pikutyte
 
Game Development
Game DevelopmentGame Development
Game Development
 

Similar to Lecture 6 - Procedural Content and Player Models

Transmedia, Gamification, Advergaming
Transmedia, Gamification, AdvergamingTransmedia, Gamification, Advergaming
Transmedia, Gamification, AdvergamingGAMESbrief
 
Understanding your game through data
Understanding your game through dataUnderstanding your game through data
Understanding your game through dataDevGAMM Conference
 
Unlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerUnlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerEthan Levy
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game PlayingLuke Dicken
 
Pre-Order-Culture-and-Early-Access
Pre-Order-Culture-and-Early-AccessPre-Order-Culture-and-Early-Access
Pre-Order-Culture-and-Early-AccessAdam Wood
 
Introduction to Games with a Purpose design and Playtesting
Introduction to Games with a Purpose design and PlaytestingIntroduction to Games with a Purpose design and Playtesting
Introduction to Games with a Purpose design and PlaytestingLuca Galli
 
98 374 Lesson 01-slides
98 374 Lesson 01-slides98 374 Lesson 01-slides
98 374 Lesson 01-slidesTracie King
 
Rules of Play: Design Elements of Addictive Online Learning Games
Rules of Play: Design Elements of Addictive Online Learning GamesRules of Play: Design Elements of Addictive Online Learning Games
Rules of Play: Design Elements of Addictive Online Learning GamesDave Schaller
 
CUbRIK and gaming experience@Qualinet
CUbRIK and gaming experience@QualinetCUbRIK and gaming experience@Qualinet
CUbRIK and gaming experience@QualinetCUbRIK Project
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011Luke Dicken
 
Gamification in Digital Marketing
Gamification in Digital MarketingGamification in Digital Marketing
Gamification in Digital MarketingGunter Blanckaert
 
BSA Game Design Merit Badge
BSA Game Design Merit BadgeBSA Game Design Merit Badge
BSA Game Design Merit BadgeDavid Mullich
 
Gamification training pros-2015
Gamification training pros-2015Gamification training pros-2015
Gamification training pros-2015Charles Palmer
 
mindful xp Video Postmortem
mindful xp Video Postmortemmindful xp Video Postmortem
mindful xp Video Postmortemmindful xp
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.pptHonggangMan
 

Similar to Lecture 6 - Procedural Content and Player Models (20)

Transmedia, Gamification, Advergaming
Transmedia, Gamification, AdvergamingTransmedia, Gamification, Advergaming
Transmedia, Gamification, Advergaming
 
Understanding your game through data
Understanding your game through dataUnderstanding your game through data
Understanding your game through data
 
Game designdocs
Game designdocsGame designdocs
Game designdocs
 
TJD_2023_Lab_06.pptx
TJD_2023_Lab_06.pptxTJD_2023_Lab_06.pptx
TJD_2023_Lab_06.pptx
 
Unlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designerUnlock your creative potential: 7 steps to becoming a game designer
Unlock your creative potential: 7 steps to becoming a game designer
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game Playing
 
Pre-Order-Culture-and-Early-Access
Pre-Order-Culture-and-Early-AccessPre-Order-Culture-and-Early-Access
Pre-Order-Culture-and-Early-Access
 
Nature of Games.pptx
Nature of Games.pptxNature of Games.pptx
Nature of Games.pptx
 
Introduction to Games with a Purpose design and Playtesting
Introduction to Games with a Purpose design and PlaytestingIntroduction to Games with a Purpose design and Playtesting
Introduction to Games with a Purpose design and Playtesting
 
98 374 Lesson 01-slides
98 374 Lesson 01-slides98 374 Lesson 01-slides
98 374 Lesson 01-slides
 
Rules of Play: Design Elements of Addictive Online Learning Games
Rules of Play: Design Elements of Addictive Online Learning GamesRules of Play: Design Elements of Addictive Online Learning Games
Rules of Play: Design Elements of Addictive Online Learning Games
 
CUbRIK and gaming experience@Qualinet
CUbRIK and gaming experience@QualinetCUbRIK and gaming experience@Qualinet
CUbRIK and gaming experience@Qualinet
 
Gds'19
Gds'19Gds'19
Gds'19
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011
 
Gamification in Digital Marketing
Gamification in Digital MarketingGamification in Digital Marketing
Gamification in Digital Marketing
 
Idle Chatter - GDC 2016
Idle Chatter - GDC 2016Idle Chatter - GDC 2016
Idle Chatter - GDC 2016
 
BSA Game Design Merit Badge
BSA Game Design Merit BadgeBSA Game Design Merit Badge
BSA Game Design Merit Badge
 
Gamification training pros-2015
Gamification training pros-2015Gamification training pros-2015
Gamification training pros-2015
 
mindful xp Video Postmortem
mindful xp Video Postmortemmindful xp Video Postmortem
mindful xp Video Postmortem
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.ppt
 

More from Luke Dicken

You're Not Special, Neither am I
You're Not Special, Neither am IYou're Not Special, Neither am I
You're Not Special, Neither am ILuke Dicken
 
The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game PlannersLuke Dicken
 
Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Luke Dicken
 
The International Game Developers Association
The International Game Developers AssociationThe International Game Developers Association
The International Game Developers AssociationLuke Dicken
 
Lecture 3 - Decision Making
Lecture 3 - Decision MakingLecture 3 - Decision Making
Lecture 3 - Decision MakingLuke Dicken
 
Lecture 2 - Probability
Lecture 2 - ProbabilityLecture 2 - Probability
Lecture 2 - ProbabilityLuke Dicken
 
Lecture 1 - Game Theory
Lecture 1 - Game TheoryLecture 1 - Game Theory
Lecture 1 - Game TheoryLuke Dicken
 
Lecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLuke Dicken
 
What I Done on my Holidays
What I Done on my HolidaysWhat I Done on my Holidays
What I Done on my HolidaysLuke Dicken
 
Influence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsInfluence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsLuke Dicken
 
The Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentThe Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentLuke Dicken
 
The Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningThe Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningLuke Dicken
 
Integrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AIIntegrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AILuke Dicken
 
Robust Agent Execution
Robust Agent ExecutionRobust Agent Execution
Robust Agent ExecutionLuke Dicken
 

More from Luke Dicken (14)

You're Not Special, Neither am I
You're Not Special, Neither am IYou're Not Special, Neither am I
You're Not Special, Neither am I
 
The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game Planners
 
Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Game Development 1 - What is a Game?
Game Development 1 - What is a Game?
 
The International Game Developers Association
The International Game Developers AssociationThe International Game Developers Association
The International Game Developers Association
 
Lecture 3 - Decision Making
Lecture 3 - Decision MakingLecture 3 - Decision Making
Lecture 3 - Decision Making
 
Lecture 2 - Probability
Lecture 2 - ProbabilityLecture 2 - Probability
Lecture 2 - Probability
 
Lecture 1 - Game Theory
Lecture 1 - Game TheoryLecture 1 - Game Theory
Lecture 1 - Game Theory
 
Lecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLecture 4 - Opponent Modelling
Lecture 4 - Opponent Modelling
 
What I Done on my Holidays
What I Done on my HolidaysWhat I Done on my Holidays
What I Done on my Holidays
 
Influence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsInfluence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual Representations
 
The Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentThe Strathclyde Poker Research Environment
The Strathclyde Poker Research Environment
 
The Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningThe Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated Planning
 
Integrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AIIntegrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AI
 
Robust Agent Execution
Robust Agent ExecutionRobust Agent Execution
Robust Agent Execution
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Lecture 6 - Procedural Content and Player Models

  • 1. Procedural Content and Player Modelling
  • 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
  • 7. Silent Hill : Shattered Memories • Myers-Briggs “Dichotomies” ‣ Extraversion / Introversion ‣ Sensing / Intuition ‣ Thinking / Feeling ‣ Judgement / Perception 7
  • 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
  • 9. Silent Hill : Shattered Memories 9
  • 10. Silent Hill : Shattered Memories 10
  • 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