Contents
Postmortem: Saber Interactive's TimeShift
 
 
Printer-Friendly VersionPrinter-Friendly Version
 
Latest News
spacer View All spacer
 
November 22, 2009
 
Video Game Watchdog National Institute On Media And The Family Shutting Down [11]
 
Modern Warfare 2 Infinity Ward's 'Most Successful PC Version' Yet [12]
 
New Tech, Design Details Of Project Natal To Emerge At Gamefest In February
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
November 22, 2009
 
Trion Redwood City
Sr. Evnironment Modeler
 
Trion Redwood City
Sr. Environment Artist
 
Sucker Punch Productions
3D Environment Artist
 
Sucker Punch Productions
Network Programmer
 
Sucker Punch Productions
Character Artist
 
Sucker Punch Productions
Texture Artist
 
Monolith Productions
Sr. Software Engineer, Engine - Monolith Productions - #113767
 
Sony Online Entertainment
Brand Manager
spacer
Latest Features
spacer View All spacer
 
November 22, 2009
 
arrow Upping The Craft: Susan O'Connor On Games Writing [6]
 
arrow Small Developers: Minimizing Risks in Large Productions - Part II [7]
 
arrow iPhone Piracy: The Inside Story [48]
 
arrow And Yet It Grows: Analyzing the Size and Growth of the European Game Market [5]
 
arrow NPD: Behind the Numbers, October 2009 [13]
 
arrow Reflecting On Uncharted 2: How They Did It [5]
 
arrow Sponsored Feature: Rasterization on Larrabee -- Adaptive Rasterization Helps Boost Efficiency
 
arrow Postmortem: Wadjet Eye's The Blackwell Convergence [2]
spacer
Latest Blogs
spacer View All     Post     RSS spacer
 
November 22, 2009
 
Time Fcuk [1]
 
Accepting the Inherent Value of Games
 
Planckogenesis, Part II: Song Structure & Gravy Train [1]
spacer
About
spacer News Director:
Leigh Alexander
Features Director:
Christian Nutt
Editor At Large:
Chris Remo
Advertising:
John 'Malik' Watson
Recruitment/Education:
Gina Gross
 
Features
  Postmortem: Saber Interactive's TimeShift
by Andrey Iones, Matthew Karch
1 comments
Share RSS
 
 
April 4, 2008 Article Start Previous Page 7 of 8 Next
 

4. ShaderCache. For TimeShift, our shader guru Denis Sladkov developed a state of the art material and lighting system (one of the first fully supporting dynamic shadow maps). Its design started right at the beginning of last year's extension, and it was amazing.

For the first time we managed to bridge the gap between the shader programmers and technical artists. Evgeniy Davydenko, our most tech-savvy artist, was excited to be able to tweak shaders in realtime and see surface properties change in the engine.

Advertisement

As the engine side of the technology was slowly becoming available, the artists had to start working on textures and materials right away, using our previous-gen tools. The entire texture set for the game and supporting materials had to be reconverted many times to keep up with the changes the tech team was doing.

However when the system was finally ready and the supporting shaders were written another major problem arose. We could not play the game at reasonable framerates because we did not have a shader-precompilation system.

Because shaders were compiling at run-time, the game was chugging every other frame at any decent visual quality setting (it takes up to 30 seconds to compile an average shader in TimeShift on PC, and we had thousands of those shaders). In other words, all we could do was to switch to shaders 2.0, position the camera, then switch to shaders 3.0 -- and then after a five minute pause a beautiful picture appeared.

The problem was massive. We assigned Victor Streltsov, one of our most seasoned and creative programmers, to address the issue. We hired another senior programmer, dedicated to helping Victor with that assignment. Four months later, our ShaderCache tool was born.

Think of a huge distributed computation system which is installed on all 100+ workstations we have in the office, governed by a server-based app which farms out individual shader compile tasks to the clients. Even with a system like this it took us over 12 hours to build a complete shader database for all platforms (by the time we finished, it took no more than an hour to complete this task, thanks a number of optimizations we did).

While this system was being built, however, the life of texture artists was pretty miserable. They could work with test scenes just fine, but seeing the results of their work in the full scenes was nearly impossible.

Unfortunately, even once we were able to pre-compile all the shaders for our scenes, another pretty big issue emerged. We had a few thousand unique shaders per scene, and because they were very complex -- it took over five minutes to create them all during level loading on PC.

Obviously, having the user wait five minutes for a level load was unacceptable. Also, for some hardware configurations the game was crashing while creating all those shaders.

Our lead rendering engine designer Anton Krupkin was working out a solution with NVIDIA and ATI engineers. It was another external dependency which we identified pretty late in the process. Another set of custom builds had to be made and delivered via secure channels to the hardware vendors.

Some of the problems that we saw could never be reproduced on their end because we used some specific combination of graphics cards and the drivers -- so we brought their engineers to our New Jersey office. Ultimately, thanks to the unparalleled support of NVIDIA and ATI staff, the issue was resolved and driver updates were issued on time for the release of the game.

 
Article Start Previous Page 7 of 8 Next
 
Comments

Eric Diepeveen
profile image
Great nice in depth article. I can't even image working on such a big and lengthy project.


none
 
Comment:
 


Submit Comment