The balancing act between game platform capabilities and game realism poses a perpetual challenge for development teams. To ensure that Darkspore takes full advantage of PC game platform performance, Maxis used graphics performance analyzers (GPA) to identify ways in which 3D models and landscapes could be simplified without sacrificing visual richness.
Simplifying the Complexity of Graphics
Gamers are accustomed to a certain level of visual realism in modern computer games — and one that doesn’t meet these expectations is unlikely to win favor with gamers or earn positive reviews. The challenge for developers is to enhance the graphics realism and degree of detail as much as possible without overburdening the computer hardware.
GPAs let developers both hone in on those areas where the graphics are too complex to render at reasonable frame rates and to experiment with simpler graphics, moving toward a suitable balance point where the trade-off between detail and processing workloads is about right.
“Just looking at our creatures — who are these high-polygon creatures — and realizing that the entire scene took about the same amount of time as it did to render just a few characters — that inspired us to add some character and terrain LODs and to reduce the polygon count on the creatures so they work better on the low-end systems,” says Alec Miller, a graphics engineer at Maxis.
Each of the creatures in Darkspore consists of an intricate mesh of triangles. GPA provides an analytical means to visually pinpoint areas of extreme graphics complexity and indicate the higher processing times to render the models. During the development process, the GPA helped the artists quickly determine the number of triangles being used for the characters in each scene and reduce the detail throughout the game without significantly affecting character appearance or visual quality.
Integrating Parallelism into the Code
Maxis did not overlook opportunities to tap into available cores and perform operations in parallel when possible.
“In order to deal with different body parts and creature mods, we have to have an entire archetype line inside the running game,” notes Maxis graphics engineer David Lee Swenson. “And this archetype line takes your creature, charts the maps and does all the baking. Doing this efficiently required multithreading — to be able to do it in the background. To run it smoothly, we’ll look at the PC’s processor and determine how many threads, hyper-threads and cores are available, and that’s what we’re going to use to perform all these tasks. We’ll scale up to however many the PC has available.”
“Basically,” Swenson continues, “all the steps in doing this building — from skinning and charting to creating meta-walls and painting — are splayed out into jobs that are dependent on each other. To accomplish these tasks as quickly as possible, they are kicked off on a job manager and doled out to the job manager’s worker threads based on what kind of resources we have.”
Because of this design philosophy, Darkspore takes advantage of the current crop of processor platforms and has built-in scalability to perform even more efficiently on future systems that will have more processor cores. Performance improvements are essentially built into the code.
Shaping Efficiency in the Graphics Realm
In support of the code development for Darkspore, GPA provided the team with practical, immediate visual feedback on the entire graphics environment. Effective use of available processor cores is another key to responsive game performance.
The release of Darkspore, optimized for playback on a broad range of platforms, offers a perfect example of how graphics have expanded to fulfill the needs of a much broader segment of the market. For Maxis, this opens an opportunity to reach millions of additional customers.