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).
Creating robust artificial intelligence is one of the greatest challenges for game developers. AI is increasingly important to games, and a game's commercial success is often dependent on the quality of the AI. However, AI is still not well understood by many developers, and it is often tacked on late in the development process. There remains tremendous room to improve the quality of AI in games. In his new book, Ian Millington brings extensive professional experience to this problem. A game developer since 1987, he was founder of Mindlathe Ltd., at the time the largest specialist AI company in gaming. Ian shows how to think about AI concepts from the start as an integral part of the game play, describes numerous examples from real games, and explores these ideas in-depth through detailed case studies. Plentiful C++ source code examples are included on the CD-ROM to illustrate implementation. He goes further to introduce many techniques currently unknown to developers, and discusses types of AI specific to different genres of games, such as driving or sports games. A comprehensive, professional tutorial and reference to implement true AI in games written by an engineer with extensive industrial experience.
"Ian Millington's book is a comprehensive reference to the most widely used techniques in game AI today. Any game developer working on AI will learn something from this book, and game producers should make sure their AI programmers have a copy." -Dr. Ian Lane Davis, Mad Doc Software
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, working with on a huge range of game genres and technologies. He has a long background in AI, including PhD research in complexity theory and natural computing. He has published academic and professional papers and articles on topics ranging from paleontology to hypertext.
Descriptions have been added to sections which will have significant changes in the 2nd edition.
Will 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 AI
This 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.
Adding 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.
A short subsection on path finding in the presence of uncertainty will be added. This is an interesting new subfield.
5 DECISION MAKING
Adding 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 AI
Adding a new section (STRATEGY AND PERSONALITY) that discusses how to build strategic AI that follows distinct styles, without being too predictable and exploitable.
The 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 GAMES
9 EXECUTION MANAGEMENT
The 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 INTERFACING
The 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 CREATION
There 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.
NEW 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 AI
The 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.
Detailed explanations of AI algorithms, their purpose and usage
Artificial Intelligence for Games by Ian Millington and John Funge covers lots of topics but is mainly designed to help the reader to master one element of game development which is artificial intelligence (AI). The book covers a wide range of techniques for game AI including detailed explanations of AI algorithms, their purpose and usage.
As I have learnt from this book, artificial intelligence is about making computers able to perform some thinking tasks that human and animals are capable of. This includes superhuman abilities in solving many arithmetic, sorting, searching and decision making problems. This book shows how it can be achieved revealing a range of techniques to the reader.
The book is split into five parts: introduction for AI in games, the substance of the AI (movement, pathfinding, decision making, tactical and strategic reasoning, learning), technologies and ways of implementation that enable the AI to do its job and finally designing game AI.
I think this book could be aimed at a wide range of readers but is most suitable for those looking for solid understanding of game AI and comprehensive reference to techniques used in top studios. The book helps to gain a deep and thorough view on modeling complex emotional states, triggers, and behaviors. To get the most from the book, you have to manage some time to read it and to understand its contents. If you need a quick AI solutions repository you should probably find another book related to a particular technology or computer language.
The book is associated with a website that contains a library of C++ source code covering the techniques found in the book. Hopefully the C++ code used in samples is relatively easy to read and includes many comments. There are also demonstration programs compiled as EXE files.
Besides many technical solutions to AI related issues I have also learnt from this book a few high-level things. For instance I have learnt that creating good AI is all about matching the right behaviors to the right algorithms and that often, a very simple technique used well can have better results then implementing complex the AI in the game.
This book is an open minder or a view broadener on many aspects related to the AI in games. It can also serve as a great example of good analysis, desing and prototyping examples of more or less complex algorithms which are about to use in specific projects. This is a very valuable title for any computer science professional dealing with Artificial Intelligence (for games).
1 out of 1 people found this review helpful.
Was this review helpful? YesNoThank you for your feedback.Report this reviewThank you, this review has been flagged.