SlideShare ist ein Scribd-Unternehmen logo
1 von 209
Skynet and You
Game AI for the Masses




Luke Dicken
@LukeD
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
Who the Hell is this Guy?
The Game AI World Tour
What is AI?
What is AI?
What is AI?
What is AI?
Why is AI important in games?
Where do we see AI?
Why is AI Scary?
Why is AI Scary?
Why is AI Scary?
Is that fun?
Is it the point?
Losing With Style
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
•The point isn’t to beat the player
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
•The point isn’t to beat the player
• It’s about creating a beatable challenge
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
•The point isn’t to beat the player
• It’s about creating a beatable challenge
• Managing frustration
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
•The point isn’t to beat the player
• It’s about creating a beatable challenge
• Managing frustration
•Making sure that the player can win
Losing With Style


•Blizzard’s Schwab called the role of AI in
games “Losing with style”
• “Being a good dad”
•The point isn’t to beat the player
• It’s about creating a beatable challenge
• Managing frustration
•Making sure that the player can win
• Provided they play reasonably
Batman
Arkham Asylum
Is that all it is?
The Best Game Ever Made
The Roles of the Dungeon
Master
The Roles of the Dungeon
Master

•The Dungeon Master is the guy who
decides how to interpret the rules
framework
The Roles of the Dungeon
Master

•The Dungeon Master is the guy who
 decides how to interpret the rules
 framework
•He is part storyteller, part game designer
 and part referee
The Roles of the Dungeon
Master

•The Dungeon Master is the guy who
 decides how to interpret the rules
 framework
•He is part storyteller, part game designer
 and part referee
•The fundamental responsibility of the
 Dungeon Master is to ensure that the
 players have a good gaming session
The Roles of the Dungeon
Master

•The Dungeon Master is the guy who
 decides how to interpret the rules
 framework
•He is part storyteller, part game designer
 and part referee
•The fundamental responsibility of the
 Dungeon Master is to ensure that the
 players have a good gaming session
• Not removing the challenge, but managing it
Interactive Storytelling
Interactive Storytelling


•The first job of the DM is to build a story for
 the campaign
Interactive Storytelling


•The first job of the DM is to build a story for
 the campaign
•Generally they need a setting and some
 concept of how they want the story to evolve
Interactive Storytelling


•The first job of the DM is to build a story for
 the campaign
•Generally they need a setting and some
 concept of how they want the story to evolve
•Importantly, the players are going to frame
 the plot, so the setting can’t be too rigid, and
 the DM needs to adapt
Designing Combat
Designing Combat

•As the players play through campaign, they
will come to situations that must be resolved
by combat
Designing Combat

•As the players play through campaign, they
 will come to situations that must be resolved
 by combat
•The DM is responsible for building up that
 encounter, how strong the creatures are,
 what the layout of the room is etc.
Designing Combat

•As the players play through campaign, they
 will come to situations that must be resolved
 by combat
•The DM is responsible for building up that
 encounter, how strong the creatures are,
 what the layout of the room is etc.
•Some encounters can be randomised, but
 others are part of plot devices or need
 specific components
Controlling Minions in
Combat
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
around the map and attacking the players
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
 around the map and attacking the players
•The DM controls these pieces
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
 around the map and attacking the players
•The DM controls these pieces
•Has to balance doing what’s “right” for the
 enemy units against not crushing the
 players
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
 around the map and attacking the players
•The DM controls these pieces
•Has to balance doing what’s “right” for the
 enemy units against not crushing the
 players
• Players do not want charity
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
 around the map and attacking the players
•The DM controls these pieces
•Has to balance doing what’s “right” for the
 enemy units against not crushing the
 players
• Players do not want charity
• They don’t want to never be challenged
Controlling Minions in
Combat

•In combat, the enemy pieces are moved
 around the map and attacking the players
•The DM controls these pieces
•Has to balance doing what’s “right” for the
 enemy units against not crushing the
 players
• Players do not want charity
• They don’t want to never be challenged
• Equally they don’t want to be overly frustrated
Improvisation:
“Yes, and...”
Improvisation:
“Yes, and...”
•A big part of being a good DM is giving your
players the freedom to do what they want
Improvisation:
“Yes, and...”
•A big part of being a good DM is giving your
 players the freedom to do what they want
•A lot of that comes back to classical
 “improvisation” in acting
Improvisation:
“Yes, and...”
•A big part of being a good DM is giving your
 players the freedom to do what they want
•A lot of that comes back to classical
 “improvisation” in acting
• No script, just a general description of a scene
 and then the actors must take it forwards
Improvisation:
“Yes, and...”
•A big part of being a good DM is giving your
 players the freedom to do what they want
•A lot of that comes back to classical
 “improvisation” in acting
• No script, just a general description of a scene
 and then the actors must take it forwards
•One of the key rules of good improvisation is
“yes and...” - you always agree with what
the last person said and then add your own
details
Understanding Players
Understanding Players


•Finally, DMs need a good understanding of
their players
Understanding Players


•Finally, DMs need a good understanding of
 their players
•Certain players will react in specific ways to
 situations
Understanding Players


•Finally, DMs need a good understanding of
 their players
•Certain players will react in specific ways to
 situations
•Knowing your players means you can tailor
 your content to their way of thinking
Understanding Players


•Finally, DMs need a good understanding of
 their players
•Certain players will react in specific ways to
 situations
•Knowing your players means you can tailor
 your content to their way of thinking
• Or find new ways to mess with them
Game AI as the DM
Game AI as the DM

•In video games, we don’t have a Player DM
available
Game AI as the DM

•In video games, we don’t have a Player DM
 available
•What we typically do is try to pre-bake most
 of the DM system such as narrative and
 encounter design
Game AI as the DM

•In video games, we don’t have a Player DM
 available
•What we typically do is try to pre-bake most
 of the DM system such as narrative and
 encounter design
•By far the majority of Game AI focuses on
 solely on controlling minions in encounters
Game AI as the DM

•In video games, we don’t have a Player DM
 available
•What we typically do is try to pre-bake most
 of the DM system such as narrative and
 encounter design
•By far the majority of Game AI focuses on
 solely on controlling minions in encounters
