AI roundtable Thursday Path finding ------------ 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. Misc ---- 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!)