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. |
|
|