•But as we’ve just seen, so much more is
 required to truly manage the game
 experience
AI for Storytelling
AI for Storytelling

•Branching narrative - player chooses paths
through the story.Choose your own
adventure books, Mass Effect
AI for Storytelling

•Branching narrative - player chooses paths
 through the story.Choose your own
 adventure books, Mass Effect
•Planned narrative - sections of story are
 moved and retold to match a narrative
 pacing
AI for Storytelling

•Branching narrative - player chooses paths
 through the story.Choose your own
 adventure books, Mass Effect
•Planned narrative - sections of story are
 moved and retold to match a narrative
 pacing
•Adaptive narrative - the story is evolving as
 the player interacts with it
Encounter Design:
Procedural Content
Encounter Design:
Procedural Content

•You could build every encounter or level by
hand
Encounter Design:
Procedural Content

•You could build every encounter or level by
hand
• Time consuming
Encounter Design:
Procedural Content

•You could build every encounter or level by
hand
• Time consuming
• For some games, more content needed than can
 be created in the time
Encounter Design:
Procedural Content

•You could build every encounter or level by
hand
• Time consuming
• For some games, more content needed than can
  be created in the time
• Low replayability
Encounter Design:
Procedural Content

•You could build every encounter or level by
hand
• Time consuming
• For some games, more content needed than can
  be created in the time
• Low replayability
•Instead, you can make an AI system that will
generate the levels you want
Player-Tailored Content
Player-Tailored Content

•With the right analytics you can learn a lot
about your players
Player-Tailored Content

•With the right analytics you can learn a lot
 about your players
•Then you can use that to customise the
 spaces you are procedurally generating
Player-Tailored Content

•With the right analytics you can learn a lot
 about your players
•Then you can use that to customise the
 spaces you are procedurally generating
•Imagine a game involving mazes and
 optional powerups
Player-Tailored Content

•With the right analytics you can learn a lot
 about your players
•Then you can use that to customise the
 spaces you are procedurally generating
•Imagine a game involving mazes and
 optional powerups
• Recognise a player exploring more and generate
 larger spaces for them
Player-Tailored Content

•With the right analytics you can learn a lot
 about your players
•Then you can use that to customise the
 spaces you are procedurally generating
•Imagine a game involving mazes and
 optional powerups
• Recognise a player exploring more and generate
  larger spaces for them
• A player intent on dashing to the end of the maze
  could have more hazards put in his path
Putting this into Practice
Putting this into Practice
Putting this into Practice
Putting this into Practice
Easy Money? demo
Simple Maze Creation
Simple Maze Creation



•Creating mazes isn't overly hard
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
world where there is a “road to nowhere”
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
 world where there is a “road to nowhere”
•Very efficient approach
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
 world where there is a “road to nowhere”
•Very efficient approach
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
 world where there is a “road to nowhere”
•Very efficient approach
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
 world where there is a “road to nowhere”
•Very efficient approach
Simple Maze Creation



•Creating mazes isn't overly hard
•Just placing appropriate pieces into the
 world where there is a “road to nowhere”
•Very efficient approach
Algorithmic Maze Creation
Maze Verification
Maze Verification

•We use some simple checks to validate the
mazes produced are interesting
Maze Verification

•We use some simple checks to validate the
mazes produced are interesting
• Number of dead-ends placed in the maze
Maze Verification

•We use some simple checks to validate the
mazes produced are interesting
• Number of dead-ends placed in the maze
• Straight-line Distance from start to end
Maze Verification

•We use some simple checks to validate the
mazes produced are interesting
• Number of dead-ends placed in the maze
• Straight-line Distance from start to end
• Number of pieces that have been placed
Maze Verification

•We use some simple checks to validate the
mazes produced are interesting
• Number of dead-ends placed in the maze
• Straight-line Distance from start to end
• Number of pieces that have been placed
•If any of these checks fail, the maze is
rejected and a new one generated
Post-hoc Verification vs
Guided Generation
Post-hoc Verification vs
Guided Generation


•Verification is a very simple process
Post-hoc Verification vs
Guided Generation


•Verification is a very simple process
•Guiding generation is way more complex
Post-hoc Verification vs
Guided Generation


•Verification is a very simple process
•Guiding generation is way more complex
•Do we solve the simple problem multiple
times, or the complex problem once
Post-hoc Verification vs
Guided Generation


•Verification is a very simple process
•Guiding generation is way more complex
•Do we solve the simple problem multiple
times, or the complex problem once
• Your mileage may vary
Analytics
Analytics



•Working out what the player is doing in your
game is majorly important
Analytics



•Working out what the player is doing in your
game is majorly important
Analytics



•Working out what the player is doing in your
game is majorly important
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Analytics



•Working out what the player is doing in your
 game is majorly important
•You need to pay attention and dig into the
 data to discover what’s actually going on
Export and Replay of Content
Export and Replay of Content



•Analysis needs context
Export and Replay of Content



•Analysis needs context
•We need to have the ability to export
configurations of levels
Export and Replay of Content



•Analysis needs context
•We need to have the ability to export
 configurations of levels
•Also need to be able to bypass PCG system
 to load up a specific maze
Procedural Difficulty
Procedural Difficulty


•We have parameters that we're using:
Procedural Difficulty


•We have parameters that we're using:
• for generation, for verification, for ingame
 properties
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
•As the game progresses, we can control the
 tone of the spaces being created
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
•As the game progresses, we can control the
 tone of the spaces being created
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
•As the game progresses, we can control the
 tone of the spaces being created
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
•As the game progresses, we can control the
 tone of the spaces being created
Procedural Difficulty


•We have parameters that we're using:
 • for generation, for verification, for ingame
  properties
•So it isn't hard to see that if we start
 manipulating these parameters we can start
 varying the difficulty
•As the game progresses, we can control the
 tone of the spaces being created
Procedural Signposting
Procedural Signposting

•How can we guide the player?
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
• Cover position suggesting enemy locations
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
• Cover position suggesting enemy locations
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
• Cover position suggesting enemy locations
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
• Cover position suggesting enemy locations
•Can we generate these signs on the fly?
Procedural Signposting

