My rough notes from Paul Tozour’s AIIDE 2009 presentation, Game Design: An AI Perspective
Game design from the perspective of AI – the opposite of Will Wright’s AIIDE lecture.
How can AI contribute to the advancement of game design? Using game AI as formal modeling and analysis tools. Not as modeling NPCs.
You stop playing a good game when you stop using enough of your mind to be engaging.
Grinder = repetitive = lack of intellectual diversity.
Zen koan = “Shock the listener out of their established thought patterns.” Makes them think about things in new ways.
“We are building structures inside the player’s mind.”
40 years of game design and we still have no universally accepted standards for game design. No template. No vernacular.
Use AI for profiling and testing game mechanics.
Computational Equivalence – what are the ways to show some sort of similarity between how the human mind functions and how game AI functions.
When we play a game at a high skill level, we use discrete mental structures for each type of task. In our brains, we combine planners, HFSMs, BTs, etc.
Example: Constructing a BT out of player’s play patterns.
- Take a high level game player.
- Record the game play
- Analyze the game play to identify patterns
- Find appropriate structure that models the patterns
What does doing this get you? What can we identify?
- Task has too many children. Giving the player too many options? Lots of overlap between similar things.
- Task has too few children. Haven’t given the player the tools to do a certain thing. Also, might get boring if you only have one option to deal with a particular situation
- Orphaned actions. Why isn’t the player using it? Perhaps refactor it to make it more useful?
- Action is overrepresented. Perhaps refactor it to make it less useful.
- Insufficiently differentiated actions (similar stuff)
- Build challenges that ensure that every part of the tree is exercised. Set game up to make sure they have to use all abilities.
- Identify disjoint branches. Something that doesn’t have anything to do with the rest of the tree. Is this branch really part of the game? Why doesn’t it share anything with the rest of the tree/game?
- Define skill progression sequence. What can you add/upgrade to different parts of the tree?
- Context for defining and differentiating character classes and archetypes
- Identify where to break the player’s decision-making structure. Give exceptions so that the gameplay stays fresh.
How do we engage more of the player’s mind?
Player must do something similar to pathfinding:
Cognitive challenge of navigating the environment. Make the environment move (platformer), parallel worlds, dimensionality, reverse the flow of time (Braid), change the topology of the world (Portal).
Planning in a dynamic world in tactics/strategy. Player must do something similar to influence maps. Change the topology of the world to change the way the player must approach the influence map. Star systems is over network topology rather than over a 2D grid.
Using inputs to make decisions.
Players don’t use specific decision tree structure but rather as a list of rules. (i.e. rule based system or expert system) ID3, C4.5 can take raw data and construct a decision tree.
“Select Target” is great example of classifier. What are all the inputs that we would use to determine which target we would attack when we switch from multiple targets to single target in the WoW BT example above.
“Emergent gameplay refers to complex situations in a video game that emerge from the interaction of relatively simple game mechanics.” – Wikipedia
- Give players lots of “verbs”
- Present obstacles to the players
- Let players be creative to solve the obstacles
Emergent possibilities can be overwhelming on the designers to test all the possible uses of the verbs.
“If you haven’t tested it, you have no way of knowing whether it will cause fun or frustration.”
So why is emergent gameplay fun? Because it is all about planning – which is a cognitive challenge that works our mind. It is just like the various forms of path planning – just not through the geometry of the world, but rather through the possibility space.
Use a planner to simulate all the possible ways of chaining verbs together. What can the player possibly discover? By creating the verbs together in a planner sort of way, we can let the AI simulate the solving of puzzles.
Just like game tree, but drawn as a graph because there are multiple paths to any given game state.
Don’t enumerate the entire game tree. Do it by sections first.
Competitive planning (e.g. TF2). Each team is doing their own plan. The cognitive challenge is not just coming up with your own (team’s) plan but rather matching your plan to that of the opposing team as well. What is the zone of control between the two plans? It’s similar to the star system topology. Building an influence map over the state space topology.
The engagement of TF2 is based on the complexity of the two teams struggling against each other in that massive, dynamic state space.
If we can build structures in the player’s mind, we can use our AI structures to analyze them.
What kind of cognitive challenges can we create? AI gives us answers around which we can design our experiment.
Think about how you make decisions. What is the structure? What are the weights? How would you design the AI for what you do in your everyday life? What parts of your mind are NOT being used?
Paul’s presentation was interesting in that it was using our knowledge and understanding of classic game AI algorithms and techniques to expose pros and cons of game design. Rather than talking about how to construct behaviors of game characters, he was using game AI to construct an analogue of the behaviors of a game player.
While the knowledge that this exposes is important, I enjoyed his talk for another reason. I felt that the exercise of putting one’s own actions into the framework of AI is something that more designers and programmers need to do. In fact, it was my excitement in this area that led Paul to add his closing entreaty to the audience… “analyze your own decisions – how would you design an AI algorithm for what you just did or are about to do.” I think that his example (the BT of his WoW play) was an excellent example of walking through this process.