|
Last
week in Part
One of this article, Steven Woodcock took inventory of the current
state game AI, based on the roundtables he led at the 2000 Game Developers
Conference. Now in Part Two, Ensemble Studios' Dave Pottinger looks
at what the future holds for game AI, and University of Michigan Professor
John E. Laird discusses bridging the gap between AI researchers and
game developers.
As I slowly
reclined back into the seat of the last E3 bus this spring, I was certain
of two things: some really great games were coming out in the next year
and my feet hurt like hell. A lot of the games that created a buzz featured
excellent AI.Since my fellow Ensembleites assured me (repeatedly) that
no one really cared to hear about my feet, I thought I'd use this space
to talk about some of the games coming out in the next 18 months and
the new and improved AI technology that will be in them.
Better
AI Development Processes and Tools
AI has
traditionally been slapped together at the eleventh hour in a product's
development cycle. Most programmers know that the really good computer-player
(CP) AI has to come at the end because it's darn near impossible to
develop CP AI until you know how the game is going to be played. As
the use of AI in games has matured, we're starting to see more time
and energy spent on developing AI systems that are modular and built
in a way that allows them to be tweaked and changed easily as the gameplay
changes. This allows the AI development to start sooner, resulting in
better AI in the final product. A key component in improving the AI
development process is building better tools to go along with the actual
AI.
For Ensemble's
third real-time strategy (RTS) game, creatively code-named RTS3, we've
spent almost a full man-year so far developing a completely new expert
system for the CP AI. It's been a lot of work taking the expert system
(named, also creatively, XS) from the in-depth requirements discussions
with designers to the point where it's ready to pay off. We've finally
hit that payoff and have a very robust, extensible scripting language.
 |
Interesting
new entity AI features will be a key component in Cataclysm.
|
The language
has been so solid and reusable that, in addition to using it to write
the CP AI content, we're using it for console and UI command processing,
cinematic control, and the extensive trigger system. We also expect
to use XS to write complicated conditional and prerequisite checking
for the technology tree; this way, the designers can add off-the-wall
prerequisites for research nodes without programmer intervention. Finally,
we will also use the XS foundation to write the script code that controls
the random map generation for RTS3. The exciting aspect of XS from a
tools standpoint is that we will have XS debugging integrated with RTS3's
execution. For fans who used the Age of Empires II: The Age of Kings
(AoK) expert-system debugging (a display table of 40 or so integer values),
this is a huge step up, since XS will significantly increase the ease
with which players can create AI personalities.
Better
NPC Behavior
In the
early days of first-person shooters, non-player characters (NPCs) had
the intelligence of nicely rounded rocks. But they've been getting much
better lately -- look no further than Half-Life's storytelling
NPCs and Unreal Tournament's excellent bot AI. The market success
of titles such as these has prompted developers to put more effort into
AI, so it looks as if smarter NPCs will continue to show up in games.
Grey Matter
Studios showed some really impressive technology at E3 with Return
to Castle Wolfenstein. When a player throws grenades at Nazi guards,
those guards are able to pick up the grenades and throw them back at
the player, adding a simple but very effective new wrinkle to NPC interactivity.
A neat gameplay mechanic that arises out of this feature is the player's
incentive to hold on to grenades long enough so they explode before
the guards have a chance to throw them back. Thankfully, Grey Matter
thought of this and has already made the guards smart enough not to
throw the grenades back if there's no time to do so.
 |
Watch
out for those tricky grenade-throwing guards when you get off
of the gondola in Return to Castle Wolfenstein.
|
More developers
are coupling their AI to their animation/simulation systems to generate
characters which move with more realism and accuracy. Irrational did
this with System Shock 2 and other developers have done the same
for their projects. The developers at Raven are doing similar things
with their NPC AI for Star Trek: Elite Force. They created a
completely new NPC AI system that's integrated into their Icarus animation
system. Elite Force's animations are smoothly integrated into
the character behavior, which prevents pops and enables smooth transitions
between animations. The result is a significant improvement to the look
and feel of the game. I believe that as the use of inverse kinematics
in animation increases, games will rely on advanced AI state machines
to control and generate even more of the animations. As a side benefit,
coupling AI to animation gives you the benefit of more code reuse and
memory savings.
Better
Communication Using AI
Since
the days of Eliza and HAL, people have wanted to talk with their computers.
While real-time voice recognition and language processing are still
several years off, greater strides are being made to let players better
communicate with their computer opponents and allies.
For example,
in our upcoming Age of Empires: The Age of Kings expansion pack,
The Conquerors, we've enabled a chat communication system that
lets you command any computer player simply by sending a chat message
or selecting messages from a menu. Combined with AoK's ability
to let you script your own CP AI, this lets you craft a computer ally
that plays on its own and lets you have conversational exchanges with
it in random-map games. This is a small step toward the eventual goal
of having players talk to their computer allies in the same way as to
humans. Unfortunately, we still have to wait a while for technology
to catch up to our desire.
|