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 |