AI Game Engine Programming is written for all levels of game AI developers who wish to further their knowledge of the myriad AI engines used in various genres. The book provides the knowledge and techniques needed to create an AI engine. It details the specific parts of a modern AI engine, and provides code for the basic frameworks needed to run the techniques. The code is provided in a modular fashion, so that programmers can use only what they need and customize it at any level. The book also explains which techniques work best with different game genres, how to start implementing them, and what to consider when custom designing an engine that will be used for a particular game. The coverage takes programmers from theory to actual game development, with usable code frameworks designed to go beyond merely detailing how a technique might be used. In addition, it covers common pitfalls, design considerations, and optimizations. The companion CD-ROM contains all of the code from the book, as well as useful AI resources.
Brian Schwab (San Diego, CA) has been a game programmer for over ten years, and has held key positions as Gameplay and AI Programmer for both Angel Studios and DreamWorks Interactive. He currently acts as Senior AI Programmer for Sony Computer Entertainment.
I have worked in the game industry for over 10 years, and have also taught classes in game design and programming. This is the first book that I would recommend as intro/intermediate textbook for game AI. It covers all the popular game types (shooters, fighters, sports, and more) and covers all the popular AI methods (state machines, scripting, messaging, many others).
The book uses a very clean, not-too formal, not-too conversational writing style, which is easy to get into and yet remains professional sounding. The included code is clean, usable, and is very representative of real working game code. There's also tons of code snippets from actual released games to show the reader how the concepts have been done out in the wild.
The book also goes into the actual process of creating an AI system for a game project. Only by knowing the type of game you're going to make, the platform, the audience, and a slurry of other factors can you intelligently design a system that will provide your project with everything it needs to succeed.
All in all, a great piece of work from an industry vet.
Also, another review states that "the book fails because it's OpenGL based," which is hilarious in its ignorance and outright falsehood. The reviewer states that "all major gaming houses use DirectX" which is strange, cosidering that the vast majority of all video games are actually not PC based (which is the platform that mostly uses DirectX; Sony and Nintendo obviously are not using Microsoft's libraries, even the XBox uses a very specialized version of DirectX). Plus the fact that the author actually WORKS at Sony, and you can see that the reviewer doesn't really have any clue. The book is about Game AI, and the small bit of OpenGL code in the book is just allowing a quick, cross platform "renderer" for the AI demos. This is not a book on game graphics, and never says that it is.
I really dug this book. It was interesting from many different angles. The breakdown of the various game types into what kinds of AI was most useful was cool, I'd never seen that in an AI book before. In addition to all the working code, the book also had quite a few "samples" of code from real games, so that you could see some of the techniques in use. I really liked the section at the end of each coding chapter where the book talks about "Extensions" meaning ways to take each AI method a step or two further. I also liked the chapter on how to break down a game into a bunch of AI pieces, separating the AI into workable chunks.
Some of the figures were a little janky, but they did get the idea across. Definately doesn't detract from the book, it just seemed like some of the figures were much better then others.
I've been using the little test app included with the book (it's a small openGL version of asteroids) to play with some ideas of my own. Everything's worked very nice so far.
All in all, very good book. Lots of usable code and plenty of real game AI information.
All around great book on the subject2005/9/7
This book was quite revealing to me. It is basically split into two halves: the first part talks about specific game types and how developers have traditionally used AI systems for each, and the second part which covers the actual code implementations for these systems.
I loved the in depth game section. It was really interesting to find out exactly which techniques are used the the various games. He even includes many examples from real life games. It made thinking about creating these systems for myself seem much more doable.
As far as code goes, there's a ton of it. Both working game code for each type of AI system he's trying to explain, as well as code from real games or internet demos. I found his code clean and professionally written. I have already used code from three different chapters as a launching point for my own projects.
I saw a reference in another review for Programming AI by Example. I also own that book and I must say I liked this one better. Matt's book is good, don't get me wrong. But there's a whole chapter on math basics (which I didn't need), another chapter on steering behaviors (all of the information and code for which I can get directly from Craig Reynold's OpenSteer project online) and then specific chapters detailing Matt's own AI engine, which is called Raven (nothing really mind blowing, and I'd rather code my own to get the concepts solid).
Brian's book, on the other hand, was more of a toolbox of code that I can assemble into whatever shapes I need. Not too much code, and definately not too little. One of the reviewers noted that there's "not enough code to illustrate the concepts"? Sounds to me like somebody just wants the entire thing done for him. I looked at the other books that guy has reviewed, and he absolutely loved Andre LaMothe's "Tricks of the Windows Game Programming Gurus". Ha. That book is for total beginners, and was just a collection and republishing of some of his earlier, outdated books. He even says "I want to write like him".
I'm really looking forward to anything else Brian might write in the future. I have found so many useful nuggets of information from this book. Great job.
Just What I Was Looking For2005/2/21
Up to now, I have discovered books that contained AI code samples but out of context for what I needed. The code was specific and merely a part of collections of examples. I finally found this book. It explains all the game genres in terms of AI capability and requirements albeit rather technical in some places that I appreciated as reference. I have not completed the book yet but the contents are allowing me to create my own AI Engine that includes all the types in the book. Just to gain experience and knowledge and add to my portfolio. I strongly recommend this book for both it's content and the CD contents. --Joe
No real meat and potatoes, but many appetizers.2005/8/23
First, I would like to address the comment a reviewer made about the book being no good because it utilizes OpenGL.
This is a book on AI, the AI concepts and code can be implemented using any rendering API (or none at all) to visualize their activity. OpenGL and DirectX have as much to do with AI as car engine maintenance has to do with cooking a good lobster neuberg. The fact that the reviewer cannot make this distinction is sadly telling. Some people want all the work done for them. If you are that type, don't bother with programming.
Second, the reviewer who said that this book is too scattered is right. It tries to do too many things and ends up doing none of them extremely well. It does, however, have a few good code samples and can be used as an introductory book on the subject.