•How can we guide the player?
•Signposting is how designers subtly
influence player perceptions
• Lights under "important" doors
• Cover position suggesting enemy locations
•Can we generate these signs on the fly?
•In EM, we're playing with how we can use
our collectibles and hazards to help the
player flow towards the goal (or misdirect)
Beyond Indie
Beyond Indie


•The principals here can be applied in a
variety of contexts
Beyond Indie


•The principals here can be applied in a
 variety of contexts
•You can put them into almost any type of
 game
Beyond Indie


•The principals here can be applied in a
 variety of contexts
•You can put them into almost any type of
 game
• And also any scale
Beyond Indie


•The principals here can be applied in a
 variety of contexts
•You can put them into almost any type of
 game
• And also any scale
•Here’s an example
Beyond Indie
Beyond Indie




         This is Diablo 3
What Else?
What Else?

•If we’re going to make all these shiny AI
algorithms, that’s brilliant.
What Else?

•If we’re going to make all these shiny AI
algorithms, that’s brilliant.
• Nobody cares.
What Else?

•If we’re going to make all these shiny AI
algorithms, that’s brilliant.
• Nobody cares.
•Exposing the tools to designers is key
What Else?

•If we’re going to make all these shiny AI
algorithms, that’s brilliant.
• Nobody cares.
•Exposing the tools to designers is key
•We need visual ways of changing NPC
behaviours, change parameters
What Else?

•If we’re going to make all these shiny AI
algorithms, that’s brilliant.
• Nobody cares.
•Exposing the tools to designers is key
•We need visual ways of changing NPC
 behaviours, change parameters
•A big part of being an AI developer is
 actually being a Tools programmer
What Else?
Summary
Summary

•AI is such a powerful tool, we’re only just
beginning to see the potential of what it can
do for games
Summary

•AI is such a powerful tool, we’re only just
 beginning to see the potential of what it can
 do for games
•AI can give us a lot more flexibility when we
 design games to make excellent
 replayability and to allow the players more
 freedom
Summary

•AI is such a powerful tool, we’re only just
 beginning to see the potential of what it can
 do for games
•AI can give us a lot more flexibility when we
 design games to make excellent
 replayability and to allow the players more
 freedom
•AI does not need to be scary!
Plugs!
Plugs!

• Check out “Easy Money?”:
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
• Focused on explaining realities of industry life
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
• Focused on explaining realities of industry life
• November 10th/11th - free, online
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
• Focused on explaining realities of industry life
• November 10th/11th - free, online
• IGDA Scholarships
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
• Focused on explaining realities of industry life
• November 10th/11th - free, online
• IGDA Scholarships
• Free pass to attend GDC, E3, Develop, Casual
  Connect, TGS, CEDEC
Plugs!

• Check out “Easy Money?”:
• http://easymoney.robooverlord.co.uk
• AltDev Student Summit
• Focused on explaining realities of industry life
• November 10th/11th - free, online
• IGDA Scholarships
• Free pass to attend GDC, E3, Develop, Casual
  Connect, TGS, CEDEC
• 2013 info soon http://igda.org/scholarships
Contact Info
          @LukeD
luke@robotoverlord.co.uk
  http://lukedicken.com/

Weitere ähnliche Inhalte

Was ist angesagt?

The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game PlannersLuke Dicken
 
Introduction to Level Design
Introduction to Level DesignIntroduction to Level Design
Introduction to Level DesignRico Lemba
 
Lecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLuke Dicken
 
Lecture 7 - Experience Management
Lecture 7 - Experience ManagementLecture 7 - Experience Management
Lecture 7 - Experience ManagementLuke Dicken
 
GAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionGAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionSeth Sivak
 
First step of researching game development
First step of researching game developmentFirst step of researching game development
First step of researching game developmentVincent Clyde
 
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...Jessica Tams
 
Modular Level Design for Skyrim
Modular Level Design for SkyrimModular Level Design for Skyrim
Modular Level Design for SkyrimJoel Burgess
 
Computer Games - Character Design - Fundamentals
Computer Games - Character Design - FundamentalsComputer Games - Character Design - Fundamentals
Computer Games - Character Design - FundamentalsAndrew Ryan
 
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
 
Game Aesthetics & Branding by James Pearmain (Jimp)
Game Aesthetics & Branding by James Pearmain (Jimp)Game Aesthetics & Branding by James Pearmain (Jimp)
Game Aesthetics & Branding by James Pearmain (Jimp)mochimedia
 
Computer Games - Character Design - Stereotypes
Computer Games - Character Design - StereotypesComputer Games - Character Design - Stereotypes
Computer Games - Character Design - StereotypesAndrew Ryan
 
Step pets pitch2 v1
Step pets pitch2 v1Step pets pitch2 v1
Step pets pitch2 v1Tim Cooley
 

Was ist angesagt? (20)

The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game Planners
 
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
 
Lecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content Generation
 
Lecture 7 - Experience Management
Lecture 7 - Experience ManagementLecture 7 - Experience Management
Lecture 7 - Experience Management
 
GAME 3400 Level Design - Introduction
GAME 3400 Level Design - IntroductionGAME 3400 Level Design - Introduction
GAME 3400 Level Design - Introduction
 
First step of researching game development
First step of researching game developmentFirst step of researching game development
First step of researching game development
 
Creative Presentation
Creative PresentationCreative Presentation
Creative Presentation
 
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...
Asian vs. Western Games: Successful Gameplay and Design Elements That Makes N...
 
Video game plan
Video game planVideo game plan
Video game plan
 
Modular Level Design for Skyrim
Modular Level Design for SkyrimModular Level Design for Skyrim
Modular Level Design for Skyrim
 
Computer Games - Character Design - Fundamentals
Computer Games - Character Design - FundamentalsComputer Games - Character Design - Fundamentals
Computer Games - Character Design - Fundamentals
 
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 Aesthetics & Branding by James Pearmain (Jimp)
Game Aesthetics & Branding by James Pearmain (Jimp)Game Aesthetics & Branding by James Pearmain (Jimp)
Game Aesthetics & Branding by James Pearmain (Jimp)
 
Level Design
Level DesignLevel Design
Level Design
 
Computer Games - Character Design - Stereotypes
Computer Games - Character Design - StereotypesComputer Games - Character Design - Stereotypes
Computer Games - Character Design - Stereotypes
 
