Saturday, 26 June 2010

Tech Analysis: Killzone 3 E3 Demo - 2D VS 3D

Killzone 2 is still one of the technical benchmarks for Sony’s PS3. However you might dislike the dark and grainy art style, or the subdued colour palette on offer, the game showed developers (and gamers alike) just what was possible on the system when tightly using the CELL + RSX combo the way is was supposed to be used. And for E3 2010 Sony took Guerrilla Games’ Killzone 3 as their lead technical showcase for not only the PS3, but also for their newly affirmed focus on 3D gaming.

From all the screens and videos released there’s no doubt that Guerrilla’s latest is as visually striking as it is technically brilliant, but what about under the hood? What’s changed? And more importantly how well does the current engine hold up to rendering in 3D, especially with minimal compromises on what’s being pushed around on screen?

Well, in this feature that’s exactly what we’ll be taking a look at, analysing the E3 build of the game in both 3D and 2D, seeing exactly what improvements have been made and what has been paired back in order to get the game working (fully playable I might add) in 3D.

Anyway, before we talk about that in more detail, lets take a look at the game in 2D and see just how it fares at its current point in development.

Like with it’s predecessor Killzone 3 renders in 1280x720, but rather than use quincunx anti-aliasing again the developers have elected to use morphological anti-aliasing instead - a far superior technique for reducing jagged lines whilst maintaining overall image quality.

Looking at the screenshot below, the effect the MLAA has on image quality is obvious. The final image is much sharper and clearer, with fewer jagged lines being present than before, and without any additional blur caused by the use of QAA. The only blur you are seeing in the screens is caused by the various post process, and depth of field effects that Guerrilla are using throughout the game, all of which are artistic choices and not technical compromises. It’s all part of the dark and gritty look of the franchise.

Like with God Of War 3 some surfaces receive as much as 16xMSAA, whilst others more in the range of 4x, or occasionally less in areas with ultra small polygon edges. Ether way the use of MLAA is a marked improvement from the QAA of the first game.

However, unlike in certain games (I’m talking about you Red Dead) the use of QAA in Killzone 2 wasn’t at all detrimental to the overall image. Instead the slightly blurrier looked suited the art style the developers were aiming for, and the image still looked particularly clean and quite sharp. The same could also be said of Insomniac’s Resistance: Fall Of Man, and its sequel - both of which used the infamous QAA.

Switching to MLAA simply allows texture detail to come through unscathed (no blur) with greater levels of edge smoothing at a lower cost. You’re getting a smoother look without making any of the same compromises as before, and potentially saving on memory as well.

So like with God Of War 3 the use of MLAA does much to improve image quality whilst having less of a performance hit than you might think. Although are times in which this new form of anti-aliasing isn’t so effective at dealing with jagged lines, particularly when coming up against sub pixel aliasing - something which does crop up noticeably in parts of Killzone 3. Areas of the game which features loads of thin polygon lines; fences, railings, power cables etc, are all prone to displaying jaggies, and this is something that MLAA can’t really help with.

Below is a clear example of what I mean. In the screenshot it is evident that sub pixel (a triangle smaller in size than a pixel of the rendering resolution) edges receive no AA of any kind, something which would either require a change in how these objects were rendered or a switch to supersampling in order to resolve the problem.

Essentially MLAA works by detecting edges in a scene on a pixel level, finding them and smoothing them over resulting in a highly effective way of dealing with jaggies. This is perfect for high contrast scenes (unlike with MSAA) as edges are clearly detectable thus being easily smoothed over. The problem comes in when the edges you have to deal with are smaller than one pixel of the rendering resolution, and as MLAA works only on pixel size edges anything smaller simply gets no anti-aliasing. Or that is how I understand it. The result is some edge shimmering and noticeable aliasing on objects with lots of sub pixel edges.

Moving on to smoke and particle effects, it is obvious that they are again rendered in a lower resolution than the rest of the game.

Like in Killzone 2 all alpha effect buffers are rendered in 640 x 360 (quarter of the resolution of 720p), a common practice for most PS3 developers due to the system’s lack of available memory bandwidth compared to Microsoft’s 360 with its 10MB EDRAM.

Basically PS3’s GPU, the RSX, features a fairly low pixel fill rate, and this effects how many transparencies can be drawn on screen at any given time. 360 on the other hand through its use of EDRAM provides the GPU with a much higher fill rate enabling not only more transparent objects to be drawn at once, but also to feature transparencies at a matching screen resolution en masse.

In motion the lower resolution of the alpha buffers is hardly visible with the various post processing effects going on – such as depth of field - and they do look rather smooth and well defined. Although, as we can see below in still screens these effects still appear to look softer than the objects around them.

Impressively, it looks like the developers are using volumetric effects for all the smoke in the game (like with Killzone 2), although in reality this is somewhat misleading. Instead of actually rendering 3D volumetric particles, they are using layers of 2D sprites which have been blended together and combined with geometry using something called ‘alpha test’ in order to re-create that volumetric look without the added processing cost of doing it for real.

