nearly a year since my first article outlining the then-current trends
in the game development industry regarding game AI ("Game AI: The State
of the Industry," October 1998). Since that time, another Christmas season's
worth of releases has come and gone and another Game Developers Conference
(GDC) has provided yet another opportunity for AI developers to exchange
ideas. While polls taken at the 1999 GDC indicate that most developers
(myself included) felt that the last year had seen incremental, rather
than revolutionary advances in the field of game AI, it seemed that enough
interesting new developments have taken place, which makes an update to
my previous article seem natural.
pleased to say that good game AI is growing in importance within the industry,
with both developers and marketeers seeing the value in building better
and more capable computer opponents. The fears that multiplayer options
on games would make good computer AIs obsolete appear to have blown over
in the face of one very practical consideration — sometimes, you just
don't have time to play with anybody else. The incredible pace of development
in 3D graphics cards and game engines has made awesome graphics an expected
feature, not an added one. Developers have found that one discriminator
in a crowded marketplace is good computer AI.
last year's article, much of the insights presented herein flow directly
from the AI roundtable discussions at the 1999 GDC. This interaction with
my fellow developers has proven invaluable in the past, and the 1999 AI
roundtables proved to be every bit as useful in gaining insight into what
other developers are doing, the problems they're facing, and where they're
going. I'll touch on some of the topics and concerns broached by developers
at the 1999 roundtables. I'll also discuss what AI techniques and developments
seem to be gaining favor among developers, the academic world's take on
the game AI field, and where some developers think game AI will be headed
in the coming year or two.
Resource Battle Over?
there were signs that development teams were beginning to take game AI
much more seriously than they had in the past. Developers were getting
involved in the design of the AI earlier in the design cycle, and many
projects were beginning to dedicate one or more programmers exclusively
to AI development. Polls from the AI roundtables showed a substantial
increase in the number of developers devoted exclusively to AI programming
(see Figure 1).
dedicated to AI development.
It was very
apparent at the 1999 GDC that this trend has continued at a healthy clip,
with 60 percent of the attendees at my roundtables reporting that their
projects included one or more dedicated AI programmers. This number is
up from approximately 24 percent in 1997 and 46 percent in 1998 and shows
a growing desire on the part of development houses to make AI a more important
part of their game design. If the trend continues, we'll see dedicated
AI developers become as routine as dedicated 3D engine or sound developers.
continue to be a viable alternative for many companies that lack internal
resources to dedicate developers exclusively to AI development. Several
developers and producers present at the roundtables indicated that they
had used independent contractors to roll the AI portions of their process
with varying degrees of success. The primary complaints about using contract
help were perhaps the universal ones — you never really know what you're
getting, and maintaining good communication is, at best, a chore.
interesting comments, however, concerned CPU resources available to the
AI developers (Figure 1). None of the developers answering the poll questions
regarding CPU resources felt that they had too little CPU available. Everybody
felt they could use more if they had it, but nobody said that they were
having to fight tooth and nail for resources as they had in the past.
This is an amazing turn of events, which is in stark contrast to previous
years when AI developers complained often and bitterly of fighting the
graphics engine guys for CPU cycles. The overall percentages of CPU cycles
most developers felt they were getting didn't really change, but developers
were feeling much less pinched than they had been in the past. When asked
why this was the case, there were a variety of theories. Most developers
felt that this was, quite simply, due to the fact that faster hardware
is now standard on both PCs and consoles — 5 percent of a 400Mhz Pentium
III is a heck of a lot more horsepower than 5 percent of a 200Mhz Pentium
I. Others thought that the availability of faster 3D hardware, combined
with greater expertise of the 3D engine manufacturers, had simply made
3D engines more efficient than they had been and thus freed up more CPU
resources for other tasks. Whatever the reasons, everybody was happy about
it, and they thought it would only get better as hardware got faster.
great problem mentioned by all was the impending-shipping-date-syndrome.
Christmas hasn't moved from its place as an almost magical date for targeting
new releases, and the increasing complexity of games in general hasn't
made meeting deadlines any easier. While there are more programmers dedicated
exclusively to the AI portion of game development now than there had been
in the past, most developers felt that the task itself had become more
the reason for this, of course, is the increasing importance of game AI
itself — having made the case that good game AI is important in increasing
the odds of a game's success, developers must now actually deliver better
game AI. Quite simply, that takes time. When coupled with the fact that
most AI testing can't really begin until substantial portions of the game's
engine are up and running, you've got a situation wherein dedicated AI
developers find themselves making compromises in the face of impending
also professed that part of the problem was the advances made in competing
products. For example, after one real-time strategy (RTS) game introduced
production queues, players started looking for all RTS games to do the
same, and that means additional AI development for handling such things.
There is also a desire on the part of most developers to avoid doing the
"same old thing" in a new release.