3. research
3. research3. research
3. research
 
Step pets pitch2 v1
Step pets pitch2 v1Step pets pitch2 v1
Step pets pitch2 v1
 
Game Concept
Game ConceptGame Concept
Game Concept
 
Game Design Process
Game Design ProcessGame Design Process
Game Design Process
 

Ähnlich wie Game AI For the Masses

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
 
Video Games Development
Video Games DevelopmentVideo Games Development
Video Games DevelopmentSabahtHussein
 
Game Design for Middle School Students
Game Design for Middle School StudentsGame Design for Middle School Students
Game Design for Middle School StudentsEthan Levy
 
Natural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningNatural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningGreg Costikyan
 
98 374 Lesson 01-slides
98 374 Lesson 01-slides98 374 Lesson 01-slides
98 374 Lesson 01-slidesTracie King
 
Making a Game: Start with Constraints
Making a Game: Start with ConstraintsMaking a Game: Start with Constraints
Making a Game: Start with Constraintshacknjill
 
BSA Game Design Merit Badge
BSA Game Design Merit BadgeBSA Game Design Merit Badge
BSA Game Design Merit BadgeDavid Mullich
 
Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)lieveachten
 
Writing for Games - Jackie Turnure
Writing for Games - Jackie TurnureWriting for Games - Jackie Turnure
Writing for Games - Jackie TurnureGary Hayes
 
Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Marie Broyles
 
2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)Hafiz Ammar Siddiqui
 
Looking for the grammar of game design part 2
Looking for the grammar of game design  part 2 Looking for the grammar of game design  part 2
Looking for the grammar of game design part 2 Alvaro Gonzalez
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.pptHonggangMan
 
#G4C12: Game Design Workshop
#G4C12: Game Design Workshop#G4C12: Game Design Workshop
#G4C12: Game Design WorkshopGames for Change
 
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...David Piao Chiu
 
Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012Joel Burgess
 

Ähnlich wie Game AI For the Masses (20)

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
 
Video Games Development
Video Games DevelopmentVideo Games Development
Video Games Development
 
TJD_2023_Lab_06.pptx
TJD_2023_Lab_06.pptxTJD_2023_Lab_06.pptx
TJD_2023_Lab_06.pptx
 
Nature of Games.pptx
Nature of Games.pptxNature of Games.pptx
Nature of Games.pptx
 
Game Design for Middle School Students
Game Design for Middle School StudentsGame Design for Middle School Students
Game Design for Middle School Students
 
Natural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without CloningNatural Game Design: How to Birth Games Without Cloning
Natural Game Design: How to Birth Games Without Cloning
 
98 374 Lesson 01-slides
98 374 Lesson 01-slides98 374 Lesson 01-slides
98 374 Lesson 01-slides
 
Making a Game: Start with Constraints
Making a Game: Start with ConstraintsMaking a Game: Start with Constraints
Making a Game: Start with Constraints
 
BSA Game Design Merit Badge
BSA Game Design Merit BadgeBSA Game Design Merit Badge
BSA Game Design Merit Badge
 
Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)Game mechanics-puzzles (NielsQuinten)
Game mechanics-puzzles (NielsQuinten)
 
Writing for Games - Jackie Turnure
Writing for Games - Jackie TurnureWriting for Games - Jackie Turnure
Writing for Games - Jackie Turnure
 
Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333Iistec 2013 game_design for id_m_broyles_id13333
Iistec 2013 game_design for id_m_broyles_id13333
 
2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)2-Game Design (Game Design and Development)
2-Game Design (Game Design and Development)
 
Lesson1
Lesson1Lesson1
Lesson1
 
Looking for the grammar of game design part 2
Looking for the grammar of game design  part 2 Looking for the grammar of game design  part 2
Looking for the grammar of game design part 2
 
BiowareDesignDoc.ppt
BiowareDesignDoc.pptBiowareDesignDoc.ppt
BiowareDesignDoc.ppt
 
#G4C12: Game Design Workshop
#G4C12: Game Design Workshop#G4C12: Game Design Workshop
#G4C12: Game Design Workshop
 
Video game plan
Video game planVideo game plan
Video game plan
 
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...
How to Succeed in the West: Stats, Best Practices and Common Mistakes for F2P...
 
Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012
 

Mehr von 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
 
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
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011Luke 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
 
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
 
Robust Agent Execution
Robust Agent ExecutionRobust Agent Execution
Robust Agent ExecutionLuke Dicken
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game PlayingLuke Dicken
 

Mehr von Luke Dicken (16)

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
 
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
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011
 
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
 
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
 
Robust Agent Execution
Robust Agent ExecutionRobust Agent Execution
Robust Agent Execution
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game Playing
 

