Game Development Reference
like the game's remembering button presses that occur right before land-
ing, eliminate tiny moments of frustration that appear when a button
press causes no result. Individually, they make little difference. But to-
gether, multiplied over the thousands of jumps that players perform in a
Mario game, they lifted the experience to a level beyond its competition at
the time. Mario didn't become a world-spanning mega-franchise because
of his moustache or his ability to slide through pipes. Mario made billions
because just controlling him is a joy.
These methods of enhancing control feel aren't limited to platform
games. Variations on them apply across genres—racers, fighting games,
third-person action games, shooters, and countless others all do the same
thing in a thousand different ways. Controls are given tiny dead zones or
smoothed over a few frames to eliminate noisy input. Inputs are remem-
bered for a moment if they arrive early, but thrown out if another key press
is sensed before they're executed. Combined controls are interpreted in
subtly different ways from single controls. Push a control to the max, and
it switches into a special acceleration mode where the input goes past the
usual range of values. The possibilities go on and on.
At first glance, these methods look like terrible game design. In this
topic, I've emphasized elegance and simplicity. In school, programmers
are taught to write clean, simple code. There's an intuitive sense that this
sort of massive, invisible complexity is bad.
But these methods are the exception to the principle of elegance. They
cost us a great amount to design, but they cost the player nothing because
he never senses they're there. In fact, he senses nothing at all. Because if
we do our job right, the interface vanishes.
Mario's controls are complex, but they're still dumb. They don't try to un-
derstand what the player is doing; they just apply some simple rules that
enhance the experience. In some games, this isn't enough, and we have to
assist players more intelligently.
INPUT ASSISTANCE is preprocessing done on the player's raw input.
The idea of input assistance is to intelligently guess the player's intent
and quietly nudge his input to match it. Ideally, the player never even real-
izes that he is being assisted.
Search Nedrilad ::