Artificial Intelligence for GamesBy
- John Funge, John Funge is a co-founder and one of the lead scientists at AiLive Inc. (formerly iKuni), a Silicon Valley based company focusing on developing real-time machine learning technology for computer entertainment. John is also an Assistant Adjunct Professor at the University of California Santa Cruz.
- Ian Millington, Ian Millington is a partner of IPR Ventures, a consulting company developing next-generation AI technologies for entertainment, modeling, and simulation. Previously he founded Mindlathe Ltd, the largest specialist AI middleware company in computer games.
Creating robust artificial intelligence is one of the greatest challenges for game developers, yet the commercial success of a game is often dependent upon the quality of the AI. In this book, Ian Millington brings extensive professional experience to the problem of improving the quality of AI in games. He describes numerous examples from real games and explores the underlying ideas through detailed case studies. He goes further to introduce many techniques little used by developers today. The book's associated web site contains a library of C++ source code and demonstration programs, and a complete commercial source code library of AI algorithms and techniques."Artificial Intelligence for Games - 2nd edition" will be highly useful to academics teaching courses on game AI, in that it includes exercises with each chapter. It will also include new and expanded coverage of the following: AI-oriented gameplay; Behavior driven AI; Casual games (puzzle games).
Game developers, Game AI Programmers. Game Development/AI students. Level: Intermediate to Advanced.
Online version, 888 pages
Published: August 2009
Imprint: Morgan Kaufmann
- Table of Contents:Descriptions have been added to sections which will have significant changes in the 2nd edition.1 INTRODUCTIONWill now make the code available exclusively online. This section would describe how to access the code and what it contains, in broad brush strokes. I have a completely new codebase for the second edition, with many more demos.2 GAME AIThis chapter has been reorganised to include an additional section: AGENTS, PERCEPTS AND ACTIONS. This is a new section that looks at characters in a game in a more systemic way. It helps set up several of the later chapters that didn't have an organising principle.This section also includes updates on the current generation of hardware. In particular multi-core consoles.3 MOVEMENTAdding new section (ACTIONS AND MOVEMENT).Also, including more information on the representation of motion in a game engine, particularly a game engine with a physics core. There is additional material on COMBINING STEERING BEHAVIORS. 4 PATHFINDINGA short subsection on path finding in the presence of uncertainty will be added. This is an interesting new subfield. 5 DECISION MAKINGAdding a new section (BEHAVIOR TREES): a single technique set.A new section will be added to discuss goal oriented action planning outside the context of the Sims-like game from the 1st ed. Additional techniques will be discussed to allow readers to implement GOAP in other game genres. In particular two techniques: Hierarchical Task Planning and Partial Order Planning, will be introduced and applied at their most basic level.6 TACTICAL AND STRATEGIC AIAdding a new section (STRATEGY AND PERSONALITY) that discusses how to build strategic AI that follows distinct styles, without being too predictable and exploitable. 7 LEARNINGThe examples in the section on REINFORCEMENT LEARNING will be modified. Readers found it difficult to understand why and how this technique should be used. The textual demo will be expanded to a graphic demo which will be walked through in detail.8 BOARD GAMES9 EXECUTION MANAGEMENTThe section on ANYTIME ALGORITHMS will be expanded to include information on how to go about any-timing existing algorithms. Topics such as making recursion explicit, storing data between updates, and anytime algorithms on multi-core processors will be addressed.10 WORLD INTERFACINGThe section on GETTING KNOWLEDGE EFFICIENTLY will be expanded to bring in the idea of the percept introduced in chapter 2. In addition, there will be a new subsection on geometric queries to the game (where things are, what can be seen, etc). Adding a new section on INTELLIGENT CONTENT. Several games in the last few years have increased the AI sophistication by making the level more intelligent. Data and algorithms embedded into the level can mean that lots of characters can have correspondingly simpler AI and still appear very smart. This section describes how it can be done.11 TOOLS AND CONTENT CREATIONThere are minor tweaks to make here to bring the book up to date with current state of the art in commercial AI toolkits.The current hot-topic in game development is automating content creation. AI data is relatively easy to automate in some contexts - this section will be updated with this info.12 SCRIPTINGNEW chapter on Scripting (pulling misc scripting sections from other parts of the book and going into more detail).Also, discussing visual scripting (the idea that programs can be represented visually). Also, covering node-based scripting systems in this new section.Coverage of declarative scripting, which doesn't give programs or scripts to be carried out, but states what should happen in response to conditions in the world. It is really a variation of rule-based decision making, but as a scripting technology is particularly powerful for gameplay development as well as agent-based AI. A couple of recent game projects I've seen use this approach.13 DESIGNING GAME AIThe plan is to expand each of the sections in this chapter a fair bit - with different options presented for each genre.Adding a new section (PUZZLE GAMES). Over the last couple of years the casual game market has grown to be a significant force. There isn't a whole lot of AI in them, but there is some, and this section acknowledges that.The case study in section will be expanded, plus a simple demo from of each game will be available with the code, so they truly form working examples of putting it all together.-------------------------