Preface Acknowledgments About the Cover Image Contributor Bios SECTION 1 GENERAL WISDOM 1.1 Custom Tool Design for Game AI; 1.2 Using STL and Patterns for Game AI; 1.3 Declarative AI Design for Games-Considerations for MMOGs; 1.4 Designing for Emergence; 1.5 Fun Game AI Design for Beginners; 1.6 Strategies for Multiprocessor AI; 1.7 Academic AI Research and Relations with the Game Industry; 1.8 Writing AI as Sport SECTION 2 PATHFINDING 2.1 Cooperative Pathfinding; 2.2 Improving on Near-Optimality: More Techniques for Building Navigation Meshes; 2.3 Smoothing a Navigation Mesh Path; 2.4 Preprocessed Pathfinding Using the GPU SECTION 3 MOVEMENT 3.1 Flow Fields for Movement and Obstacle Avoidance; 3.2 Autonomous Camera Control with Constraint Satisfaction Methods; 3.3 Insect AI 2: Implementation Strategies; 3.4 Intelligent Steering Using Adaptive PID Controllers; 3.5 Fast, Neat, and Under Control: Arbitrating Between Steering Behaviors; 3.6 Real-Time Crowd Simulation Using AI.implant; SECTION 4 ARCHITECTURE 4.1 Flexible Object-Composition Architecture; 4.2 A Goal-Based, Multitasking Agent Architecture; 4.3 Orwellian State Machines; 4.4 A Flexible AI System through Behavior Compositing; 4.5 Goal Trees; 4.6 A Unified Architecture for Goal Planning and Navigation; 4.7 Prioritizing Actions in a Goal-Based RTS AI; 4.8 Extending Simple Weighted-Sum Systems; 4.9 AI Waterfall: Populating Large Worlds Using Limited Resources; 4.10 An Introduction to Behavior-Based Systems for Games; 4.11 Simulating a Plan SECTION 5 TACTICS AND PLANNING 5.1 Probabilistic Target Tracking and Search Using Occupancy Maps; 5.2 Dynamic Tactical Position Evaluation; 5.3 Finding Cover in Dynamic Environments; 5.4 Coordinating Teams of Bots with Hierarchical Task Network Planning SECTION 6 GENRE SPECIFIC 6.1 Training Digital Monsters to Fight in the Real World; 6.2 The Suffering: Game AI Lessons Learned; 6.3 Environmental Awareness in Game Agents; 6.4 Fast and Accurate Gesture Recognition for Character Control; 6.5 Being a Better Buddy: Interpreting the Player's Behavior; 6.6 Ant Colony Organization for MMORPG and RTS Creature Resource Gathering; 6.7 RTS Citizen Unit AI; 6.8 A Combat Flight Simulation AI Framework SECTION 7 SCRIPTING AND DIALOG 7.1 Opinion Systems; 7.2 An Analysis of Far Cry Instincts' Anchor System; 7.3 Creating a Visual Scripting System; 7.4 Intelligent Story Direction in the Interactive Drama Architecture SECTION 8 LEARNING AND ADAPTATION 8.1 Practical Algorithms for In-Game Learning; 8.2 A Brief Comparison of Machine Learning Methods; 8.3 Introduction to Hidden Markov Models; 8.4 Preference-Based Player Modeling; 8.5 Dynamic Scripting; 8.6 Encoding Schemes and Fitness Functions for Genetic Algorithms; 8.7 A New Look at Learning and Games; 8.8 Constructing Adaptive AI Using Knowledge-Based Neuroevolution About the CD-ROM Index
About the Author
Steve Rabin is a Principal Software Engineer at Nintendo of America, where he researches new techniques for Nintendo's next generation systems, develops tools, and supports Nintendo developers. Before Nintendo, Steve worked primarily as an AI engineer at several Seattle start-ups including Gas Powered Games,WizBang Software Productions, and Surreal Software. He managed and edited the AI Game Programming Wisdom series of books, as well as the book Introduction to Game Development, and has over a dozen articles published in the Game Programming Gems series. He's spoken at the Game Developers Conference and moderates the AI roundtables. Steve teaches artificial intelligence at both the University of Washington Extension and at the DigiPen Institute of Technology. He earned a B.S. in computer engineering and an M.S. in computer science, both from the University of Washington.