Artificial
Intelligence Moderator's Report
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.
Thursday, May 7th
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.
Friday, May 8th
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.
Summary and Suggestions for Next Year
Our total attendance was roughly 190 this year, down a bit from last
years' 203 attendees at the three sessions. We're not sure why exactly,
though our Conference Associates reported that overall attendance was
down at all the roundtables on the last day (Friday).
During our last session we also took a poll regarding the possibility
of splitting up the roundtables next year into "AI for Dummies" and
an "AI for Experts" tracks. All three moderators noted that inexperienced
developers often were reluctant to speak in a roundtable environment
for fear of "looking dumb"; by having a session or two deliberately
aimed at the new developer we may be able to open up discussions a bit
better. Similarly, sessions designed for experienced developers could
lead to deeper exploration of some techniques that are otherwise glossed
over in a more mixed group. We're going to poll developers throughout
the next year about this idea and see what people think, but the attendees
in our Friday sessions all felt this would be a good idea.
In general, my impression was that there were more developers in the
field of AI this year than last, but that they were somewhat less experienced.
Overall attendance was down a bit but not unduly so, indicating that
the sessions remain popular with developers.