Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9
      Miscellaneous

AI Game Programming Wisdom
Author: edited by Steve Rabin
Publisher: Charles Rivers Media
ISBN: 1-58450-077-8
Purchasing: [Amazon.Com] - RRP US$69.95
Reviewed: 18th September 2002

Front Cover Shot:

Overview

The field of Artificial Intelligence, particularly with respect to games, is a very new one. It is only in the last few years that it has become common in end-user applications (from as simple as Microsoft's Office Assistants, to Creature-AI in Black & White), and it is only now (and in the next couple of years) that it is/will become really important.

Computer graphics are the big buzz-words touted when a new game begins its PR cycle, but we've proven (and continue to prove) that we can do amazingly realistic eye-candy such that it's getting harder to do "something new". With Artificial Intelligence, only a few games have really shown off the true power of AI, and it is a field that with only a little effort can easily raise the playability and experience of any game.

4-5 years ago, AI was tacked on towards the end of most projects, or handled by an elaborate (or not so elaborate) scripting engine. It was something that whichever programmer was least busy could/would do. Now it's not uncommon to find a dedicated AI programmer in most commercial teams.

With this upward spiral, and the drastically increasing importance of AI we get this book (and hopefully many more in the future).

Familiar Tale

This book is published by Charles Rivers Media - the same publisher that brought us the excellent Game Programming Gems series (reviews: v1,v2,v3). Straight away, parallels are obvious between the two titles - replace 'wisdom' with 'gems' and you get the idea. This book is essentially a spin off from the aforementioned series dedicated purely to all things Artificial Intelligence.

Steve Rabin is a familiar face as well, he's written 'gems' for both Game Programming Gems Volume 1 and 2 and was the section editor for volume 2. He also tends to pop up on the internet every now and then - a speaker at the GDC and writer of a few articles here-and-there.

Likewise, many of the contributors to this spin-off have appeared in one (or more) of the Game Programming Gems collections. Several of the writers who haven't appeared before are still well known - particularly if you keep a keen eye on the industry.

Given that the Game Programming Gems series captured the talents of some of the greatest games programmers around, and the inclusion of some of these in this book we're again treated to a very professional and very intelligently written book.

More than just another collection

The Game Programming Gems series is a great set of books, but each gem presented is fairly modular and not necessarily coherently related to anything else in the book. This is not the case with this book. 

In total we get 71 individual chapters, the organisation of the book works such that it is more a case of each writer (or writers) picking up where the story left off - covering a little bit of new ground, and some new features/techniques for the reader to work with. As a summary:

Section 1: General Wisdom
 - nothing ground breaking here, a bit of history and background.
Section 2: Useful Techniques and specialized Systems
 - this is about setting up the foundations for an AI system. Diagnostic tools, data arrangements and interfaces.
Section 3: Pathfinding With A*
 - a discussion of the staple product for all games developers when it comes to finding paths for game entities.
Section 4: Pathfinding And Movement
 - further discussion of pathfinding, not quite so specific and a little more advanced.
Section 5: Tactical Issues and Intelligent Group Movement
 - even further work regarding (essentially) path finding. This is a bit more practical for games.
Section 6: General Purpose Architectures
 - Some general chapters regarding developing state machines
Section 7: Decision Making Architectures
 - how to program AI that needs to plan and make decisions.
Section 8: FPS, RTS, and RPG AI
 - case studies of the AI used in the main game Genre's.
Section 9: Racing and Sports AI
 - more case studies specific to racing/sports.
Section 10: Scripting
 - one of the staple products often used in AI programming.
Section 11: Learning 
- Likely to be the next big thing in AI, this covers making NPC's learn.

A rather long list of content really. Whilst it's not directly obvious, as you progress through each section you get a bit more advanced. Slightly more importantly, as shown by path finding - it's introduced in section 3, enhanced in section 4 and broadened further in section 5.

The bottom line is that AI Game Programming Wisdom works more like a book than it's related 'Gems' books, yet it retains some of the style that makes the 'gems' books so well put together.

Writing Style

The writing style is obviously very varied - with over 45 authors there is no constant style of writing. Some authors write better than others, and you'll find that some are easier to read than others (this is entirely subjective though). In general the writing style is good throughout. The book is definitely consumer-level rather than university text-book, which will appeal to most people. In my experience, academic level texts regarding Artificial Intelligence are cryptic at best and plain irritating at worst.

Cross-Over

As mentioned several times so far - this book acts very much like a spin off from the 'gems' series. Because of this there is some cross-over between the two. There aren't any identical chapters, or even obviously linked/related chapters. But if you own 'gems' 1,2 & 3 (note: more than 1 of them) then you will already have quite a bit of similar information.

At the end of the day, all of the chapters presented here could be prime candidates for the 'gems' volume 4, 5 and 6 AI sections.

Not totally cohesive

Whilst this book is considerably better structured than the 'gems' books, and can be easily read cover-to-cover, it is far from being a "normal" book.

You can learn a lot from the content in this book, from a relatively beginner/intermediate level - but it's not a my-first-book-on-AI experience. You need to be able to stitch together the missing parts and either take the time to research them or work them out yourself. A book written by one (or two) authors as per most "normal" books in this field would, however advanced, work much better together and be far more cohesive.

Secondary Resource

As with the majority of game related books, we get a CD included. This includes quite a bit of working code/samples that you can mess around with. As useful as this is, it's nothing hugely different from what you'd expect to find in similar books.

In Conclusion

I've made lots of comparisons between this book and the Game Programming Gems series; if you pick up both books in the shop you'll see why this is the case. However, this book deserves to exist "solo" in it's own right.

If you're interested in AI, and you're not a complete beginner, then this is definitely a good book to read through. The combined wisdom (and it often is a case of wisdom) of 45 top Game-AI programmers is not something to be laughed at.

Good Things Bad Things
• Copies the winning style of Game Programming Gems series. • Not completely cohesive across the different chapters
• Works well as a book in it's own right. can be read cover-to-cover. • requires a reasonable understanding of what AI is, and some basic experience 
• packs in 45+ great Game-AI programmers/designers. May require you to research into the "missing" areas.
• Good supporting CD. Some cross over if you own the Game Programming Gems books.
• Covers pretty much all areas of AI common in games.  
Includes discussion of advanced learning topics.  
Packs a lot of different chapters/content.  

 

DirectX 4 VB 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster