AI Game Development explains how to create synthetic characters with realistic behaviors, focusing on individual animats. These are autonomous creatures with an artificial body situated in a virtual world. Our job as AI programmers is to give them unique skills and capabilities so that they can interact with their environment.
Throughout this book, we will learn how to build such autonomous AI characters and get them to react intelligently. A realistic 3D game is used as a test bed, rather than programs running from the command prompt or dealing with simple grid worlds.
To achieve satisfactory levels of intelligence and realism, this book introduces a variety of technologies, including modern AI techniques (such as neural networks, decision trees, genetic classifiers, and reinforcement learning) as well as standard control mechanisms that have been at the heart of the game industry for decades (such as rule-based systems and finite-state machines). Each technique is described theoretically using brief descriptions, intuitive examples, and formal insights based on mathematics. To complement these abstract notions, this book covers practical applications for building realistic nonplayer characters (NPCs). This theoretical and practical understanding will enable us to apply AI techniques to other problems as exercises.
From just programming skills, we will build up a set of methodologies for creating autonomous characters, and explore the AI development process from the ground up. Using the examples, we will gain insights into common problems game AI engineers face and establish how to approach them in a structured manner.
AI Game Development provides a unique combination of theory, practice, and concepts about AI development. Within the space of three chapters, for instance, we will discover neural networks, get bots to blast each other with rockets, and learn a lesson about understanding AI problems in general. Apart from being a valuable educational experience, this will also be a particularly entertaining one!