action selection and with Tinsley Galyean in [Blumberg 95] discussed the design for a VR
character capable of both autonomous improvisation and response to external direction. One
application of these characters was in the ALIVE system [Maes 95] by Patties Maes et al. The
Improv system by Ken Perlin and Athomas Goldberg [Perlin 96] also covers the gamut from
locomotion to action selection, but uses a unique approach based on behavioral scripting and
Perlin’s 1985 procedural synthesis of textures [Perlin 85] applied to motion. James Cremer
and colleagues have created autonomous drivers to serve as “extras” creating ambient traffic
in interactive automobile driving simulators [Cremer 96]. Robin Green (of Bullfrog/EA) has
developed a mature system for autonomous characters used in Dungeon Keeper 2 which was
inspired in part by an early draft of this paper. Dave Pottinger has provides a detailed
discussion of steering and coordination for groups of characters in games [Pottinger 1999].
Locomotion
Locomotion is the bottom of the three level behavioral hierarchy described above. The
locomotion layer represents a character’s embodiment. It converts control signals from the
steering layer into motion of the character’s “body.” This motion is subject to constraints
imposed by the body’s physically-based model, such as the interaction of momentum and
strength (limitation of forces that can be applied by the body).
As described above, a cowboy’s horse can be considered as an example of the locomotion
layer. The rider’s steering decisions are conveyed via simple control signals to the horse who
converts them into motion. The point of making the abstract distinction between steering and
locomotion is to anticipate “plugging in” a new locomotion module. Imagine lifting the rider off
of the horse and placing him on a cross-country motorcycle. The goal selection and steering
behavior remain the same. All that has changed is the mechanism for mapping the control
signals (go faster, turn right, ...) into motion. Originally it involved legged locomotion (balance,
bones, muscles) and now it involves wheeled locomotion (engine, wheels, brakes). The role of
the rider is unchanged.
This suggests that with an appropriate convention for communicating control signals, steering
behaviors can be completely independent of the specific locomotion scheme. Although in
practice it is necessary to compensate for the “agility” and different “handing characteristics” of
individual locomotion systems. This can be done by adjusting tuning parameters for a given
locomotion scheme (which is the approach taken in the steering behaviors described below) or
by using an adaptive, self-calibrating technique (the way a human driver quickly adapts to the
characteristics of an unfamiliar automobile). In the first case a steering behavior might
determine via its a priori tuning that the character’s speed in a given situation should be 23
mph, in the second case it might say “slow down a bit” until the same result was obtained.
The locomotion of an autonomous character can be based on, or independent from, its
animated portrayal. A character could be represented by a physically-based dynamically
balanced simulation of walking, providing both realistic animation and behavioral locomotion.
Or a character may have a very simple locomotion model (like described in the next section) to
which a static (say a spaceship) or pre-animated (like a human figure performing a walk cycle)
portrayal is attached. A hybrid approach is to use a simple locomotion model and an adaptive
animation model, like an inverse-kinematics driven walk cycle, to bridge the gap between
abstract locomotion and concrete terrain. Finally, locomotion can be restricted to the motion