This blending is also one of the reasons why the smoke and particle effects all look somewhat soft and smoothened, in addition to the AA that they seem to be getting on top of that, and of course the upscaling taking place. It is also noticeable that the higher contrast nature of the stage demoed at E3 seemed to lessen the volumetric look associated with the effects, whilst also diluting the dynamic lighting being used somewhat.

Despite this Killzone 3 still looks visually stunning though, losing nothing along the way from the last game, and the developers may have also seen fit to upgrade the use of ambient occlusion for this latest instalment.

Previously for Killzone 2 Guerrilla were in the process of adding real-time SSAO (screen-space ambient occlusion) to the game but didn’t have time to properly implement the effect, instead using baked AO as a substitute. Now it looks like this could have been changed, and for the first time we are seeing what appears to be proper use of SSAO for Killzone 3.

Although officially unconfirmed at this point, the screenshot below clearly shows some evidence of the effect being present. Just check out the shadows on the floor below the Helgast’s feet, in which we can see that something different is definitely going on. SSAO? Maybe. And it wouldn’t be a surprise to see it given the fact that it was being worked on long before development on KZ3 started.

You can also see the improvements made to texture quality compared to KZ2. Textures are clearer, crisper, and generally more detailed than before, perhaps as a result of no blurring being present from using QAA, but also because texture resolution seems to have been upped for certain objects in the game.

From what we’ve seen so far KZ3 is shaping up to be a clear visual improvement over the last game in 2D, with the MLAA being a particular standout, and the cleaner, sharper look appearing giving the game a more polished feel overall. The sense of scale has been noticeably upped, and the sheer amount of stuff going on at once is undoubtedly impressive.

But how does this compare with the game running in 3D?

Surprisingly, Guerrilla Games have also managed to achieve some of these feats when rendering the game in this mode, like keeping in all the complex smoke and particle effects without cutting back on the amount of stuff on screen at any time. However, the game’s rendering resolution in this mode leaves a lot to be desired.

When rendering in 3D you are essentially doubling up most of your graphics work rendering every frame twice, one for each eye. Now, certain things can be carried over between frames to save on performance, but many things can’t, and this why cutbacks have to be made. And for Killzone 3 there are sizable cutbacks with regards to the games rendering resolution, and the resolution of alpha channel visual effects.

Below are two screenshots showing the game in action. The top one shows the game running in 3D mode, and the bottom the same scene but running in 2D. As you can tell the difference is night and day, with the 3D version looking rather unsightly.

Killzone 3 in 3D

Killzone 3 in 2D

Looking at the above screenshots you can see that image quality has taken a massive hit as a result of the steep drop in both rendering resolution of the main framebuffer, and the alpha channel effects buffers.

For its 3D mode Killzone 3 renders in 640x716 with MLAA, and the effects buffers (which were already rendering in quarter resolution) are again halved down to 320x360 creating an unsightly scene of jagged lines and upscaling artefacts.

The alpha effects in particular seem to suffer the most with this, as when they overlap with opaque geometry they cause aliasing atifacts to appear heightening the games increased jagged appearance. In addition shader and sub pixel aliasing are also magnified as a result.

Having to render twice the amount of geometry on screen at once also causes problems, and various reports of seeing the game running in 3D state that there is noticeably greater levels of pop up compared to running in 2D mode. Even though you are running at half resolution, you still have to render the geometry twice so there is still an impact with performance despite cutbacks in the number of pixels being worked on compared to rendering in full 720p for 2D.

So far it isn’t looking too good for Killzone 3 in 3D, with the current build definitely being a poor representation of how the game should look, although in that respect you simply cannot expect standard 2D levels of performance with current generation console hardware. There just isn’t enough power to handle it, and with optimisations only so much can be done. However seeing the game being displayed with all the intricate particle effects and multiple light sources in 3D is pretty impressive, even if the result isn’t as clean or as smooth as we’d like. I would say that it not only shows promise, but also is a key indication of just how much untapped potential is still left inside the PS3 hardware for games in general.

There is also the opinion that increased levels of jagged edges and upscaling artefacts are less visible when viewing them in 3D compared to seeing the same thing in 2D. How true or accurate this is I don’t know, not actually seeing Killzone 3 running in actual 3D in the flesh – only a 2D version of the game’s 3D rendering mode. But the argument for even having a cut down, lower-res 3D mode is unsurprisingly strong, especially given the marketing potential for this new format.

Either way Guerrilla Games have stated that they are targeting 720p (1280x720) for Killzone 3 in 3D, and it’s likely that they’ll do whatever it takes to reach that milestone without overly compromising the look of the game, optimising where necessary, and cutting back on post processing effects that don’t work so well in 3D (motion blur, depth of field). Full 720p looks to be pretty much out of the equation, realistically. But you know, maybe something like 852x720, which would still provide better image quality than 640x716, but without having to cutback as much on the core graphics make up of the game.

With Killzone 3’s release not until February next year the developers have plenty of time to improve and optimise their engine for both 2D and 3D, so it will be rather interesting to see just how well the game fares a few months down the line. As new videos surface, and information gets drip-fed out we shall no doubt be taking another look at the game and the tech behind it.

1 comment: