| 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 |