The Making of God of War III
For the love of God.
The custom anti-aliasing solution is also another example of how PlayStation 3 developers are using the Cell CPU as a parallel graphics chip working in tandem with the RSX. As Richard Lemarchand discussed in his Uncharted 2 post-mortem, the basic theory is all about moving tasks typically performed by the graphics chip over the Cell. Post-processing effects in particular work well being ported across.
The more flexible nature of the CPU means that while such tasks can be more computationally expensive, you get a higher-quality result. The increased latency incurred can be reduced by parallelising across multiple SPUs.
In the case of God of War III, any given frame typically takes between 16ms and 30ms to render, give or take a millisecond or two. The original 2x multisampling AA solution took a big chunk of rendering time, at 5ms. Now, the hugely more impressive MLAA algorithm takes a total of 20ms of CPU time. However, it's running across five SPUs, meaning that overall latency is a mere 4ms. So the final result is actually faster, and that previous 5ms of GPU time can be repurposed for other tasks.
While the detail that the Sony Santa Monica team has put into the characters and environments is clearly immense, it's the combination with the pure rendering tech that gives the game its state-of-the-art look and feel. The new God of War engine thrives in its handling of dynamic light sources, for example.
"[Dynamic lighting] is one of the big features of our engine. We built it around being able to use up to 20 dynamic lights per game object," Ken Feldman explains.
"The light can be big or small, it doesn't matter. In the end, I believe we support up to 50 dynamic lights per game object. We are not using a deferred lighting scheme. Our lead programmer Vassily Filippov came up with this amazing system during pre-production... We can place lights in Maya and have them update in real-time in the game on the PS3, it's like being able to paint with lights. Lighting is a fast and a very enjoyable artistic process."
Where there is light, there is a shadow. Or at least there should be. On the majority of videogames, shadowing tech is fairly basic. Producing realistic shadows is computationally expensive, hence we get a range of ugly artifacts as a result: serrated edges that look ugly up close, or cascade shadowmaps that transition in quality in stages right before your eyes.
God of War III stands out in this regard simply because you don't tend to notice the shadows. They're realistic. The human eye is drawn to elements that stick out like a sore thumb, and that includes shadows. State-of-the-art techniques result in a very natural look. The result is subtle and it works beautifully.
As well as working with his team mates in helping to build the PS3 renderer from the ground up, Sony Santa Monica programmer Ben Diamand spent around three years gradually developing the deferred shadowing system employed in God of War III, that works beautifully in eliminating the artifacts and blending dynamically-generated shadows along with others that are pre-baked into the scenery.
Perhaps the only slight disappointment with the shadows in God of War III is that their use and impact in direct gameplay is limited. There are some nice sequences revolving around direct use of dynamic light, but the only time shadows are an intrinsic part of the task ahead of you is when you use them to dodge the incoming fist of a very angry Titan.
The amount of effort that went into just this one element of the overall image quality is quite extraordinary, but Sony Santa Monica's Ben Diamand stresses that it's just one part of a developmental process that saw many programmers tackle different areas in building the renderer for God of War III, of which the shadowing system was just one component part.
"It's not that we could afford to spend a ton of time on any one thing that made Sony Santa Monica shine; I'd instead say that it's the versatility of the staff - art and design included - that really made it happen," Diamand tells us.
"That coupled with having programming managers like Christer and Tim who helped by suggesting good ideas and especially by running interference for us so we had the time to properly implement and iterate over all of our ideas - those things were truly key."
Preliminary work on the PlayStation 3 tech actually kicked off while the main team were still working on God of War II. Ben Diamand himself spent a year with the ICE team in Santa Monica working with the early PlayStation 3 simulator hardware before moving onto direct God of War III research. Before there even was a God of War III team as such, Sony Santa Monica staff were laying the technological foundations for the new game.
"Vassily did large amounts of work on the dynamic lighting algorithms, Naty helped a bunch with getting the particular look by implementing many cool shading ideas and I worked on the low level renderer which included a number of iterations on the shadow system," Diamand says.
In addition to the shadowing tech, Diamand was responsible for the core renderer and associated optimisations, all kinds of SPU work, the HDR implementation, tone mapping, bloom, the effects framework and tools work among other tasks. Similarly, other members of the programming team found themselves donning many different hats during the development cycle.
"Vassily and I, with help from Naty Hoffman a bit later, essentially built most of the PS3 renderer from the ground up," Diamand adds.
"We later hired Jim Tilander who did some very good SPU rendering and collision system work, Cedric Perthuis who did a fantastic job with effects like rain, some good shader optimisations, anti-aliasing, depth of field and god rays among others, and Eric Smolikowski who joined us near the end and did really awesome implementations of motion blur, dynamic refraction/reflection and dynamic water, along with helping me do some of the drop shadow integration."
Sony Santa Monica's artistic and technical achievements are clearly considerable, but what is truly impressive is the team's commitment to continually refining and optimising code, right up until the very closing stages of development. It's an impressive juxtaposition of the team's passion in getting the very best product out there: Ben Diamand can spend over three years adding to, tweaking and perfecting his shadowing tech among his other tasks, but at the same time, right up to the creation of the final gold master, the team was still optimising performance.
According to director of technology Tom Moss, in the last week of development, after the first review copies had been dispatched, programmer Cedric Perthuis continued refining code, achieving impressive performance gains to the tune of around eight per cent for the final game.
God of War III is a special game by an immensely talented team, backed not only by a colossal $44m budget, but also with the collaborative know-how of some of the world's best developers and access to the resources of Sony's own dedicated engineering groups.
It's games like this, along with Uncharted 2: Among Thieves and Killzone 2, that give the platform holder ownership of the bleeding edge of console gaming technology in the current generation.
It also makes a very convincing argument that there's plenty of life left in the system yet. God of War III is just the first PS3 title from Sony Santa Monica, and already director Stig Asmussen is hinting that we can expect "a lot more" from the current God of War III engine.
This piece contains material derived from almost 2.5 hours of 'Making Of' material found on the God of War III disc itself, used with permission. Complete the game, unlock the lot and watch them all for some idea of the legendary efforts put in by the Sony Santa Monica development team.