1998 CGDC AI Roundtable Moderator's Report
by Steven Woodcock
Approach
The 1998 CGDC AI roundtable sessions were somewhat different in feel
and overall "flavor" than the 1997 sessions. Whereas in 1997 we were
having a lot of "how to" type discussions, this year our focus seemed
split on getting more out of the techniques we had and trying to determine
how much AI was enough for a given project. Pathfinding was discussed only
in the context of faster 3D pathfinding (such as might be used in a
typcial first person shooter).
Wednesday, May 6th
My first session of the conference had a total attendance of 25 people, a
nearly perfect sized group for a good roundtable discussion. I began by
asking everyone to briefly introduce themselves and solicited topics for
discussion. By my estimate roughly 2/3 of the attendees were "professional"
AI developers, with the remainder being either interested developers or
producer/designer types wanting to understand the field better.
The foremost topic on the minds of most of the people present was that of
building a "cheating AI"....when is it appropriate, and when is it bad? The
general consensus is that while we all strive to build an AI that doesn't
have to "cheat", it's okay to do so if it makes for a better game. Everybody
was in agreement that the player must never suspect that the AI is cheating
or the game will be ruined; this in turn led to a wide-ranging discussion of
good ways to cheat that wouldn't be noticed.
The topic then moved on to a general discussion of resources available
to the AI developer, since available CPU in large part guides what is possible
and what isn't in the context of a game. Most developers claimed that they
were getting anywhere from 1% - 5% of the CPU, a figure somewhat lower than
last years' numbers. Out of the 25 people present, 9 were on projects with
at least one dedicated AI developer.
The discussion then shifted to what levels of AI should be emphasized given
a resource poor environment. Most of the attendees agreed that it made more
sense to focus on making smart unit AI rather than smart strategic AI, since
in most games players spent far more time watching small groups of units than
thinking about "the big picture". Various strategies for making unit AI
smart were discussed, from sensible pathfinding (the A* algorithm is now well
known) to navigation of narrow terrain passages (the infamous
Warcraft 2 peon problem) to conduct during combat (a unit
should retreat when injured, not attack against overwhelming odds, etc.).
There was general agreement that by focusing on these "up close and personal"
areas of AI that the player would think more highly of the game as a whole.
Our final topic was a general discussion of what constituted the "state of
the art" in game AI today. Nobody in the room was using any of the more
exotic AI technologies such as neural networks or fuzzy logic. Two developers
were making use of genetic algorithms to "breed" smarter AIs offline during
development, but they weren't yet sure of the success of the experiment. Most
developers are sticking with tried and true methods of finite or fuzzy state
machines combined with rules-based approaches.
This second session had rather light attendance in my room, with only 10
people present at the outset and two more trickling in during the course of
the discussion (Eric and Neil report similarly low numbers on the second day).
Six of the 10 were dedicated developers, and most of the conversation was
between these attendees....the other people did not contribute much to the
conversation despite prompting. The developers estimated that they received
anywhere from 1% - 10% of the CPU.
Despite the low turnout, however, we discussed a wider range of topics
than on the first day. The first topic of discussion was believable group
behavior-that is, methods of handling larger groups of units in a fashion
that both made sense and which would be viewed as "organic". We discussed
using various A-Life techniques such as flocking and swarming for movement,
which in turn led to a side discussion on dynamically selecting groups of units
from larger disorganized masses.
How to ensure cooperation between units or groups of units towards a
common goal followed from this discussion and led to quite a debate about
which methods were most appropriate. Several developers present had worked on
sports games and stated that they'd simply used "playbooks" of pre-scripted
behaviors to get good coordination between units, while others favored a more
dynamic, goals-based approach using variations of blackboard technologies.
There was little consensus as to which provided more realistic behavior,
however.
The conversation then turned to a discussion of scalable AI-building an AI
engine in such a fashion as to ensure reasonable behavior across a variety of
platforms (console, low-end PC, high-end PC). Everyone agreed it was a very
difficult problem given the state of modern games (which maximize CPU
utilization on whatever machine they're running on) and nobody seemed to have
satisfactory solutions. One gentlemen from the Department of Defense world
suggested that portions of the AI processing could be "farmed out" from lower-
end PC to more powerful PC if a network game was being played, but indicated
that there could be severe communications problems in an environment such as
the Internet that could make such an approach shaky at best.
The final topic concerned learning AIs. Most of those present had tried at
one point or another to build an AI that actually learned the preferred moves
and strategies of the player, but all had abandoned the effort due to
unpredictable results. AIs that can modify themselves can also get themselves
into a "stupid state", which is an absolute disaster game-wise. There was
also a spirited debate about whether building a learning AI was even
desirable...many developers felt that player really only want a "hard fought
win", not the possibility of actually losing. Three developers indicated
that they were in fact attempting to build learning AIs into their current
projects, and promised to report on the results at next years' CGDC.
At that point we ran out of time.
This session was interesting because all three moderators felt that the
per room attendance was too low to have effective roundtable discussions (my
room and Eric's had 9 people each; Neil had 5). We therefore decided to
combine the three roundtables into one larger group, which turned out to be a
very good ideas as it led to our best roundtable of the entire convention.
People drifted in over the course of the discussion to eventually raise total
attendance to 40. Normally this would have been too many for a good
discussion, but with three moderators handling things it worked out rather
well. Eric and I did most of the moderation while Neil was kept busy taking
notes on the whiteboard. The session was very balanced between experienced
and inexperienced AI developers, with a couple of producer/design types
thrown in for good measure.
The first topic was "Where is the next advance in game AI coming from?",
and that led to some interesting opinions. Many present felt that it was
difficult telling where the last advances had come from, much less where the
industry was heading. Most felt that the real-time strategy game glut of
late '97 had led to some interesting advances
(Dark Reign and Age of Empires
were both spoken of fondly), but that generally advances in the field had been
incremental rather than evolutionary. The A-Life approach used so successfully
in Creatures was viewed more as an interesting anomaly than the
beginning of a trend. There is much interest in the AI being promised in
several of the upcoming first- and third-person shooters, a genre notorious
for its brain-dead monsters. Everyone felt that progress would continue to
be a step at a time, with no major changes to the state of the art as a whole.
This discussion of where the industry is heading in turn led to the subject
of AI programmer salaries coming up, and the impact of games like
Deer Hunter on future development. (Most everybody present
felt that Deer Hunter was something of an anomaly-out of the
40 people present, there were only two people (myself included) who actually
hunted.) While no specific numbers were discussed, it was agreed that
a.) top talent was worth paying for and b.) formal degrees were far less
important that demonstrated talent. Knowledge of the AI normally associated
with the field of robotics was held to be more important than formal academic
training.
There was a brief discussion as to whether or not dedicated AI hardware,
rather like dedicated 3D accelerator cards, would be useful developments in the
gaming industry. While most present thought that there were some functions
which could logically be hardware based (such as the ubiquitous A* algorithm),
most felt that faster CPUs would prove to be more reliable and cheaper
solutions overall. There was widespread agreement that too much CPU
horsepower is being given over to cutting edge graphics, not surprising
considering the audience.
The last major topic concerned bringing the AI into the design process of a
game early on. Too many games are still being developed without much
consideration to the implementation of the computer opponents until very
late in the production cycle, mere weeks from shipping. While this is in some
part driven by the realities of the environment (it's difficult to build an
AI if the game infrastructure doesn't exist yet), most felt that by working
together from the beginning the AI developer and the game's producer could
build a better, more stable product. Things worked better when a developer was
also well versed in something less technical, like writing, and/or if a
producer had some programming experience under their belt.