Game AI For the Masses

  • 1. Skynet and You Game AI for the Masses Luke Dicken @LukeD
  • 2. Who the Hell is this Guy?
  • 3. Who the Hell is this Guy?
  • 4. Who the Hell is this Guy?
  • 5. Who the Hell is this Guy?
  • 6. Who the Hell is this Guy?
  • 7. Who the Hell is this Guy?
  • 8. Who the Hell is this Guy?
  • 9. Who the Hell is this Guy?
  • 10. Who the Hell is this Guy?
  • 11. Who the Hell is this Guy?
  • 12. The Game AI World Tour
  • 17. Why is AI important in games?
  • 18.
  • 19. Where do we see AI?
  • 20.
  • 21.
  • 22. Why is AI Scary?
  • 23. Why is AI Scary?
  • 24. Why is AI Scary?
  • 25. Is that fun? Is it the point?
  • 27. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style”
  • 28. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad”
  • 29. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad” •The point isn’t to beat the player
  • 30. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad” •The point isn’t to beat the player • It’s about creating a beatable challenge
  • 31. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad” •The point isn’t to beat the player • It’s about creating a beatable challenge • Managing frustration
  • 32. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad” •The point isn’t to beat the player • It’s about creating a beatable challenge • Managing frustration •Making sure that the player can win
  • 33. Losing With Style •Blizzard’s Schwab called the role of AI in games “Losing with style” • “Being a good dad” •The point isn’t to beat the player • It’s about creating a beatable challenge • Managing frustration •Making sure that the player can win • Provided they play reasonably
  • 35. Is that all it is?
  • 36. The Best Game Ever Made
  • 37. The Roles of the Dungeon Master
  • 38. The Roles of the Dungeon Master •The Dungeon Master is the guy who decides how to interpret the rules framework
  • 39. The Roles of the Dungeon Master •The Dungeon Master is the guy who decides how to interpret the rules framework •He is part storyteller, part game designer and part referee
  • 40. The Roles of the Dungeon Master •The Dungeon Master is the guy who decides how to interpret the rules framework •He is part storyteller, part game designer and part referee •The fundamental responsibility of the Dungeon Master is to ensure that the players have a good gaming session
  • 41. The Roles of the Dungeon Master •The Dungeon Master is the guy who decides how to interpret the rules framework •He is part storyteller, part game designer and part referee •The fundamental responsibility of the Dungeon Master is to ensure that the players have a good gaming session • Not removing the challenge, but managing it
  • 43. Interactive Storytelling •The first job of the DM is to build a story for the campaign
  • 44. Interactive Storytelling •The first job of the DM is to build a story for the campaign •Generally they need a setting and some concept of how they want the story to evolve
  • 45. Interactive Storytelling •The first job of the DM is to build a story for the campaign •Generally they need a setting and some concept of how they want the story to evolve •Importantly, the players are going to frame the plot, so the setting can’t be too rigid, and the DM needs to adapt
  • 47. Designing Combat •As the players play through campaign, they will come to situations that must be resolved by combat
  • 48. Designing Combat •As the players play through campaign, they will come to situations that must be resolved by combat •The DM is responsible for building up that encounter, how strong the creatures are, what the layout of the room is etc.
  • 49. Designing Combat •As the players play through campaign, they will come to situations that must be resolved by combat •The DM is responsible for building up that encounter, how strong the creatures are, what the layout of the room is etc. •Some encounters can be randomised, but others are part of plot devices or need specific components
  • 51. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players
  • 52. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players •The DM controls these pieces
  • 53. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players •The DM controls these pieces •Has to balance doing what’s “right” for the enemy units against not crushing the players
  • 54. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players •The DM controls these pieces •Has to balance doing what’s “right” for the enemy units against not crushing the players • Players do not want charity
  • 55. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players •The DM controls these pieces •Has to balance doing what’s “right” for the enemy units against not crushing the players • Players do not want charity • They don’t want to never be challenged
  • 56. Controlling Minions in Combat •In combat, the enemy pieces are moved around the map and attacking the players •The DM controls these pieces •Has to balance doing what’s “right” for the enemy units against not crushing the players • Players do not want charity • They don’t want to never be challenged • Equally they don’t want to be overly frustrated
  • 58. Improvisation: “Yes, and...” •A big part of being a good DM is giving your players the freedom to do what they want
  • 59. Improvisation: “Yes, and...” •A big part of being a good DM is giving your players the freedom to do what they want •A lot of that comes back to classical “improvisation” in acting
  • 60. Improvisation: “Yes, and...” •A big part of being a good DM is giving your players the freedom to do what they want •A lot of that comes back to classical “improvisation” in acting • No script, just a general description of a scene and then the actors must take it forwards
  • 61. Improvisation: “Yes, and...” •A big part of being a good DM is giving your players the freedom to do what they want •A lot of that comes back to classical “improvisation” in acting • No script, just a general description of a scene and then the actors must take it forwards •One of the key rules of good improvisation is “yes and...” - you always agree with what the last person said and then add your own details
  • 63. Understanding Players •Finally, DMs need a good understanding of their players
  • 64. Understanding Players •Finally, DMs need a good understanding of their players •Certain players will react in specific ways to situations
  • 65. Understanding Players •Finally, DMs need a good understanding of their players •Certain players will react in specific ways to situations •Knowing your players means you can tailor your content to their way of thinking
  • 66. Understanding Players •Finally, DMs need a good understanding of their players •Certain players will react in specific ways to situations •Knowing your players means you can tailor your content to their way of thinking • Or find new ways to mess with them
  • 67. Game AI as the DM
  • 68. Game AI as the DM •In video games, we don’t have a Player DM available
  • 69. Game AI as the DM •In video games, we don’t have a Player DM available •What we typically do is try to pre-bake most of the DM system such as narrative and encounter design
  • 70. Game AI as the DM •In video games, we don’t have a Player DM available •What we typically do is try to pre-bake most of the DM system such as narrative and encounter design •By far the majority of Game AI focuses on solely on controlling minions in encounters
  • 71. Game AI as the DM •In video games, we don’t have a Player DM available •What we typically do is try to pre-bake most of the DM system such as narrative and encounter design •By far the majority of Game AI focuses on solely on controlling minions in encounters •But as we’ve just seen, so much more is required to truly manage the game experience
  • 73. AI for Storytelling •Branching narrative - player chooses paths through the story.Choose your own adventure books, Mass Effect
  • 74. AI for Storytelling •Branching narrative - player chooses paths through the story.Choose your own adventure books, Mass Effect •Planned narrative - sections of story are moved and retold to match a narrative pacing
  • 75. AI for Storytelling •Branching narrative - player chooses paths through the story.Choose your own adventure books, Mass Effect •Planned narrative - sections of story are moved and retold to match a narrative pacing •Adaptive narrative - the story is evolving as the player interacts with it
  • 77. Encounter Design: Procedural Content •You could build every encounter or level by hand
  • 78. Encounter Design: Procedural Content •You could build every encounter or level by hand • Time consuming
  • 79. Encounter Design: Procedural Content •You could build every encounter or level by hand • Time consuming • For some games, more content needed than can be created in the time
  • 80. Encounter Design: Procedural Content •You could build every encounter or level by hand • Time consuming • For some games, more content needed than can be created in the time • Low replayability
  • 81. Encounter Design: Procedural Content •You could build every encounter or level by hand • Time consuming • For some games, more content needed than can be created in the time • Low replayability •Instead, you can make an AI system that will generate the levels you want
  • 83. Player-Tailored Content •With the right analytics you can learn a lot about your players
  • 84. Player-Tailored Content •With the right analytics you can learn a lot about your players •Then you can use that to customise the spaces you are procedurally generating
  • 85. Player-Tailored Content •With the right analytics you can learn a lot about your players •Then you can use that to customise the spaces you are procedurally generating •Imagine a game involving mazes and optional powerups
  • 86. Player-Tailored Content •With the right analytics you can learn a lot about your players •Then you can use that to customise the spaces you are procedurally generating •Imagine a game involving mazes and optional powerups • Recognise a player exploring more and generate larger spaces for them
  • 87. Player-Tailored Content •With the right analytics you can learn a lot about your players •Then you can use that to customise the spaces you are procedurally generating •Imagine a game involving mazes and optional powerups • Recognise a player exploring more and generate larger spaces for them • A player intent on dashing to the end of the maze could have more hazards put in his path
  • 88. Putting this into Practice
  • 89. Putting this into Practice
  • 90. Putting this into Practice
  • 91. Putting this into Practice
  • 94. Simple Maze Creation •Creating mazes isn't overly hard
  • 95. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere”
  • 96. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere” •Very efficient approach
  • 97. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere” •Very efficient approach
  • 98. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere” •Very efficient approach
  • 99. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere” •Very efficient approach
  • 100. Simple Maze Creation •Creating mazes isn't overly hard •Just placing appropriate pieces into the world where there is a “road to nowhere” •Very efficient approach
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 139. Maze Verification •We use some simple checks to validate the mazes produced are interesting
  • 140. Maze Verification •We use some simple checks to validate the mazes produced are interesting • Number of dead-ends placed in the maze
  • 141. Maze Verification •We use some simple checks to validate the mazes produced are interesting • Number of dead-ends placed in the maze • Straight-line Distance from start to end
  • 142. Maze Verification •We use some simple checks to validate the mazes produced are interesting • Number of dead-ends placed in the maze • Straight-line Distance from start to end • Number of pieces that have been placed
  • 143. Maze Verification •We use some simple checks to validate the mazes produced are interesting • Number of dead-ends placed in the maze • Straight-line Distance from start to end • Number of pieces that have been placed •If any of these checks fail, the maze is rejected and a new one generated
  • 145. Post-hoc Verification vs Guided Generation •Verification is a very simple process
  • 146. Post-hoc Verification vs Guided Generation •Verification is a very simple process •Guiding generation is way more complex
  • 147. Post-hoc Verification vs Guided Generation •Verification is a very simple process •Guiding generation is way more complex •Do we solve the simple problem multiple times, or the complex problem once
  • 148. Post-hoc Verification vs Guided Generation •Verification is a very simple process •Guiding generation is way more complex •Do we solve the simple problem multiple times, or the complex problem once • Your mileage may vary
  • 150. Analytics •Working out what the player is doing in your game is majorly important
  • 151. Analytics •Working out what the player is doing in your game is majorly important
  • 152. Analytics •Working out what the player is doing in your game is majorly important
  • 153. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 154. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 155. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 156. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 157. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 158. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 159. Analytics •Working out what the player is doing in your game is majorly important •You need to pay attention and dig into the data to discover what’s actually going on
  • 160. Export and Replay of Content
  • 161. Export and Replay of Content •Analysis needs context
  • 162. Export and Replay of Content •Analysis needs context •We need to have the ability to export configurations of levels
  • 163. Export and Replay of Content •Analysis needs context •We need to have the ability to export configurations of levels •Also need to be able to bypass PCG system to load up a specific maze
  • 165. Procedural Difficulty •We have parameters that we're using:
  • 166. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties
  • 167. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty
  • 168. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty •As the game progresses, we can control the tone of the spaces being created
  • 169. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty •As the game progresses, we can control the tone of the spaces being created
  • 170. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty •As the game progresses, we can control the tone of the spaces being created
  • 171. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty •As the game progresses, we can control the tone of the spaces being created
  • 172. Procedural Difficulty •We have parameters that we're using: • for generation, for verification, for ingame properties •So it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty •As the game progresses, we can control the tone of the spaces being created
  • 174. Procedural Signposting •How can we guide the player?
  • 175. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions
  • 176. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors
  • 177. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations
  • 178. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations
  • 179. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations
  • 180. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations •Can we generate these signs on the fly?
  • 181. Procedural Signposting •How can we guide the player? •Signposting is how designers subtly influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations •Can we generate these signs on the fly? •In EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)
  • 183. Beyond Indie •The principals here can be applied in a variety of contexts
  • 184. Beyond Indie •The principals here can be applied in a variety of contexts •You can put them into almost any type of game
  • 185. Beyond Indie •The principals here can be applied in a variety of contexts •You can put them into almost any type of game • And also any scale
  • 186. Beyond Indie •The principals here can be applied in a variety of contexts •You can put them into almost any type of game • And also any scale •Here’s an example
  • 188. Beyond Indie This is Diablo 3
  • 190. What Else? •If we’re going to make all these shiny AI algorithms, that’s brilliant.
  • 191. What Else? •If we’re going to make all these shiny AI algorithms, that’s brilliant. • Nobody cares.
  • 192. What Else? •If we’re going to make all these shiny AI algorithms, that’s brilliant. • Nobody cares. •Exposing the tools to designers is key
  • 193. What Else? •If we’re going to make all these shiny AI algorithms, that’s brilliant. • Nobody cares. •Exposing the tools to designers is key •We need visual ways of changing NPC behaviours, change parameters
  • 194. What Else? •If we’re going to make all these shiny AI algorithms, that’s brilliant. • Nobody cares. •Exposing the tools to designers is key •We need visual ways of changing NPC behaviours, change parameters •A big part of being an AI developer is actually being a Tools programmer
  • 197. Summary •AI is such a powerful tool, we’re only just beginning to see the potential of what it can do for games
  • 198. Summary •AI is such a powerful tool, we’re only just beginning to see the potential of what it can do for games •AI can give us a lot more flexibility when we design games to make excellent replayability and to allow the players more freedom
  • 199. Summary •AI is such a powerful tool, we’re only just beginning to see the potential of what it can do for games •AI can give us a lot more flexibility when we design games to make excellent replayability and to allow the players more freedom •AI does not need to be scary!
  • 200. Plugs!
  • 201. Plugs! • Check out “Easy Money?”:
  • 202. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk
  • 203. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit
  • 204. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit • Focused on explaining realities of industry life
  • 205. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit • Focused on explaining realities of industry life • November 10th/11th - free, online
  • 206. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit • Focused on explaining realities of industry life • November 10th/11th - free, online • IGDA Scholarships
  • 207. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit • Focused on explaining realities of industry life • November 10th/11th - free, online • IGDA Scholarships • Free pass to attend GDC, E3, Develop, Casual Connect, TGS, CEDEC
  • 208. Plugs! • Check out “Easy Money?”: • http://easymoney.robooverlord.co.uk • AltDev Student Summit • Focused on explaining realities of industry life • November 10th/11th - free, online • IGDA Scholarships • Free pass to attend GDC, E3, Develop, Casual Connect, TGS, CEDEC • 2013 info soon http://igda.org/scholarships
  • 209. Contact Info @LukeD luke@robotoverlord.co.uk http://lukedicken.com/

