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).Approaches to scalability can be classified within five major areas: