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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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!
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/
Notes de l'éditeur
\n
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 countries\ncoming up for 20 talks - MIT, Casual Connect, Konsoll\nFocus on AI\nWhat it really is - what it can do for games\n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
I’ve been interested in game AI since I was 13 when I first played creatures. \n
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
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
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
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
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
AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy &#x201C;general&#x201D; works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy &#x201C;general&#x201D; works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy &#x201C;general&#x201D; works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
AI is normally seen in the enemies we face\n<click>\nNPC soldiers / aliens are the most common\nIn RTS games, the enemy &#x201C;general&#x201D; works using AI\n<click>\nEach unit might also be intelligent\nPathfinding\nReaction to attack\n\n\n
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 &#x201C;knowledge representation&#x201D; 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
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 &#x201C;knowledge representation&#x201D; 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
\n
\n
\n
\n
\n
\n
\n
\n
A classic example of this &#x201C;losing with style&#x201D;\nWe could coordinate the thugs, using small unit tactics, communication, reasoning etc.\nMake use of existing &#x201C;scientific&#x201D; AI techniques to make very intelligent thugs\nThe point of the game isn&#x2019;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 &#x201C;real world&#x201D;, rather than create super-thugs.\nSame with soldiers\nMost soldiers aren&#x2019;t tactical geniuses like Sun Tzu\nThey also aren&#x2019;t super soldiers like Rambo\n
\n
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 &#x201C;acrobatics&#x201D;\nPlayer wants to see if there&#x2019;s a hidden door, this is a &#x201C;dungeoneering&#x201D; check\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
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
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
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
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
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
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
Go play video\n
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
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
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
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
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
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
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
\n
\n
\n
\n
Randomly chose a terminator piece for the maze\n
\n
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
Likewise here, it cannot have a north pipe\n
\n
\n
\n
\n
This one /must/ have a north connection to keep the maze complete\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
End Capping\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
One end-cap is replaced with the end room asset\n
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
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
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
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
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
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
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
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
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
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
<picture>\nThe basic principles of what I&#x2019;ve described in this level generation algorithm hold true here - grid world, connecting prefab pieces together etc etc\nTHIS IS DIABLO!\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n
If your designer needs to get you to rewrite AI code to tweak the algorithm...\nYOU ARE DOING IT WRONG\n