Hinweis der Redaktion

  1. \n
  2. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  3. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  4. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  5. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  6. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  7. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  8. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  9. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  10. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  11. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  12. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  13. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  14. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  15. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  16. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  17. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  18. BSc(Hons), MSc, MRes in AI.\nFounder of Robot Overlord Games\nThree-time IGDA Scholar\nChair of the IGDA’s Special Interest Group on AI\nDirector for IGDA Scotland\nWriter for AltDevBlogADay.com, IGDA Perspectives, Gamasutra and others\nAssistant editor “Collected Wisdom of Game AI Professionals”\nCo-organiser for AltDev Conference family\n(Occasional) PhD student in AI for Games\n
  19. 6 countries\ncoming up for 20 talks - MIT, Casual Connect, Konsoll\nFocus on AI\nWhat it really is - what it can do for games\n
  20. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  21. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  22. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  23. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  24. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  25. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  26. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  27. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  28. I’ve been interested in game AI since I was 13 when I first played creatures. \n
  29. A lot of time when people hear AI they think of\n(1st image)\nAI is the applied science of decisions - applied Game Theory\nAny time a computer has to make a decision, it is using “AI” to do that.\n(2nd image)\nIt doesn’t necessarily make the best decisions\n(3rd image)\nBut neither do people\n\nIf it is using good AI, it will make good decisions\nBut whether the decisions are good is not whether it is AI or not\n
  30. A lot of time when people hear AI they think of\n(1st image)\nAI is the applied science of decisions - applied Game Theory\nAny time a computer has to make a decision, it is using “AI” to do that.\n(2nd image)\nIt doesn’t necessarily make the best decisions\n(3rd image)\nBut neither do people\n\nIf it is using good AI, it will make good decisions\nBut whether the decisions are good is not whether it is AI or not\n
  31. A lot of time when people hear AI they think of\n(1st image)\nAI is the applied science of decisions - applied Game Theory\nAny time a computer has to make a decision, it is using “AI” to do that.\n(2nd image)\nIt doesn’t necessarily make the best decisions\n(3rd image)\nBut neither do people\n\nIf it is using good AI, it will make good decisions\nBut whether the decisions are good is not whether it is AI or not\n
  32. In games, physics is as realistic as it’s going to get\nGraphics are increasingly diminishing returns\nMore and more effort, for less and less improvement\n\n
  33. Battlefield 3 from EA / DICE\nE.g. Frostbite 2 - massive effort, but how much better is it really?\nAI is an area there is still space for much improvement!\n
  34. AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy “general” works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
  35. AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy “general” works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
  36. AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy “general” works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
  37. AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy “general” works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
  38. First and foremost, AI has the single worst spokesman of all time\n(1st image)\nDecades of robo-sploitation have reinforced that AI is evil\n\nFor AI, there are very few middleware solutions, and no generally applicable ones.\nYou need to have some sort of grounding in “knowledge representation” and algorithms, and things learnt in a CS degree are only tangentially useful\n(2nd image)\n\nWhen we talk about AI in science, we want to make the best decision possible\nShortest path from A to B\nCheapest manufacturing processes\nMost efficient schedule to do jobs\n\nIf we apply this logic to games, we always want to beat the player\nTry to think better, react faster than the player\nFor most video games, if we want to destroy the player simply be better than they are: move faster, have more health, bigger guns etc.\n
  39. First and foremost, AI has the single worst spokesman of all time\n(1st image)\nDecades of robo-sploitation have reinforced that AI is evil\n\nFor AI, there are very few middleware solutions, and no generally applicable ones.\nYou need to have some sort of grounding in “knowledge representation” and algorithms, and things learnt in a CS degree are only tangentially useful\n(2nd image)\n\nWhen we talk about AI in science, we want to make the best decision possible\nShortest path from A to B\nCheapest manufacturing processes\nMost efficient schedule to do jobs\n\nIf we apply this logic to games, we always want to beat the player\nTry to think better, react faster than the player\nFor most video games, if we want to destroy the player simply be better than they are: move faster, have more health, bigger guns etc.\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. A classic example of this “losing with style”\nWe could coordinate the thugs, using small unit tactics, communication, reasoning etc.\nMake use of existing “scientific” AI techniques to make very intelligent thugs\nThe point of the game isn’t to make AI that can beat Batman\nThe point is to let the player *BE* Batman\n\nHow smarts are thugs in real life?\nWe need to match that level of sophistication\nModel the “real world”, rather than create super-thugs.\nSame with soldiers\nMost soldiers aren’t tactical geniuses like Sun Tzu\nThey also aren’t super soldiers like Rambo\n
  49. \n
  50. D&D defines a framework for how a world works\nAnything is possible, as defined by the framework\nPlayers may want to try to climb a wall, framework abstracts that as “acrobatics”\nPlayer wants to see if there’s a hidden door, this is a “dungeoneering” check\n\n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  93. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  94. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  95. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  96. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  97. Casual title based around risk/reward management\n"Millionaire" style lose-everything death penalty\nFacebook-based leaderboards\nIncreasing difficulty each level forces players to decide when to quit and log their score\nHand off to Heather after this one for a demo of the game\n
  98. Go play video\n
  99. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  100. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  101. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  102. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  103. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  104. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  105. Creating mazes isn't overly hard\nBiggest challenge is tracking representation internally\nThis is not a code tutorial so skipping all of that!\nAll we really need to grow a maze is place appropriate pieces into the game world\nAnywhere that is a "road to nowhere" can have more maze tagged on.\nVery efficient approach\nGenerates some nice spaces, images are using 2D prototypes that Heather mentioned\n(1st image)\nIntended to create mazes of around 20 pieces, but scales well\nAround 30,000 it starts to chug and take a few seconds\n(2nd image)\n
  106. \n
  107. \n
  108. \n
  109. \n
  110. Randomly chose a terminator piece for the maze\n
  111. \n
  112. This is one shows that we are aware there is a piece to the North that doesn't have a corresponding Southerly connection, so the piece selected at random cannot have a North connection\n
  113. Likewise here, it cannot have a north pipe\n
  114. \n
  115. \n
  116. \n
  117. \n
  118. This one /must/ have a north connection to keep the maze complete\n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. End Capping\n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. One end-cap is replaced with the end room asset\n
  143. The algorithm implicitly produces "fully connected" mazes.\nWe use some simple checks to validate the mazes produced are interesting\nNumber of dead-ends placed in the maze\nDistance from start to end\nNumber of pieces that have been placed\nIf any of these checks fail, the maze is rejected and a new one generated\n
  144. The algorithm implicitly produces "fully connected" mazes.\nWe use some simple checks to validate the mazes produced are interesting\nNumber of dead-ends placed in the maze\nDistance from start to end\nNumber of pieces that have been placed\nIf any of these checks fail, the maze is rejected and a new one generated\n
  145. The algorithm implicitly produces "fully connected" mazes.\nWe use some simple checks to validate the mazes produced are interesting\nNumber of dead-ends placed in the maze\nDistance from start to end\nNumber of pieces that have been placed\nIf any of these checks fail, the maze is rejected and a new one generated\n
  146. The algorithm implicitly produces "fully connected" mazes.\nWe use some simple checks to validate the mazes produced are interesting\nNumber of dead-ends placed in the maze\nDistance from start to end\nNumber of pieces that have been placed\nIf any of these checks fail, the maze is rejected and a new one generated\n
  147. The algorithm implicitly produces "fully connected" mazes.\nWe use some simple checks to validate the mazes produced are interesting\nNumber of dead-ends placed in the maze\nDistance from start to end\nNumber of pieces that have been placed\nIf any of these checks fail, the maze is rejected and a new one generated\n
  148. Frequent question\nEssentially boils down to P vs NP\nVerification is a very simple process\nGuiding generation is way more complex\nDo we solve the simple problem multiple times, or the complex problem once\nYour mileage may vary\nDepends a lot on the frequency you will reject generated spaces with\nFor EM this is about 1 in 50, and we can generate a maze without guidance on the order of 2ms\nQuick maths and at 60fps - 2.56x10^-14 chance of slowing down even a frame\n
  149. Frequent question\nEssentially boils down to P vs NP\nVerification is a very simple process\nGuiding generation is way more complex\nDo we solve the simple problem multiple times, or the complex problem once\nYour mileage may vary\nDepends a lot on the frequency you will reject generated spaces with\nFor EM this is about 1 in 50, and we can generate a maze without guidance on the order of 2ms\nQuick maths and at 60fps - 2.56x10^-14 chance of slowing down even a frame\n
  150. Frequent question\nEssentially boils down to P vs NP\nVerification is a very simple process\nGuiding generation is way more complex\nDo we solve the simple problem multiple times, or the complex problem once\nYour mileage may vary\nDepends a lot on the frequency you will reject generated spaces with\nFor EM this is about 1 in 50, and we can generate a maze without guidance on the order of 2ms\nQuick maths and at 60fps - 2.56x10^-14 chance of slowing down even a frame\n
  151. Frequent question\nEssentially boils down to P vs NP\nVerification is a very simple process\nGuiding generation is way more complex\nDo we solve the simple problem multiple times, or the complex problem once\nYour mileage may vary\nDepends a lot on the frequency you will reject generated spaces with\nFor EM this is about 1 in 50, and we can generate a maze without guidance on the order of 2ms\nQuick maths and at 60fps - 2.56x10^-14 chance of slowing down even a frame\n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. Analysis needs context\nIn particular for tracking Fringe Cases - Heather mentioned\nHow can we inspect events in a player's game when that content is being generated on the fly?\nNeed to have the ability to export configurations of levels along with analytics data\nSo also need to be able to bypass PCG system and load up a specific maze for replay\n
  163. Analysis needs context\nIn particular for tracking Fringe Cases - Heather mentioned\nHow can we inspect events in a player's game when that content is being generated on the fly?\nNeed to have the ability to export configurations of levels along with analytics data\nSo also need to be able to bypass PCG system and load up a specific maze for replay\n
  164. Analysis needs context\nIn particular for tracking Fringe Cases - Heather mentioned\nHow can we inspect events in a player's game when that content is being generated on the fly?\nNeed to have the ability to export configurations of levels along with analytics data\nSo also need to be able to bypass PCG system and load up a specific maze for replay\n
  165. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  166. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  167. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  168. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  169. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  170. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  171. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  172. We have parameters that we're using\nfor generation\nfor verification\nfor ingame properties\nSo it isn't hard to see that if we start manipulating these parameters we can start varying the difficulty\nLarger mazes, more mines, faster moving mines, increase the branching of the maze\nAs the game progresses, we can control the tone of the spaces being created\nSee Tiny Wings for a good example of this in action\n
  173. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  174. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  175. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  176. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  177. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  178. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  179. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  180. We've talked about making the level\nWe've talked about catering the level to the player\nHow can we guide the player?\nSignposting is how designers subtly influence player perceptions\nLights under "important" doors\nCan we generate these signs on the fly?\nIn EM, we're playing with how we can use our collectibles and hazards to help the player flow towards the goal (or misdirect)\n
  181. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  182. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  183. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  184. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  185. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  186. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  187. <picture>\nThe basic principles of what I’ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
  188. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  189. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  190. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  191. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  192. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  193. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  194. If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n