When
I am working on a problem, I never think about beauty … but when
I have finished, if the solution is not beautiful, I know it is wrong.
--R. Buckminster Fuller
Your hardware is primed and ready to hurl out 16,000 gigatexels per
second. Your engine is a thing of almost poetic loveliness and will
throw millions of light-mapped, volumetrically fogged polygons around
the screen without even breaking a sweat. Your design document makes
the unabridged edition of the Encyclopaedia Britannica look like
a pamphlet, and you have enough concept art to fill a medium-sized aircraft
hangar.
You're
looking good. Your project is set to excite and amaze with its technical
wizardry. Its groundbreaking gameplay will doubtless spawn a thousand
imitations, and you have already begun writing your acceptance speech
for next year's Gaming Legends of the Twenty-First Century awards ceremony.
But there is one small problem: your graphics are as uninspiring as
a bag of wet socks. Unfortunately, the game-buying public demands more
and more from their visuals with each passing week, and all but the
most devoted of gamers will probably ignore your game if they turn the
box over and see the kind of screenshots that would make their Grandma
yawn.
It is
true that many a dreadful game has scammed its way into the charts by
dressing up its tedious and aggravating gameplay with a flurry of screen-bending
special effects and delicious visuals. But this kind of fakery is usually
short-lived, and once the word gets out, many of these games end up
being exposed as the fur-coat-and-no-knickers acts that they actually
are.
However,
in today's world of octilinear, bump-mapping, ray tracing, real-time
refractive-index-calculating hardware, a great game that doesn't deliver
a sizable chunk of graphical excellence, is in danger of becoming a
great game that nobody's ever heard of. It might not be fair, but just
stand behind a bunch of 14-year-olds looking for their next purchase,
and see how quickly they lose interest if a game doesn't quite cut it
in the looks department.
What can
you do? Well, the answer to that question will of course depend to some
extent on the hardware and software limitations that you have to work
within, as well as the design considerations of your particular type
of game. However, there are a few general areas in the visuals department
where many games can benefit from a metaphorical strategic splash of
mascara, and a well-considered application of eye shadow.
I Can
Sing a Rainbow
Unless
you have been living in a monastery for the last couple of years, you
will no doubt be aware of the rate at which the War of the Polys is
escalating. Whether it be consoles or graphics cards, the polygon-crunching
muscle of today's hardware seems to increase weekly.
This,
of course, is marvelous. We can never have enough triangles surging
through our GPU, but what we mustn't overlook in our stampede to build
a perfectly accurate model of the Sydney Opera House, are the textures.
Not so
long ago, those of us who had the happy task of making textures for
scenery and characters in a videogame found that our two biggest enemies
were resolution and the palette. Creating a convincing set of stone,
wood, plant, and metal textures with only 256 colors to choose from
was like asking an orchestra to play Handel's Messiah using just an
oboe and a set of maracas.
Today
however, resolution is much less of a problem, and color depth is one
of our best and most attractive friends. We no longer have an excuse
for churning out bland textures. Now that our palette is large, we need
to use it.
Of course
I am not suggesting that cramming a scene with every color available
is automatically a good thing. Rather, tonal variation within a texture,
as well as the range covered by the whole of your texture set, should,
where appropriate, make full use of the colors available.
Consider
the following examples:
Examples
of the variety of color information that can be contained within
a rock texture, while still retaining a decent level of realism.
Rock textures
are some of the hardest to deal with. They are often a good example
of the scale dilemma (more on this later), and perhaps also the area
where we all have to struggle the hardest not to end up with a brown
and gray overload.
The above
examples hopefully give some indication of the variety of color information
that can be contained within a rock texture, while still retaining a
decent level of realism. Obviously in cases like this, the source image
from which the texture is derived needs to be reasonably interesting,
but it will usually be the hand-coloration that makes the difference.
Color
variation within a texture is certainly important, especially when the
texture in question is generally going to be viewed from close range,
but for textures that will most often be seen at a distance, we can
turn to lighting (which I'll discuss later in a separate section) and
vertex coloring. When applied with skill and moderation, vertex coloring
can liven up the dullest areas, reducing the chances of producing a
bland environment.
Vertex
coloring basics:
1.
The effect achieved through adding color values at vertices
will naturally depend on the placement of the vertices, so obviously
large-scale diffuse color changes will be all you can manage across
large polygons. You may need to add extra vertices if you are looking
to achieve a more controlled color-change effect:
The
effect achieved through adding color values at vertices will
naturally depend on the placement of the vertices
2. Normal rules of color combination apply, so remember that
the texture on top of which the vertex coloring is applied needs to
be taken into account, and a decision made as to which colors will work
well together—and equally importantly—those that won't.
3. If you intend to rely heavily
on vertex coloring, you'll get the best if your textures are designed
specifically for this purpose. Too much color variation within a texture
can be a problem, while low color saturation coupled with high contrast
generally gives the best results:
Low
color saturation coupled with high contrast generally gives
the best results.
4.
Some textures will begin to look flat when vertex-colored, and planning
to have several variations of a particular object by changing the vertex
coloring may not always work. Some things will always require color-specific
textures.
Some
textures will begin to look flat when vertex-colored.