2, Issue 13
February 25, 2000
Making the Outdoors
back, after a long delay, to Beaker’s Bent. It’s been two months
since my last column, where I started to describe some of the
techniques I’ve built up over the years for making realistic outdoor
environments. Hopefully no aspiring designers of outdoor environments
have been forced into anything drastic out of frustration while
waiting for this new installment. At any rate, they can relax
now as I divulge some details about the geometry of outdoor environments.
I discussed texturing and lighting, two aspects of an outdoor
level which actually supercede the geometry in importance. With
excellent textures and sparkling, sun-like lighting even very
simplistic geometry can capture some of the feeling of the outdoors.
of an outdoor level is highly dependent on the engine involved.
Many outdoor-oriented engines use height-mapped terrain engines.
For the true neophytes out there or those who have never touched
anything beyond an FPS, a height-mapped engine uses a grid of
points of varying heights, with the geometry between those points
often out of the designer’s control. It is possible to programmatically
reduce detail in height-mapped terrain as it gets further away
from the player, which allows for extended viewing distances as
the furthers hills are rendered with the minimum number of polygons.
also very easy to apply fractal algorithms to a grid of points
to quickly get mountains and valleys, and to make simple editing
tools that can raise or lower hills. However, this very ease
of use contributes to one of the most common problems with outdoor
geometry: what I call, until I can come up with a shorter description,
the “metal balls in a rubber sheet” look. In short, the most
simple fractal algorithms and editing tools, which are often all
that get put into a game editor for height mapped terrain, create
a generic and unnatural look to the terrain. Keep an eye out
for landscapes made of many hills and valleys of similar size
distinctive, bell-curve shape (as if metal balls had been pressed
up through or laid down on a rubber sheet). You’ll begin to notice
this effect in the most hastily assembled outdoor scenes, both
real time and pre-rendered.
are, indeed, some parts of the real world that look similar to
“rubber sheet world,” but the far more interesting parts of the
world (those which you would like to put in a game) have much
more variation than this. Achieving this kind of terrain requires
much more thought and hard work than merely applying fractal noise
and a smoothing routine to a grid of height points, and I’ll write
more about the technique in a moment. However, the very nature
of the height-mapped terrain engine also contributes to this.
technical drawback to height-mapped terrain is that overhangs
or even completely vertical surfaces are impossible to create,
since none of the height points could possibly overlap another.
A secondary and related drawback is that it is difficult to reproduce
very fine detail, such as the branching run-off patterns that
you see on the sides of real hills, or the rounded banks of small
streams. Better height-mapped engines have variable-resolution
grids, which means that in areas which need high detail such as
stream banks or the foundation of a building, the spacing between
height points can be decreased. This also allows for near-vertical
slopes, but still not overhangs of course. The overhang issue
can be avoided by using objects cleverly placed on or in the terrain,
but it can be difficult to mask the transition between the terrain
and the overhang object itself.