AI roundtable (Thursday)
- Replacements for A* in a dynamic environment:
D* (5 years old), LPA* (2 years old), RTA* (80s). Look these up in AAAI. Used in Mars Pathfinder.
- "Particle swarm" minimizes an error surface. Too heavyweight for pathfinding, A* is faster.
- Hierarchical A* is good.
- When do you switch goals? How do designers control the decision?
- "Subgoal obsession" (research term to look up): following a path to room A in order to find person B. If you run into person B, want to avoid continuing to room A. Helpful to have a "subsumption architecture" where higher levels interupt lower layers.
- Animation tool that implements a state machine can be used for AI.
- A couple of people have artists making state machines. On The Sims, they use the same tool for both.
- The Sims main AI is in influence maps.
- Sims never switch goals mid action.
- Look up (academic) "action planning"
- Threads useful from a scripting language
- Look up Game Gem technique for switching stacks in order to do cooperative threading.
- Implement AI in GPU?
- Can trade memory for CPU work; graph is e^-x cpu vs. memory
- Spatial partitioning very handy for all sorts of things
- Craig Reynold's steering work led to cool emergent behavior.
- "Call for help" in a MMOG can lead to an exponential increase in number of monsters to fight: player can never win battle.
- Resources: www.gameai.com, gamedev.net (look under resources), Game Programming Gems, AI Programming Wisdom, Artificial Intelligence: A modern approach (second edition now out!)