Main Page

  
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors
By Alex J. Champandard
 
Publisher: New Riders Publishing
Pub Date: November 21, 2003
ISBN: 1-5927-3004-3
Pages: 744


Neural networks, decision trees, genetic classifiers: If these are AI concepts you'd like to employ in your own games-and you know your way around C++-this is the book for you! In these pages, leading game AI developer Alex J. Champandard shows you how to create a slew of autonomous synthetic creatures-in the process exploring the techniques and theories central to AI game development. Complex concepts are made easily graspable, even fun, as you apply them to the step-by-step development of your own complete bot. The focus here is on designing individual creatures, each with unique abilities and skills. Each chapter tackles a specific problem, using demos and examples to drive the points home. Best of all, Alex draws on his own real-life experiences to provide tips and tricks to speed the process and resolve thorny issues. On the companion Web site, you'll find code examples and the samples of some of the games covered in the book.

  
• Table of Contents
• Index
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors
By Alex J. Champandard
 
Publisher: New Riders Publishing
Pub Date: November 21, 2003
ISBN: 1-5927-3004-3
Pages: 744
Copyright
   About the Author
   About the Technical Reviewers
   Acknowledgments
   Tell Us What You Think
   Foreword
      About Alex
      Something Different
      Useful for Everybody
   Introduction
      Why Learning and Reactive Behaviors?
      Who Is This Book For?
      How Is the Book Organized?
      Where Is the Web Site?
      Which Software Is Required?
    Part I:  Overview
      Chapter 1.  Artificial Intelligence in Computer Games
      Overview of Artificial Intelligence
      Computer Games and AI
      The State of Game AI
      Designers Versus AI
      AI in Game Programming
      Chapter 2.  The Design of Intelligence
      An Engineer's Perspective
      Traditional Approach
      A Modern Approach
      Required Background
      AI Development Process
      Summary
      Chapter 3.  Reactive Approach
      Definitions
      Behaviors: Planning Versus Reactive
      Reactive Techniques in Game Development
      Architectures
      Summary
      Chapter 4.  FEAR: A Platform for Experimentation
      Technical Overview
      World Interface
      Modules
      Flexible Architecture
      Creating an Animat
      Summary
    Part II:  Moving Around
      Chapter 5.  Movement in Game Worlds
      The Environment and Space
      Types of Game Worlds
      Handling Movement
      Assumptions
      Testing Conditions
      Summary
      Chapter 6.  Moving Abilities
      The Art of Navigation
      Game Bots and Movement
      Autonomous Navigation for Animats
      Criteria for Motion
      Case Study
      Summary
      Chapter 7.  Analysis and Understanding
      The Big Picture
      The Analysis Phase
      The Understanding Phase
      General Advice
      Summary
      Chapter 8.  Formalizing Motion
      Background Review
      Sketching Possible Options
      Rationalizing
      Proposed Specification
      Summary
      Chapter 9.  Specifications and Knowledge Representation
      Overview of Formal Specifications
      Knowledge Representation
      Knowledge Representation Formalisms
      Specification Procedure
      Discussion
      Summary
      Chapter 10.  Steering Behaviors for Obstacle Avoidance
      Artificial Life Overview
      Algorithm
      Original Draft
      Evaluation
      Summary
      Chapter 11.  Rule-Based Systems
      Background
      Overview of Components
      Theory and Knowledge
      Discussion
      Summary
      Chapter 12.  Synthesizing Movement with Rule-Based Systems
      Case Study
      Rationale
      RBS Module Design
      Implementation
      Application
      Evaluation
      Summary
      Part II.  Conclusion
      Retrospective Overview
      Outlook
    Part III:  Learn to Shoot!
      Chapter 13.  Combat Settings
      In the Armory
      Weapon Requirements
      Environment Conditions
      Training Zone
      Summary
      Chapter 14.  Player Shooting Skills
      The Art of Combat
      Gaming Skills
      Criteria for Shooting
      Case Study
      Summary
      Chapter 15.  Shooting, Formally
      Background
      Sketching Possible Options
      Rationalizing
      Proposed Specification
      Summary
      Chapter 16.  Physics for Prediction
      Foundations
      The Perfect Intersection
      Predicting Behavior
      Simulation Algorithm
      Experimentation
      Evaluation
      Summary
      Chapter 17.  Perceptrons
      History of Perceptrons
      Model Overview
      Simulation
      Introduction to Optimization
      Optimization of Perceptron Weights
      Training Procedure
      Graphical Interpretation
      Summary
      Chapter 18.  Dealing with Aiming Errors
      Momentum and Friction
      Dealing with Errors
      Evaluation
      Summary
      Chapter 19.  Multilayer Perceptrons
      History of Perceptrons
      Model Overview
      Simulation
      Biological Parallels
      Training Algorithms
      Practical Issues
      Discussion
      Summary
      Chapter 20.  Selecting the Target
      Case Study
      Rationale
      Module Design
      Implementation
      Application
      Evaluation
      Summary
      Chapter 21.  Knowledge of the Problem
      Black Box Understanding
      Underlying Knowledge
      Fundamental Understanding
      Refining the Problem
      Methodology
      Summary
      Part III.  Conclusion
      Retrospective Overview
      Outlook
    Part IV:  Choose Your Weapon
      Chapter 22.  Fighting Conditions
      Weapon Properties
      Applicability of Weapons
      Training Zone
      Summary
      Chapter 23.  Weapon Selection
      Appealing Choices
      Evaluation Process in Practice
      Criteria for Weapon Selection
      Case Study
      Summary
      Chapter 24.  Formalizing Weapon Choice
      Sketching Possible Options
      Rationalizing
      Proposed Specification
      Summary
      Chapter 25.  Scripting Tactical Decisions
      Foundations in Scripting
      Scripted Weapon Selection
      Evaluation
      Summary
      Chapter 26.  Classification and Regression Trees
      Representation of Decision Trees
      Classifying and Regressing
      Tree Induction
      Training Procedure
      Discussion
      Summary
      Chapter 27.  Learning to Assess Weapons
      Four Different Approaches
      Rationale
      Module Design
      Implementation
      Application
      Evaluation
      Summary
      Chapter 28.  Understanding the Solution
      Complexity of the Solution
      The Search Space
      Different Approaches to Finding a Solution
      Summary
      Part IV.  Conclusion
      Retrospective Overview
      Outlook
    Part V:  Using Items and Objects
      Chapter 29.  Analysis and Specification
      Objects in the World
      Behavior Enhancements
      Specification
      Summary
      Chapter 30.  Fuzzy Logic
      Set Logic Extended
      Fuzzy Representation and Conversions
      Fuzzy Logic
      Fuzzy Control and Decision Making
      Discussion
      Summary
      Chapter 31.  Enhancing Movement Behaviors with a Fuzzy System
      Fuzzy Variables and Membership Functions
      Fuzzy Rules
      Module Design
      Evaluation
      Summary
      Chapter 32.  Genetic Algorithms
      Biological Evolution in a Nutshell
      Genetics and Representation
      Genetic Algorithms
      Genetic Operators and Evolutionary Policies
      Advanced Issues
      Discussion
      Summary
      Chapter 33.  Learning Classifier Systems
      Representation of Classifiers
      Overview of the Classifier System
      Architecture
      Discussion
      Summary
      Chapter 34.  Adaptive Defensive Strategies with Genetic Algorithms
      Representation of Action Sequences
      Genetic Operators
      Evolutionary Outline
      Genetic Algorithm Module Design
      Computing the Fitness
      Application
      Evaluation
      Summary
      Chapter 35.  Designing Learning AI
      Purpose of Learning
      Approach to Learning
      Varieties of Learning Components
      Methodologies for Learning Behaviors
      Summary
      Part V.  Conclusion
      Retrospective Overview
      Outlook
    Part VI:  Emotions
      Chapter 36.  Emotive Creatures
      Emotions Within Human Evolution
      Biological Models for Emotion
      From Emotions to Artificial Intelligence
      Human/Machine Interaction
      Emotion in Games
      Summary
      Chapter 37.  Sensations, Emotions, and Feelings
      Sensations
      Emotions
      Interfaces for Communicating Emotions
      Portraying Emotions in Games
      Summary
      Chapter 38.  Finite-State Machines
      Formal Definitions
      Representation and Simulation
      Control Logic
      Optimization
      Discussion
      Summary
      Chapter 39.  Under the Influence
      Designing Artificial Emotions
      Finite-State Module Development
      Creating Emotions as Finite States
      Evaluation
      Summary
      Chapter 40.  Nondeterministic State Machines
      Overview
      Fuzzy State Machines
      Nondeterministic State Machines
      Probabilistic State Machines
      Summary
      Chapter 41.  Hierarchical State Machines
      Overview
      Hierarchies
      Interaction Semantics
      Discussion
      Summary
      Chapter 42.  An Emotional System
      Hierarchical Architecture Overview
      Modeling Feelings
      Improved Sensations
      Accumulating Emotions
      Revealing Emotions with Mannerisms
      Mood Hierarchies
      Evaluation
      Summary
      Chapter 43.  Emergent Complexity
      A Definition of Emergence
      Emergent Behaviors
      Smarter Environments, Simpler Behaviors
      Emergence in Functionality
      Summary
      Part VI.  Conclusion
      Retrospective Overview
      Outlook
    Part VII:  Action Selection
      Chapter 44.  Strategic Decision Making
      Game Situation
      Personal Objectives
      Tactical Behaviors
      Animats and Decision Making
      A Training Zone
      Summary
      Chapter 45.  Implementing Tactical Intelligence
      Crafting Tactical Behaviors
      Behaviors and the Subsumption Architecture
      Applying Subsumption to Tactics
      Evaluation
      Summary
      Chapter 46.  Learning Reinforcement
      Defining Reinforcement Theory
      Fundamental Elements
      Reinforcement Learning Algorithms
      Advanced Issues
      Discussion
      Summary
      Chapter 47.  Learning Reactive Strategies
      Decomposition by Control
      Adaptive Gathering Behaviors
      Modeling Movement
      Learning Shooting Styles
      Other Capabilities
      Evaluation
      Summary
      Chapter 48.  Dealing with Adaptive Behaviors
      What's the Problem?
      Solid Software Engineering
      Robust Design
      Methodologies
      Summary
      Part VII.  Conclusion
      Retrospective Overview
      Outlook
    Part VIII:  Summary
      Chapter 49.  Game AI Engineering Principles
      Architectures
      Implementations
      Techniques and Their Applicability
      Learning and Feedback Mechanisms
      Summary
      Chapter 50.  The Road Ahead
      Practice Makes Perfect
      On World Models
      Planning Techniques
      Embracing Nouvelle Game AI
   Bibliography
   Index