Article - "Star Trek Online Goes Where No Game Has Gone Before" :
By Garret Romaine
Star Trek Online takes an established franchise into online gaming for the first time and has received enthusiastic reviews for its lighting, space-based combat, particle effects, and visual impact.
Intel engineers worked closely with Cryptic Studios to deliver a game fully optimized for leading-edge graphics. Cryptic’s previous success with City of Heroes and City of Villain* translated easily to the new online Star Trek game, but they wanted to make sure they were fully tweaked for Intel graphics. By using Intel Graphics Performance Analyzers (Intel GPA), the Cryptic team delivered a title that sets a new standard for online games aimed at the desktop market.
New Standard for MMO Graphics :
Set 30 years after the events in the movie Star Trek: Nemesis, the game starts in the year 2409. 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. Then, as captain of their own Federation starship, gamers will lead their crew into battle, in missions and interactions with enemies and allies 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.
Jimb Esser, the lead graphics programmer for Cryptic, said that his team used an “art-driven shader system” so the developers and artists could set up whatever characters and effects they wanted. 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 said. “We have an accelerated particle system that runs on the GPU, so the artists can create stuff without it being too expensive.”
Chuck deSylva, the Intel applications engineer assigned to Cryptic,
said the project was much easier thanks to the use of Intel software applications. “We used two tools to dig in,” he said. “One was a tool called the [Intel] Performance Tuning Utility, available at http://whatif.intel.com. We used that to profile on the CPU. Then on the GPU, we used the [Intel] Graphics Performance Analyzers,” known as GPA. DeSylva was able to track down specific issues for Cryptic and ensure the game was optimized for Intel HD Graphics, which Esser said he appreciated. “With the new [Intel] HD [Graphics], we were pleasantly surprised with the performance being better than we expected. It’s definitely worth checking out the latest Intel HD line,” Esser said.
CPU and GPU Now on the Same Chip :
Intel HD Graphics is Intel’s newest integrated graphics offering and represents the first implementation of the CPU and the GPU in one package. Intel developers took the graphics processor out of the Memory Controller Hub and sealed the CPU and GPU in the same die package. This enables faster access to the graphics because the system no longer has to go across the front side bus to reach the Memory Controller Hub. For OEMs, the move reduces the number of cooling systems required and reduces overall system power requirements.
The GPU pipeline includes several improvements that significantly increase overall graphics rendering speed. In particular, rasterization, texture mapping, and Z-buffer algorithms
have been optimized, and complex shader support has been enhanced for vertex and pixel shaders. To further improve GPU performance, the instruction cache has been increased, and the pipeline now supports more threads per execution unit.
According to deSylva, Cryptic wanted Star Trek Online to be able to
run at 25 frames per second, which is typical for MMOs.
Cryptic also wanted to support an Über Shader.
“They didn’t want to have to load multiple shaders for different materials, so they had one huge shader, which they ‘if’d out’ in sections for different lighting scenarios. But the shader wasn’t getting compiled properly. I was able to use various experiments to determine that it was stalling out on the back end of our GPU pipeline. When we turned off the Über Shader, we basically doubled the performance. However, we found that the Über Shader was running fine; it was actually a problem in our compilation. So it was kind of an interesting case where we helped them to help us. It was a good engagement from that standpoint.”