Although games have existed for thousands
of years, the computer has greatly expanded the types of games we can play. The
computer allows us to create and interact with completely new virtual worlds
that previously existed only in our imagination. The computer is unique in its
ability to create an almost infinite variety of challenges at many different
time scales, from epic quests that take weeks to achieve, to moment to moment
action where we know that if we play just a few more minutes, we will achieve
new powers or unlock hidden secrets. The challenges usually arise directly from
our interaction with the virtual
environment, varying from the dramatic, such as struggling to leap over a
bottomless chasm, to the mundane, such as attempting to create an unbroken line
of bricks out of an unending supply of descending blocks. However, it is not
just the challenge of a human vs. the world that enthralls us; it is also the
challenge of competing and cooperating with another intellect. From the very
first computer game, Space War!, where the player
controlled a space ship and attempted to destroy another player’s ship, the
challenge has often been human vs. human. What is unique to computer games is
that we now “have the technology” to create games where the challenge of playing
against another intellect is not restricted to playing another human. Computers
cannot only create challenging environments; they can also create challenging
artificially intelligent (AI) characters (Woodcock 2000). AI characters also allow us to create
games where the challenges stem not just from competition, but also from the
social interactions with characters in populated virtual worlds. Despite the obvious connection between
AI and computer games the AI research community has only occasionally explored
games as an application area (Agre and Chapman 1987, McCarthy
1998).
In this chapter we explore the impact of
AI on computer games. We start with an examination of the different game genres:
action, role playing, adventure, strategy, simulation, sports and racing. There
are no hard and fast lines that delineate these genres, and many games straddle
multiple genres. For example, there are strategy games (Dungeon Keeper) that
allows the human to “jump into the body” of one of their units and play as if it
is an action game. Also, there are action games where you must manage resources
and multiple units (such as Battlezone). However, the genres provide a useful
organization and different genres present the player with different
environments, different challenges, and different roles for AI to enhance the
game experience. Although each genre has its distinctive characteristics, there
are some commonalities to the roles that AI plays in these genres. The
connection between the genres and roles is shown in Figure
1.
_files/image001.gif)
_files/image002.gif)
![]()
![]()
![]()
![]()
![]()
_files/image008.gif)
![]()
![]()
![]()
![]()
![]()
![]()
![]()
The second half of
this chapter examines each of the AI roles in more detail, providing historical
background on the AI techniques used for each role. For each role, we also
examine the tension that exists between overall game play and the competence of
the AI. In many cases, multiple levels of AI are needed to challenge the range
of human players who vary from novice to expert. In order to provide a
challenging opponent for human experts, the AI may finesse some of the rules
that the human must play by. For each role we also attempt to predict how AI in
games will evolve in the future as both the power of the underlying hardware
increases and we improve our understanding of artificial
intelligence.
Action
Games
“Shortly after landing on an alien
surface you learn that hundreds of your men have been reduced to just a
few. Now you must fight your way
through heavily fortified military installations, lower the city’s defenses and
shut down the enemy’s war machine.” – Quake II
Action games are one of the most popular
game genres and involve the human player controlling a character in a virtual
environment, usually running around frantically using deadly force to save the
world from the forces of evil. These games vary in the perspective that the
human has of their character, be it first person, where the human sees what the
character would see, or third-person, where the player looks over the shoulder
of the character. Popular examples include Doom, Quake (Keighley 1999), Descent,
Half-Life (Birdwell 1999), Tomb Raider, Unreal Tournament, and Halo. In pure
action games, AI is used to control the enemies, which are invariably alien
monsters or mythical creatures. Realism in graphics
has been the point of competition for these games; however, the graphics race
seems to have run its course, with better AI becoming the point of comparison.
Recent games have extended the genre so that the human player may be part of a
team, including either human or AI partners. In all cases, it is the
moment-to-moment reaction of the AI to the human that is most important so that
the AI must be tactically savvy with little emphasis on
strategy.
Role-Playing Games
“Immerse yourself in
a…world, where nations hang in the balance of your actions, dark prophecies test
your resolve, and heroic dreams can be fulfilled at last.” – Baldur’s
Gate
In role-playing games, a human can play
different types of characters, such as a warrior, a magician, or a thief. The
player pursues quests, collects and sells items, fights monsters, and enhances
the capabilities of their character (such as strength, magic, quickness, etc.),
all in an extended virtual world. Example games include Baldur's Gate, Diablo,
and the Ultima series. Recently, massively multiplayer role-playing games have
been introduced where thousands of people play and interact in the same game
world: Ultima Online, Everquest, and Asheron's Call. In all types of
role-playing games, some of AI characters play the same role of enemy as in
action games; however, role-playing games include additional characters, such as
traveling companions, shopkeepers, and villagers who increase the social aspects
of the game. These additional, supporting characters expand the requirements of
AI beyond just tactical enemies. Because of their open-ended nature, massively
multiplayer games provide an additional opportunity to use AI as a generator of
quests for human players to pursue.
Adventure Games
“Aye, ‘tis a rollicking piratey adventure
that’s sure to challenge the mind and shiver a few timbers!” – The Curse of
Adventure games, and the related genre of
interactive fiction, move even further away from action games, as they
de-emphasize armed combat and emphasize story, plot, and puzzle solving. In
these games, players must solve puzzles and interact with other characters as
they progress through an unfolding adventure that is determined in part by their
actions. Early adventure games, such as Adventure and Zork were totally text
based, but more recent games sport 3D graphics (sometimes using the graphics
engines developed for action games). Example games include the Infocom series,
King's Quest, and many games from Lucas Arts, such as Full Throttle,
Strategy Games
“Players must successfully construct and
rule their medieval empire while engaging in real-time tactical warfare over
land, sea, and air.” – Warcraft
In strategy games, the human controls
many units (usually military units, like tanks, or the ever present alien war
machines) to do battle from a god's eye view against one or more opponents.
Strategy games include reenactments of different types of battles: historical
(Close Combat, Age of Empires), alternative realities (Command and Conquer),
fictional future (Starcraft), and mythical (Warcraft, Myth). The human is faced
with problems of resource allocation, scheduling production, and organizing
defenses and attacks (
Simulation Games
“You’re in charge of
creating an entire city from the ground up – and the sky’s the limit.” – SimCity
3000
Simulation games give
the player god-like control over a simulated world. The human can modify the
environment and, to some extent, its inhabitants. The entertainment comes from
observing the effects of his or her actions on individuals, society, and the
world. SimCity is the classic example of a simulation, or god game, where the
human acts as mayor and the AI controls individual units or citizens of the
simulated city. The Sims and the game Black and White are probably the most
intriguing examples. In theses games, the player creates individual characters
(units) that have significant autonomy, with their own drives, goals, and
strategies for satisfying those goals, but where God (the human player) can come
in and stir things up both by managing the individual characters and their
environment.
Sports
“Welcome to Madden
NFL 97, the game that captures the excitement of a 30 yard touchdown pass, the
strategy of a well executed scoring drive, and the atmosphere of a crisp autumn
afternoon in the stadium.” – Madden NFL 97
Sports games cover almost every sport imaginable, from traditional
team sports such as football or baseball, to individual sports, such as Olympic
events. Many of the individual sports fall under racing games, such as car
racing, boat racing, or snowboarding, and these are covered in a separate genre
below. Team sports games have the human play a combination of coach and player
in popular sports, such as
Racing Games
“Gran Turismo 3 delivers the most
realistic racing experience. Customizable vehicles handle different due to
differences in horsepower, ride height, tire type or vehicle mass, just to name
a few variables.” – Gran Turismo 3
There are computer-racing games for
almost any vehicle or platform that a human can climb on: cars, trucks,
motorcycles, boats, planes, skates, skateboards, and snowboards. Some of the first computer games
involved racing cars, avoiding obstacles, and trying to beat a computer or human
opponent. In racing games, the computer provides a simulation of a sport from a
first or third-person perspective. The human player controls a participant in
the game who competes against other human or computer players. The AIs for a
racing game are in a class by themselves because the goal in a racing game is so
simple – stay on course and be the fastest to the finish
line.
Across these genres, AI
is used in a variety of ways. One might be tempted to think that an AI should
always be constructed to model a human player as accurately as possible.
Sometimes that is appropriate, but as we review each of the roles an AI
character can play, we will see that often human-like behavior must be
sacrificed because human-like behavior is still beyond the state of the art or
because the game is more fun without it. In computer games, the real goal of the
AI character is to enhance gameplay and most of the time that entails being an
opponent that fights up until then end and then loses.
Tactical Enemies and
Partners
In action games, the main thrill is
destroying the bad guys and, except for multi-player games, the bad guys are
controlled by the computer. In early action games, the computer-controlled
enemies did little more than shoot widely and run directly at the player. The
enemies were challenging, not because of the complex tactics they used, but
because of their superior numbers. Initially, some tactical enemies overcome
their limited intelligence by “cheating”, such as having the ability to see
through walls or out of the back of their heads.
Navigation was not an issue in early
games because the enemies were placed in locations that the human player had to
traverse and the AIs could just run at the human. When navigation is required,
it is done via nodes that are placed in the world that the AIs can see, but are
invisible to the human player. The AI moves from node to node, whose placement
guarantees that the AI will not have to dynamically avoid obstacles. Usually a
level designer places the nodes by hand, although recently some games have
software that automatically generates nodes. Nodes are used for more than pure
navigation, with some nodes being marked as places for sniping or ambushing. In
addition to following nodes, the AIs also are also able to interact with the
items in their world, such as picking up weapons, ammo, or health powerups. In
some games, the AI will have complex responses to player actions, such as
picking up a grenade that has been thrown their way and throwing it back at the
human player (Return to Castle Wolfenstein). Some tactical enemies will use
cover during reloading to avoid being easy targets.
There is a continual tension between
making the enemies more realistic and maintaining the game play experience. For
most of these games, the human player fights against tens or hundreds of
opponents, and if the AI opponent had anything close to the human’s
capabilities, the game would be impossible. The AI must be challenging and then,
because of some failure or mistake, die gracefully before the onslaught of the
human player. For example, in the game Deus Ex, the enemy AI characters have
realistic models of a human’s limited field of view, and must detect the player
by “hearing” the sound of footsteps, door openings, etc. Thus, these characters
react to their environment much the way a human would. But if the AI characters
use this information to the fullest to hunt down the human, the player would be
“toast.” To keep the realism high but still allow the player to win, the AI
characters always give their position away by talking or making noise when they
hear or see a glimpse of the player, saying such witty comments as “What was
that?” or “Who goes there?” This alerts the player to the presence of the
enemies, giving the player a chance to get that all-important first shot in.
Moreover, the enemy characters always
miss on the first couple shots, which further helps the
human player beat the AI enemy.
In most actions games, there is a
multiplayer mode where it is every player – human or computer – fighting for
itself. In these cases, the computer enemies should be
as challenging as a human without obvious faults or disadvantages. It is easy to
make the computer enemies challenging by giving them superhuman reaction times
and aiming skills. Playing against these types of enemies forces the human
player to adopt tactics that don’t necessarily transfer to playing against other
humans. Our own research (Laird and van Lent 1999; Laird 2000b) has concentrated
on building enemies for Quake II that have the same strengths and weaknesses as
human players. To beat them, you have to out-think them as much as you have to
out-shoot them. Our Soar Quakebot is essentially a real-time expert system that
has multiple goals and extensive tactics and knowledge of the game. It is built
within the Soar architecture and has over 800 rules. While exploring a level, it
creates an internal model of its world and it uses that model in its tactics, to
collect nearby weapons, ammo, and health, to track down an enemy, and to set
ambushes. It also tries to anticipate the actions of human players by putting
itself in their shoes (creating an internal model of their situation garnered
from its perception of the player) and projecting what it would do if it were
the human player. This changes the game from one of always trying to just get
off the first shot, to a more strategic game of predicting the opponent’s
behavior, and at the same time, avoiding being too predictable
yourself.
Building human-level enemies for these
games requires solving many general AI problems and integrating the solutions
into coherent systems. The enemies must be autonomous. They must interact with a
complex dynamic environment, which requires reactive behavior, integrated
planning, and common sense reasoning. As they advance, they will also need
models of high-level vision that have the same strengths and weaknesses as
humans. For example, if the human were in a dark room, the AI would be cheating
if it could easily sense, identify, and locate the human. However, if the human
is backlit by a bright hall, the AI enemy should easily sense and locate the
human, but possibly not identify him. This is important for game play so that
the same tactics and behaviors that work well with humans work well with AI
enemies.
There are many other aspects of AI that
are important to building intelligent enemies. Because of the extended geography
of the environment, they must navigate, use path planning, spatial reasoning,
and temporal reasoning. As the games become more complex, the AI will need to
plan, counter-plan, and adapt to the strategies and tactics of its enemies,
using plan recognition, opponent modeling techniques, and learning. Their
responses need to be within the range of humans in terms of reaction times and
realistic movement. One can even imagine adding basic models of emotions, where
the enemies get “mad” or “frustrated” and change their behavior as a
result.
Although the emphasis in many games is
fighting against the computer, some
games provide the player with teammates that help them fight against the
overwhelming odds. Creating AI controlled partners involves many of the same
research issues as tactical enemies.
However, while enemy AIs emphasize autonomy, AI partners emphasize
effortless cooperation and coordination between the human player and the AI
partner. Current games restrict the human to using specific commands to interact
with partners, such as defend, attack, and follow me - commands much more
limited than used in human-to-human interactions. In the extreme, this brings
speech recognition, natural language processing, and even gesture recognition
into the mix of future research issues that will need to be incorporated into
computer games. The partner AI must coordinate its behavior, understand
teamwork, model the goals of the human, and adapt to his style. Creating such
partners can build on previous research in these areas, but must embed it within
the context of all of the other cognitive activities involved in playing the
game.
Support Characters
In adventure and role-playing games,
support characters fill out the game world with interesting people for the
player to interact with. Support
characters are the merchants you buy equipment from, the tavern drunks you learn
key clues from, the guard you must convince to unlock the gate, and the damsel
in distress. While they are some of the least sophisticated AI characters in
today’s computer games, they have the most promise to improve games and are the
most interesting in terms of developing human-level AI. Today’s support
characters are very limited in their interactions with the player and very scripted in their behavior. Conversations with the
player take the form of canned speeches by the support characters, usually text
with corresponding voice-overs, interspersed with decision points at which the
player can affect the direction of the conversation. Decision points present the player with
a short list of phrases from which to choose their next utterance. The behavior of support characters is
generally limited to a looping animation with a few scripted action sequences
that are triggered by the player’s actions. So, the support characters stand in one
place, continually chopping wood or drinking from their mug of ale, until the
player initiates an interaction.
During the scripted interaction the support character may gesture to
emphasize a point or even walk a short distance to hand the player an
object. Once the interaction is
over, the character returns to his or her looping behavior.
In a few games, such as in Blade Runner
(Castle 1998), the support characters have some limited autonomy and some simple
goals, but they are extremely narrow goals supported by limited sets of
behaviors. Unfortunately, most game
developers aren’t as interested in improving support characters as they are in
improving AI for the other roles.
The popularity of adventure games seems to be temporarily ebbing and,
with the advent of massively multiplayer role-playing games, human players are
filling the role of support characters in role-playing games. However, recent
advances in research on human-computer interaction, social intelligence, and
natural language interfaces may provide interesting new approaches to the AI for
support characters. This is
promising area for AI research because, if done well, they will allow the
characters in the game to interact socially with the player. One reason today’s games are so violent
is the lack of sophisticated support characters. Shooting at the player requires less
complex AI than talking to the player.
Socially intelligent support characters will help populate the games with
interesting opportunities for interaction that guide the player along various
plot lines. Each character will
have a set of goals and beliefs about the world that the player must discover
and utilize to obtain the assistance of that character. Perhaps after a long and harrowing quest
the player will discover that the princess doesn’t want to be rescued and the
final challenge is resolving her conflicts with her father, the King.
Since these characters will exist in a
virtual world and play the role of humans in that world, they provide a useful
first step in research towards human-level AI (Brooks at al 1999, Laird and van
Lent 2001). Support characters must interact with and adapt to the environment,
to human players and to other support characters. They must provide human-like responses,
including realistic movement (Hayes-Roth and Doyle 1998), personality, emotions,
natural language understanding and natural language generation. In order to do
all this, and because these support characters most directly play the role of
embodied virtual humans, they require a wide range of integrated AI
capabilities.
Strategic Opponents
The
tasks a strategic opponent performs can be divided into two categories:
allocating resources and issuing unit control commands. In the popular
real time strategy game Age of Kings, for example, resources include food, gold,
wood, and stone and are gathered from specific points on the map. Once gathered, these resources are used
to build a wide variety of units, such as militia, archers, knights, ships, and
workers, and buildings, for example barracks, farms, walls, monasteries, and
universities. Tailoring the
allocation of resources to simultaneously support cultural development, defense
and offensive is half of the strategic opponent’s job. The other half of the job is to develop
offensive and defensive strategies and command the units that have been produced
to implement those strategies.
Units can be ordered to move in a variety of formations, attack enemy
units and buildings, defend friendly units or buildings, and perform a number of
special actions. For example, monks
can convert enemy forces so they change sides. Strategy games almost always include
non-military units that are used to gather resources, build new buildings, and
repair damaged buildings. The
resource allocation and unit control tasks cannot be controlled
independently. The type of
resources gathered and how they’re spent must be guided by the needs of the
strategic opponent’s unit control strategy. Similarly, the unit control strategy
must take into account the available resources to avoid selecting a strategy
that requires unavailable resources.
Strategic
opponents are also found in team sports games. Acting as the coach of the opposing
team, the strategic opponents is again faced with the tasks of allocating
resources and issuing unit control commands. In a
In the past, most game developers resorted to static,
pre-defined strategies and “cheating” to minimize the demands on the strategic
opponent. The artificial intelligence for the strategic opponents
generally took the form of a single hard-coded strategy created by the game
designer when the game level was created.
For real-time strategy games this would be a single attack plan, usually
a mass frontal assault, executed periodically (for example every 10 minutes)
with no regard for the human player’s behavior. As with tactical
opponents, these strategic opponents were designed to allow the human to win
after a close and entertaining battle.
Often this design goal was explicitly programmed into the strategic
opponent’s behavior. If the
periodic attacks threatened to wipe out the human player the strategic opponent
would reduce the attacking force accordingly. Based on the belief that human players
would lose interest after 40 minutes of game play, at least one game company
programmed the strategic opponent to destroy most of its own forces after 35
minutes of play. These behaviors
gave the human player the perception that they had barely survived the strategic
opponent’s desperate, last-ditch attack and as a result conquered the undefended
base. In sports games, the
strategic opponent often utilized a fixed sequence of plays or would randomly
selected plays from the play library. Because most strategic opponents
relied on a fixed strategy, they were predictable and easily beaten once their
weaknesses were found.
To
implement these pre-defined strategies the strategic opponents usually cheated
in a number of ways. One form of
cheating allowed the creation of extra units or resources from nothing to
support the periodic attacks. Another form of cheating gave the strategic
opponent complete knowledge of the map and the locations of the player's forces.
This freed the strategic opponent from exploring the map and scouting the enemy
to obtain this information. In most cases, players eventually detected
that the strategic opponents were cheating, which destroyed the illusion that
they were matching wits with a military genius or famous coach.
More
recent strategic opponents have become more sophisticated. In many cases
cheating has been reduced or eliminated. As the players demand more varied
opponents, game developers have given strategic opponents a library
of
strategic plans from which to choose. In strategy games this library may
consist of a small number of hard-coded attack strategies from which the
strategic opponent selects. By selecting a strategy that corresponds to
the human player's plan, the strategic opponent can use its resources more
effectively and require fewer cheat-provided resources. In addition,
better path planning algorithms has made it much easier to include exploring and
scouting as part of the strategic opponent's behavior. Recent sports games
are going a step further by detecting patterns in the human player's behavior
and giving the strategic opponent the ability to take advantage of these
regularities. An AI who reacts to the player's behavior results in a more
challenging and entertaining strategic opponent. In addition, it reduces
the chance that the player will find and exploit weaknesses in the strategic
opponent.
In the future, strategic opponents may be able to create
new strategies specific to the opponent and situation. This will involve
integrated planning, common sense reasoning, spatial reasoning, plan
recognition, and counter-planning. One of the most important aspects of strategy
creation is the coordination of multiple types of units into a cohesive
strategy. Once a
plan is created, the strategic opponent must determine how
to best use limited resources to compose offensive and defensive forces
appropriate to implementing the plan. This resource allocation can involve
scheduling, constraint satisfaction, and temporal reasoning.
Units
In both strategy games
and team sports games, the strategic opponent implements a strategy by issuing
commands to a large number of units that make up their force. For example, in strategy games the
strategic opponent issues orders to worker units and military units. Commands to worker units specify what
type of building to build or what type of resources to gather and from which
site. Military units might be
commanded to attack an enemy unit, defend against attack, or patrol along a
specified path. In both cases some
intelligence is required on the part of the unit to carry out the strategic
opponent’s orders. The units must
be able to plan a path, follow it to a selected location and react to changes in
their local environment such as the appearance of enemy units or depletion of
resources.
In a team sports game
the strategic opponent might select a play or strategy for the entire team. That strategy defines a role and/or
approximate path for each player involved in the play. As with strategy games, the individual
units (players) must plan and follow paths and react to the opposing units. Because there is more variation between
players than between military units (at least in a strategy game context), team
sports games tend to place more of the decision-making responsibility on the
units. Returning to the football
game example, the coach specifies a general play that may have a number of
options when executed. The unit
players, especially the quarterback, must decide which of these options to
select, which receiver to throw to or which running lane to take, on the fly as
the play unfolds. As with strategic
opponents, units in sports games must conform to the user’s knowledge of the
style of the player that that unit represents.
Initially the primary
focus of artificial intelligence development for units was path planning. Tens or hundreds of units are
often active at the same time and calculating a path for each unit to its goal
around environmental obstacles is a computationally expensive procedure. Borrowing from the AI research
community, game programmers discovered that the A* search algorithm is a
powerful and efficient way to calculate these paths. To this day variations on the A*
algorithm are still the primary path planning technology used in the game
industry. A* is effective in
avoiding static obstacles but dynamic obstacles, such as other moving units,
still present a problem.
Recalculating each unit’s path every time step to avoid all the other
units is simply too expensive. As a
result, early strategy games exhibited frequent traffic jams at bottlenecks when
groups of units moved together.
This was often overcome by allowing units to pass through each other
avoiding unit collision and moving obstacles altogether. In these early strategy games units
typically ignore enemy units they discover unless explicitly ordered to attack
them. These two problems could
cause armies to get strung out due to a bottleneck and then parade past a single
enemy unit allowing it to destroy the whole army.
In more recent strategy games, units can
be given commands defining how to react to enemy units. A unit set to attack may attack and
follow any enemy it comes across until it kills or is killed. When set to defend, however, the unit
might attack the enemy unit but would not follow it. These different behavior strategies are
supported by a finite state machine that controls how the unit selects actions
to execute a command. The different
settings (attack, defend…) simply modify the transitions within that unit’s
finite state machine. Another
recent advance allows groups of units to move in formation. The player selects a group of units and
specifies a formation. The units
will then automatically organize themselves into that formation with different
types of units in appropriate places.
For example, a group of swordsmen and archers will organize themselves in
a box formation such that the archers are on the inside protected by the
swordsmen around the perimeter.
Once in formation the units will move as a group and try to avoid
breaking formation. Formation
organization and moving in formation requires some advanced path planning,
teamwork, and careful scripting on the game developer’s
part.
As strategy games and
team sports games continue to advance the units in these games will continue to
become more autonomous. The level
of unit autonomy must be carefully balanced to allow users to maintain strategic
and tactical control over their units while eliminating the tedious
micro-management of each unit. The
move towards grouping units into formations and issuing group commands is a
first step in this direction.
Future areas of research for unit-level AI include case-based reasoning,
teamwork, distributed planning and execution, and, as always, path
planning. Since there can be
hundreds of units active in a game at one time, the issues of computational and
memory overhead are particularly important for unit AI (Atkin et al.
1999).
Racing
Opponents
Opponents for racing games are some of
the most pure applications of artificial intelligence in games. The AI must
travel over a course, controlling a vehicle (which could be a car, a boat, a
plane, or even a snowboard). The most primitive and earliest opponents for
racing games followed a predefined circuit around the course at a set speed –
they were essentially the rabbit that the greyhounds/players chase around the
course. They were oblivious to the physics of the world so they could move in
ways and at speeds that were impossible for the human player to match. A simple
extension to make them appear more realistic was to vary their speeds at
predefined places around the course, such as slowing down in curves or over
rough terrain and then speeding up in straight-aways.
The next step was to have the
AI-controlled vehicles obey the same physics as the players’ vehicles, so they
would spin out or crash if they took a corner too fast and more generally have
to race following the same rules as a human player. Controlling a vehicle can be
quite complex, requiring the integration of domain-dependent planning to
determine where the vehicle should attempt to be a few seconds from now using
the appropriate tactics, real-time execution to attempt to get to that position,
and real-time reaction to
respond to the movements of other vehicles. To avoid these complexities,
the AI for racing opponents almost invariably follows a recorded trace of the
behavior of a human player. It is as if there is a line on the course that tells
the AI where to go, what speed to use, and possibly any special maneuvers that
should be performed.
Using a trace of human behavior solves
some of the problems. However, racing games inevitably involve reacting to
changes in the environment: another vehicle may be in the way and must be
avoided, a powerup (an object that gives the racer special powers, such as
enhanced speed or repairs to injuries) may appear, or the vehicle may be pushed
off onto an alternative part of the course and need to switch to a new path.
Thus, one of the complexities in using human traces is
knowing how to balance blind trace following with pursuing dynamic goals
that arise during the race. Usually there will be a set of pre-specified cues
that establish the behaviors that respond to the dynamic events and then once
those behaviors are complete, the AI returns to following the
trace.
Creating opponents whose behavior is
based on human traces also makes it easy to create a variety of opponents at
different skill levels with different styles – just record different humans with
these different characteristics (or if you are on a restricted budget, a single
human pretending to have different styles). In the limit, the behavior of
world-famous expert racers can be recorded – similar to using motion capture for
signature moves in sports games.
The different skill levels are an
important part of making a racing game fun to play. If a human player must start
out against an expert, he will be soundly beaten. Conversely, if there are only
easy opponents to race against, the human player will quickly become bored as he
gains experience. Although AI opponents with multiple skill levels is a
successful and probably the dominant approach, it does require that the human
continually choose the right level of competition – there will inevitably be
races in which the human finds himself either far behind or far ahead of the AI
competition. An alternative is to try to make every race a nail biter where the
human always has a chance to comeback and win, no matter what mistakes they made
early on. Moreover, if they have a great race, they are challenged up until the
end. To provide this, many racing games have “rubber banding”, where the AI
systems slows down if it gets too far ahead and speeds up if it gets too far
behind. Thus, the player is always in the heat of a race, and if the player has
a strong finish, he will win.
What can we expect in the future for racing AIs? Racing AIs already provide excellent competition (some even including taunts during the race) but we can speculate that many future racing games will require AIs that can race over novel or dynamic terrain, where it is infeasible to create human traces for all of the possible paths. These AIs will probably incorporate limited planning where they analyze the course in front of them and pick a path and speed based on knowledge of the terrain they must traverse, performance characteristics of their vehicle, and its predicted interaction with the race course. Such reasoning is inherently more computationally intensive than current approaches, but as both consoles and PCs continue to marshal more and more processing power, the AI will get enough computational resources to use more complex approaches.
Commentators
One of the more unusual
roles for AI in computer games is to simulate the play-by-play reporting during
a sports game by having one or more computerized commentators. The role of the
commentator is to observe the actions of the AI and the human and generate
natural language comments suitable to describe the action (Frank 1999). Although
not necessary for the competitive aspects of the game, game players seem to
enjoy having the background patter that highlights their successes and failures.
Many sports games take their commentators very seriously, using established
commentators, such as John Madden, to not only provide the play-by-play, but
also to market the games. Hours of commentary is recorded and then played at the
appropriate times during the game.
Good commentary is extremely difficult because, not only does it report
on the specific action in the game, but it relates that action to current state
of the game (where the ball is on the field, who is ahead, by how much, how much
time is left in the game…) and the teams’ goals, often with a comment on the
wisdom of the play selection. Thus, the exact same play can be a good call at
one point in the game, but be a huge mistake in another. For example, in U.S.
football, if time is running out in the game and a team is behind by four points
with the ball on the opponent’s 20 yard line, with fourth down and 8 yards to
go, the player might call a pass play in an attempt to win the game, and the
commentators should acknowledge that he is forced to do this. If the player
attempts to kick a field goal, that won’t help win the game and the player
should be chastised. However, if
time is running out in the first half (but not the game), and a team is up by
seven point, with the ball still on the opponent’s 20 yard line with fourth down
and 8 yards to go, the commentators should comment that the player is taking a
huge risk by calling a pass play, but laud the human player if he attempts a
field goal. The difficulties in
creating good commentary are further complicated by the need to avoid
repetition, which is difficult because to obtain high quality in the speech
production, all of the phrases are pre-recorded. There is nothing like hearing
the same exact phrase more than once in a game to destroy the suspension of
disbelief.
Conclusion
The focus of this chapter is the
different roles AI plays in today’s game genres. However, game developers are constantly
searching for the next innovation that will revolutionize the industry. An example of this is the recent
appearance of massively multiplayer online games, now the fastest growing game
genre. New genres and new roles in
existing genres will provide new opportunities for AI. AI story directors might construct
stories on the fly giving the player unlimited freedom in the game world. AI opponents might use fast planning
algorithms to detect weaknesses in the player’s defenses and create novel
strategies and/or tactics specifically designed to exploit those
weaknesses. Developers may teach,
rather than program, AI opponents that learn to play the game and learn to adapt
to the strengths and weaknesses of different players. Conversely, new advances in AI can open
a door to new game genres and even new game paradigms (Stern 1999). For example, speech recognition, natural
language understanding, and speech generation could lead to a new class of games
played via cellphone.
The existing roles for artificial
intelligence, as well as future roles, share a common goal of providing the
human player with an entertaining experience. Success, and profitability, requires
careful balancing of a number of factors.
The AI opponents must challenge the player while still allowing the
player to taste victory. The AI
characters must be believable with personality and a rich range of behaviors
while still fitting into a game developer’s budget and schedule. The AI enemies must be cunning and
crafty in their tactics while still reacting in factions of a second.
Fortunately for gamers, game developers
only need concern themselves with the results, or external appearance of
believability, of the AI.
Shortcuts, cheats, and other smoke and mirror techniques abound in
commercial game development. In
some cases, such as strategic opponents, the players discover the cheats. However, in most cases the players only
see the resulting behavior that makes games so entertaining. With the goal of discovering the
foundations and inner workings of intelligent behavior, AI research pays as much
attention to the realism of the process as the realism of the result. With a few exceptions, game developers
have generally found the techniques used by the research community to be too
costly in terms of processor and memory demands. However, with the power of computers
increasing almost daily and AI’s new prominence as a point of competition for
games we believe AI research will soon play a role in commercial computer games
(Laird 2000a, Takahashi 2000)
Acknowledgments
The authors are indebted
to the many students and staff who have worked on the Soar/Games project, most
notably Steve Houchard, Karen Coulter,
Mazin Assanie, Josh
Buchman, Joe
Hartford, Ben Houchard, Damion Neff, Kurt
Steinkraus, Russ Tedrake, and Amy Unger. Thanks
to Doug Church and Lars Liden for educating us on AI
and commercial computer games.
References
Agre, P.
E. and Chapman, D. 1987. Pengi: An implementation of a theory of activity, In
Proceedings of AAAI-87,
268-272, AAAI Press.
Atkin, M.
S., Westbrook, D. L., and Cohen, P. R., 1999. Capture the Flag:
Military Simulation Meets Computer Games. In Papers from the AAAI 1999 Spring
Symposium on Artificial Intelligence and Computer Games, Technical Report
SS-99-02, AAAI Press, 1-5.
Birdwell, K. 1999. The
CABAL: Valve's Design Processing for Creating Half-Life. Game Developer.
6(12):40-50.
Brooks, R. A., Breazeal. C., Marjanovic, M., Scassellati, B.,
and Williamson, M. 1999. The Cog Project: Building a Humanoid
Robot.
Castle, L. 1998. The
Making of Blade Runner, Soup to Nuts! In Proceedings of the
Computer Game Developers' Conference, Long Beach, CA,
87-97.
Frank,
Hayes-Roth, B. and
Doyle, P. 1998. Animate Characters. Autonomous Agents and Multi-Agent
Systems, 1(1):195-230.
Keighley, G. 1999. The Final
Hours of Quake III Arena: Behind Closed Doors at id Software, GameSpot, http://www.gamespot.com/features/btg-q3/index.html.
Laird, J. E.
2000a. Bridging the Gap Between Developers and Researchers. Game Developer, 7(8), p.
34.
Laird, J. E.
2000b. It Knows What You’re
Going To Do: Adding Anticipation to a Quakebot. In
Papers from the AAAI 2000 Spring Symposium on Artificial Intelligence and
Interactive Entertainment, Technical Report SS-00-02, 41-50. AAAI Press.
Laird, J. E. and van
Lent, M. 1999. Developing an Artificial Intelligence
Engine. In Proceedings of the Game Developers
Conference,
Laird, J. E. and van
Lent, M. 2001. Interactive Computer
Games: Human-level AI’s Killer Application. AI Magazine, 22 (2):
15-25.
McCarthy, J. 1998.
Partial Formalizations and the Lemmings Game,
http://www-formal.stanford.edu/jmc/ lemmings.html
Stern, A.
1999. AI
Beyond Computer Games. In Papers from the AAAI 1999 Spring Symposium
on Artificial Intelligence and Computer Games, Technical Report SS-99-02,
77-80. AAAI Press.
Takahashi, D. 2000.
Artificial Intelligence Gurus Win Tech-Game Jobs.
The Wall Street Journal,
Whatley, D. 1999. Designing Around Pitfalls of Game AI. In
Proceedings of the Game Developers Conference,
Woodcook, S. 2000. Game AI: The
State of the Industry. Game Developer, 7(8), 24-32.