Star Trek Online Goes Where No Game Has Gone Before
Star Trek Online -- the final frontier -- boldly tries to go where no other massively multiplayer online (MMO) game has gone before. Developers tried to provide Star Trek fans with the type of graphic gaming experience they would expect from a PC game.
Star Trek Online is set in 2409 -- 30 years after the events in the movie Star Trek: Nemesis. Players enter a world of sophisticated technology and cultural volatility in which they can build an identity from scratch or borrow one from some of the popular races already a part of the Star Trek universe, including Andorians, Vulcans, Klingons and the Gorn.
As captains of Federation starship, gamers lead their crew into battle in missions and interactions that take place both in space and on the ground. While capturing the essence of the original story and characters, Star Trek Online also allows players to create their own customized avatar, thanks to a sophisticated graphics engine that handles textures and shading with ease.
New Standard for MMO Graphics
Cryptic Studios aimed to deliver a game fully optimized for leading-edge graphics. Cryptic’s previous successes with City of Heroes and City of Villains translated easily to the new online Star Trek game, but the team wanted to make sure they were fully tweaked for desktop HD graphics.
Cryptic used an “art-driven shader system” so the developers and artists could set up whatever characters and effects they wanted, says Jimb Esser, the company’s lead graphics programmer. While typical for most next-generation games, Esser pointed out “there haven’t been too many MMOs with that kind of graphics.”
To give Star Trek fans the effects they expect from a PC game, Cryptic put a lot of work into explosions and similar effects. “For particles, we have them set up so they run in the vertex shader,” Esser says. “We have an accelerated particle system that runs on the GPU, so the artists can create stuff without it being too expensive.”
The Cryptic team used the latest cross-platform performance-analysis tools to fine-tune the game on the CPU. In addition, graphics performance analytics were also used to optimize the game for HD graphics. Some computers are now made with the CPU and the GPU on the same chip, enabling faster access to the graphics because the system no longer has to go across the front-side bus to reach the memory-controller hub.
Cryptic wanted Star Trek Online to be able to run at 25 frames per second, which is typical for MMOs. To help game performance, Cryptic also wanted to support an Über Shader so that the team didn’t have to load multiple shaders for different materials.
Keep on Threading
Cryptic had become aware of the need to efficiently thread important processing tasks during the development of earlier games. “We started threading systems with City of Villains,” Esser says. “Since then, we have improved upon that effort. Our primary breakdown is to use a thread for game logic, which sometimes goes out to all available cores, and a thread for game rendering. It’s split fairly evenly; we get a good boost. Some of our other systems are data-parallel. The animation system is a good example. The software occlusion system we used also splits into any number of cores.”
Cryptic anticipates that the data model will scale to n cores. “For code complexity reasons, we’re going to go data-parallel,” Esser continues. “Your rendering has to be referenced to a single core in DirectX 9. There is a single thread going into DirectX, so if we have to queue up 500 things to draw, they queue up in a single thread.”
Newer versions of DirectX have a feature that lets developers queue in multiple threads. “With that, we could make our rendering thread more data-parallel, and it would work across more CPUs,” says Esser. “The more we move onto the GPU, the less that’s going on in our DirectX thread. And that’s the way things are moving. The more on the GPU, the fewer DirectX calls.”