There
is absolutely no doubt that 3D games are the coolest thing on the PC
today. Anyone who has played computer games recently, or even watched
someone else play them, has surely marveled at the realistic, beautifully
fluid images and smooth animations produced by high-performance PC's
running current-generation game titles.

A
great deal of technical innovation is spurred by the desire to advance
interactive 3D gaming, both in the hardware and software R&D labs. Many
PC hardware innovations, from CPUs to graphics chips to input peripherals,
are a direct result of the needs of the game development community and
their customers. Each new generation of hardware gives developers an
excuse to push the platform further, driving it towards the breaking
point.

While
game developers forge ahead into new arenas, creating new and imaginative
experiences for increasingly demanding audiences, they face multiple
challenges from every direction. Of course, getting all this innovative
3D graphics stuff to work in real time at all is hard. But if that isn't
enough of a problem, developers face another difficulty: dealing with
the issue of scalability.

Harnessing
the Next Great Thing

Gamers, and in turn, the game media and publishers, have come to expect
that The Next Great Game will contain The Next Great Thing, when it
comes to graphics and simulation of the 3D environment. This would be
fine except that the gamers and publishers also want to see The Next
Great Thing running on a two-year old PC, so that all the gamers of
the world can play it. Developers have to make their games run on lower-performance
systems to reach the widest possible audience, while still delivering
a package that will keep the "lunatic fringe" gamers entertained and
the press properly awestricken.

As
long as the PC has existed, developers have written games designed to
run on systems of widely varying performance. Scalability problems,
however, have increased in recent years. For one thing, the range of
performance from low end to high-end machines is increasing. This is
not only due to increases in CPU clock speeds, but also factors like
the introduction of expanded CPU instruction sets, aimed at enhancing
3D performance. Another factor is the monumental leap in graphics performance
that has been achieved by the graphics hardware companies.

All
this leaves game developers with the challenge of coming up with new
ways to scale their games across that wide range of performance. We
have no doubt that the developers are up to the challenge, particularly
when the PC industry is doing its share to help them out. Out of this
collaborative mix of minds, new techniques and algorithms to scale content
have been born. Some of these new approaches are discussed in this article.

Areas
for Scalability

The
topic of scalability can be divided into two areas: techniques for scaling
content (for example, a method for varying the polygon count of an object
on the fly), and approaches to scaling the content (deciding what polygon
count should be used for that object, given the current system performance).