




|
By
Steven Woodcock
Gamasutra
CGDC Roundtable Report, April
1997
|
|

CGDC '97
Roundtable Reports

Artificial
Intelligence in Computer Games
Report #3
Approach
When Neil, Eric, and myself first came up with the idea for expanding
on the AI roundtables from the 1996 CGDC, we did it in part out of a
sense of frustration over the crowded sessions prevalent at the 1996
CGDC. We felt that the large number of sessions we proposed, spread
out over the course of the convention, would greatly increase active
participation and overall satisfaction on the part of the roundtable
attendees. As the 1997 CGDC grew closer, we realized that we could also
use these sessions to "take the pulse" of gaming AI in general by asking
two questions at each session:
- What percentage of the CPU overall
do you the AI programmer typically get for your processing?
- Who many programmers are typically
allocated on a full-time basis to build the AI?
Sunday Session, 4/27/97
There were roughly 29 people attending my first AI roundtable, with
two people leaving halfway through the discussion while two others came
in a few moments later. A wide variety of topics were discussed; I broke
the ice with the above two questions:
- CPU Percentage - Answers here
varied from 1% - 5%, with the agreed-upon average being roughly 3%
and the agreed-upon "ideal" being 10%. The general consensus was that
more and more resources are being devoted to AI than in the past.
- Dedicated AI Programmers -
Of the 29 attendees there were some 10 ongoing projects; of those
10 projects, 4 had full-time dedicated AI folks. One of those had
2 dedicated AI programmers. The general consensus was again that more
and more resources are being devoted to AI than in the past.
- Real-time vs. Turn-based -
The first big topic was the discussion of real-time games vs. Turn-based
games and the impact this had on AI processing. Most attendees agree
that real-time games took a heavy tool on AI, since the user was far
more likely to be tolerant of waiting for a computer AI to finish
its turn than to see a real-time game AI act stupidly. Command &
Conquer (of which almost all attendees were fans) was often used as
an example of a game desperately seeking a better AI, and was often
used as the example across several of the AI techniques discussed.
The topic of the impact of real-time games on game AI design was a
hot one that continued through all three sessions which I moderated.
- Planning, Goal Setting, and Cooperative
AIs - There was some brief discussion on building intelligent,
cooperative AIs that could both plan and set goals to be achieved.
We briefly touched on a technology for cooperative AIs called blackboards,
and at least one developer in the group was using blackboards for
an upcoming sports game. We discussed the intended use of blackboards
by Atomic in their Close Combat game as well as why they elected not
to use them. General consensus was that goal-setting and planning
will lend a more "realistic" flavor to AIs, while cooperative AIs
were generally only needed in RPGs where several NPCs might be interacting
with each other as well as the player.
- How Much AI Makes a Difference
& Cheating - Another topic that spurred excellent discussion
was "when is enough" in game AI, which led in part to a discussion
on when to have an AI cheat. Nearly every developer had built AIs
that cheated for one reason or another, mostly to deliver a better
gaming experience to the player. We agreed that this was perhaps the
only reason for allowing cheating, though everyone also agreed (being
engineers) that a non-cheating AI was to be preferred wherever possible.
Using Warcraft II as an example, it was pointed out that the problem
of "peon traffic jams" could be easily solvedand enhance the
players gaming experienceif the AI cheated a bit when
it detected a traffic jam. The AI could easily detect such a jam;
if the player could see the jam, then presumably he would do something,
but if the player is looking elsewhere, theres no reason why
the AI couldnt simply "teleport" some of the peons to their
destinations, thus freeing up the jam. The player likely would never
know the jam occurred, and would not feel the frustration of being
deeply involved in battle only to discover he had no resources with
which to build reinforcements due to his peon being stuck.
- Cyberlife &Artificial Life
- There was some brief discussion on both artificial life in general
and the Cyberlife technology used in the game Creatures in particular.
As I had had some regular e-mail exchanges with Toby Simpson, one
of the Creatures developers, I was asked to share some insight on
the internal technology. (Several of those present are frequent visitors
to my game AI web page, and so were aware of my admiration for the
technology in Creatures.) We discussed the possibilities of using
artificial life techniques in various games, particularly RPGs, but
as nobody present was using them we quickly moved on.
- Scalability & Adaptability
- Some discussion occurred on the topic of building AIs which could
adapt or "scale" themselves to the player as the players ability
at the game improved. Nearly everybody present built their AI from
the basis of creating the Expert AI first, then altering it as necessary
to provide Beginner and Intermediate opponents. It was generally agreed
that the best way to accomplish this was to develop the AI in an object-oriented
fashion as much as possible, so that (for example) a more capable
pathfinding algorithm might be substituted as the AI difficulty was
ramped up. Most agreed that "soft" AI technologies, such as neural
networks and genetic algorithms, offered the most potential for building
AIs which could truly adapt to the player, though this in turn spawned
a side discussion regarding whether such a thing was truly what the
player wanted. The example posed along these lines was that of a typical
game of Quake: does the player really want the enemies in Quake to
play smarter and faster, so that he always faces the possibility of
losing, or does he want to gradually get better than those enemies
so that he can always vanquish them? Which is ultimately more satisfying
for the gamer?
Monday Session, 4/28/97
The Monday session was the lightest of the three I moderated, with only
20 people attending. It stands out as the only session across the nine
with one primary focus throughout, that being artificial life (A-life)
technology in general and the Cyberlife technology used in Creatures.
This was due both to my desire to revisit the topic after its brief
discussion in the first session and the participation of Toby Simpson,
one of the developers of the Cyberlife technology:
- CPU Percentage - Answers on
Monday were somewhat higher than the previous session, ranging from
5% - 10%. The Creatures game used roughly 50% of the CPU for pure
AI; this was reasonable given its intent as a showcase of the Cyberlife
technology. The general consensus as before was that more and more
resources are being devoted to developing solid game AI.
- Dedicated AI Programmers -
Half of the attendees were dedicated AI developers for the various
projects they were working on.
- Cyberlife & Artificial Life
- This was far and away the main topic of conversation of this session,
by popular demand. My listing of the topic on the board brought up
several immediate comments, which led to discussion, and we never
(frankly) had the need to move on to any other topics.
Toby Simpson was a gracious participant and clearly understood his
topic well. After the group briefly discussed the overall possibilities
of using A-life for RPGs and strategy games, Toby was asked to discuss
the Cyberlife technology used in the Creatures game. Toby described
it as a mixture of neural nets, genetic algorithms, and fuzzy state
machines, built up over the course of several years by a number of
British researchers before being adapted into the Creatures game as
a practical demonstration of its capabilities. The AI is self-modifying
and can adapt itself over time as it interacts with the players, passing
down various traits and behaviors genetically to offspring from generation
to generation.
Toby described in detail several surprising developments that have
occurred with the Creatures AI engine as customers have reported them.
Three stand out as evidence of the power of this technology and were
the subject of much note-taking by participants:
- During the development of the game
one programmer came back from lunch to discover over 30 Creatures
running around in the game where there had been only one. Wondering
how this could happen, he then saw a Creature come into the "hatchery"
with an egg (which are randomly distributed about the environment)
and place it into the incubator until it hatched. This Creature
had learned by accident that eggs dropped in the incubator made
more Creatures, and Creatures like having friends.
- · After the game was shipped
developers witnessed what could only be described as a suicide.
Two Creatures that were best friends often wandered around the environment
together, and eventually one of them "died" of old age (they have
a life-span of roughly 50 hours). Its friend refused to leave the
body, despite increasing biological needs for sleep and food, until
it too died of starvation.
- By design, the Creatures brain
consists of roughly nine "lobes", with each lobe dedicated to a
specific aspect of the Creatures personality (emotions, learning,
etc.). A player of the game sent the developers a Creature which
had evolved two additional lobes. Examination and testing showed
that this "mutant" was slightly better than a "normal" Creatureit
learned faster and seemed somewhat more intelligent.
- After much discussion of A-life we
moved to quick discussion of cheating and the stability of rules-based
systems vs. A-life systems. It was generally agreed (though perhaps
not by Toby) that rules-based AIs were probably sufficient, if well
designed, to provide the player with a fun gaming experience. Rules-based
systems have the general advantage of making it easier for the developer
to cheat if necessary, whereas A-life systems, being something of
"black boxes", could be harder to constrain.
Tuesday Session, 4/29/97
The final session touched on a number of topics that Neil and Erics
roundtables had discussed but which hadnt been brought up in any
of my sessions. After hitting the 30 attendees up for their CPU and
dedicated programmer numbers, we then moved on to a topic obviously
inspired by the Adding Extensible Custom Languages to Game Engines session
the previous day:
- CPU Percentage - Most developers
felt that they used roughly 5% of the CPU for real-time games and
10% for turn-based games. The AI developer for the upcoming X-Com
3 reported an astounding 25% CPU utilization, easily the highest reported
in any of my sessions (barring Creatures, which is something of an
exception).
- Dedicated AI Programmers -
Roughly half of the attendees were dedicated AI developers for the
various projects they were working on. Two developers reported two
dedicated AI developers, with three others reporting one full-time
and one half-time developers.
- Extensible AIs - I began by
listing a number of topics on the board which had not yet been discussed
in any of my roundtables, and the topic of extensible AIs (that is,
AIs which are modular and easily modifiable by either the developer
of the player) was quickly seized upon by a number of participants.
Several of us had attended the Adding Extensible Custom Languages
to Game Engines session the previous day and it had obvious applications
for game AI. Quake offers a method for player-built AIs to be created
and inserted into the game via their Quake-C interface, and was often
referred to throughout the course of the discussion. Several developers
revealed that they used various forms of scripting to build and/or
control their game AIs, which one revealed that he was implementing
the AI for his game (a racing game) as a Windows .DLL file which would
be accessible to the user for modification. A lively debate ensued
when several attendees opined that an extensible AI was a sign of
poor game design, indicative of developers focusing more on graphics
than on gameplay. No consensus was reached, though several excellent
examples both pro and con were kicked around.
We also briefly visited the concept of marketability
how much does
an extensible AI add to the selling power of a game? It was generally
agreed that it made add-ons and upgrades far easier, and that it wouldnt
hurt sales and might increase them somewhat as people otherwise not
interested in the game bought it as an AI testbed. This in turn led
to a discussion of what kind of resources building an extensible AI
required in terms of manpower and game schedules. The industry-wide
pressure to "ship it now!" often makes building a "non-stupid" AI difficult,
much less an extensible one.
- Avoiding Artificial Stupidity
- An awful lot of developers were less concerned with building a smart
AI as simply building one that didnt act like a moron. The AI
in Command & Conquer was often cited as an example of the latter,
particularly the harvester bug (wherein your harvester will cheerfully
blunder into an enemy camp looking for Tiberium and get destroyed).
With very little effort (it was felt) this could have been avoided
through a number of methods ranging from influence mapping to a simple
"if youre shot at run away!" rule. A bad AI will garner much
negative press, whereas a good AI might never really be appreciated
in a multi-player game.
- Testing AI - Attendees agreed
that this was a difficult proposition, and many were looking for answers
at the roundtable. Most developers of rules-based systems used a "tournament"
approach, building several AI variations and pitting them against
each other and playtesters to see which fared best. Nearly everybody
used extensive debugging and runtime information files to dump the
AIs "thinking" process for later examination for obvious errors.
Games using A-life and other soft AI techniques (there were four developers
present building games using A-life, neural networks, or genetic algorithms)
faced a somewhat tougher testing problem, since the behavior of the
AI in these cases was often emergent rather than programmed. All agreed
that the only real way to test was playtesting, playtesting, playtesting.
- RPGs - One topic which garnered
somewhat more interest in the last session than in others was the
use of good AI for role playing games. In light of the upcoming large
online RPGs, some developers wondered how to build believable non-player
characters (NPCs) which could interact with the players intelligently.
A variety of approaches were discussed, most combinations of rules-based
on A-life. Ultima Online was brought up as an interesting example
of a quasi A-life approach backed up by careful overview of Game Moderators
to prevent things from getting too wildly out of hand.
Conclusion
By our count the total attendance at the AI roundtables this year was
201 people. We achieved our goals of increasing the number of seats
available while simultaneously increasing overall participation; the
average session size of 25 people in each of my sessions was just about
perfect in my opinion. I strongly urge and recommend that we use this
format again for next years CGDC, and I know I can speak for both
Neil and Eric that we would be happy to do this again.
|