Showing posts with label uncharted 3. Show all posts
Showing posts with label uncharted 3. Show all posts

Wednesday, 22 December 2010

Tech Analysis: Uncharted 3: Gameplay Demo

Just as we were finishing up on our tech analysis of the Uncharted 3 teaser trailer, Naughty Dog unveiled the first live gameplay demo on the Jimmy Fallon show, thus revealing more juicy technical insights into the engine upgrade contained within, along with direct-feed gameplay footage of the title

We lightly touched upon some of the things contained in the gameplay trailer in our last report – the possible use of MLAA, composition of the fire effects, character modelling, and rendering resolution – but due to the compressed nature of the initial teaser trailer, and the late arrival of the gameplay footage, were unable to take a detailed look.

Now, rather than expand our original report, we’ve instead taken the time to asses in greater detail the direct-feed gameplay trailer, looking at more of the game’s in-engine enhancements and referencing it with the original teaser footage from before. Here, you’ll hopefully find a nice companion piece to our previous analysis.

Let’s get on with it then.



In terms of framebuffer resolution, Uncharted 3 appears to be rendering once again in full 720p (1280x720) just like the last two games in the series. However, unlike both of those titles, this time around Naughty Dog seems to have used a different anti-aliasing solution for UC3.

Previously we saw the use of standard 2xMSAA (multi-sampling anti-aliasing) in order to mitigate jagged edges and shimmering artefacts, which actually worked very well all things considering – increased use of shaders, particle/alpha effects etc. But from the gameplay footage shown of Uncharted 3, we can see what looks like evidence of Sony’s custom MLAA solution replacing the more limiting MSAA.

Originally, we thought that those rather smooth looking 720p framebuffer grabs were simply supersampled promo shots, lacking any edge artefacts and appearing all too clean to be in-game. And while we’re still not convinced that they aren’t downsampled bullshots, the direct-feed gameplay footage itself not only shows off a similar smoothing effect, but also shows clear evidence of edge shimmering in areas where supersampling would have effectively dealt with that particular issue. Shader aliasing is also present, another thing which MLAA isn't capable of dealing with in its current implementation.



Take a look at the screenshots above of the window frame and the dislodged wooden beam to the right of it. Ignore for a second the compressed, blurry nature of screenshot and focus on those edges. Clearly, there is a reduced amount of edge smoothing going on here. We can easily see some sub-pixel edge artefacts that would have blended away via supersampling – like in the desert scene from the teaser trailer – but are obviously visible for all to see despite the lack of clarity.

There are also some polygon edges directly situated next to the low res fire effects that suffer from the same problems, though not all. Most likely, this is due to the low resolution alpha buffers interfering with the higher res geometry, and the MLAA being unable to smooth over the affected area. Again, such issues wouldn’t be present to such a degree in a downsampled image and would almost certainly be noticeably worse with 2xMSAA. You can see this below.


The rest of the scene however, benefits from large levels of decent edge smoothing. It's incredibly hard to tell by the compressed nature of the video creating additional artefacts, but we can see many areas getting what appears to be as much as 8xMSAA - some surfaces 16xMSAA, with others having around 4x, which comes as standard when using the technique.

Another benefit of MLAA comes in the form of excellent high contrast edge anti-aliasing, whereby distinct edges - usually too distinct for MSAA to generate good enough samples for - are handled with reletive ease. Although the trailer doesn’t demonstrate this, due to being set in a dark, low contrast environment, I can’t imagine UC3 being any different.

In order to accurately see just how well MLAA is implemented in Uncharted 3, I suggest you download a high bitrate HD 720p video instead of watching the awfully compressed YouTube one we have here. It suffers from shimmering and other artefacting not present in the actual game.


Moving on, and the fire effects have also been expanded over what was present in Uncharted 2. Here we see multiple layers of blended 2D sprites rendered in 1/4 the frambuffer resolution. Obvious artefacts such as pixelation aren’t visible due to the effect being smoothed over via both blending and filtering techniques. However, we can see evidence of jittering and some shimmering, much like with what is happening with shadows in the game. This is most noticeable at the base of the flames.

Whilst being technically quite simple in comparison to various fire effects we’ve seen in the past, the look is still very convincing with the various layers present on screen creating an impressive show via the use of sheer amounts, rather than advanced technical trickery. Also, the increased use of 2D sprite layers allows for a more organic look to be created. The fire in Uncharted 3 is both more animated and has a greater level of depth than in the second game. This is also helped by the scope the effect finds itself in – fire is everywhere, with varying layers spread all across the environment.

Granted Uncharted 3’s use of fire isn’t technically that impressive when compared to the multi-particle, and multi-layered smoke and fire present in the likes of Lost Planet. Although, Naughty Dog’s solution instead fits in with the PS3’s tight bandwidth requirements and the overall engine make-up far more comfortably than Capcom’s alpha-hevy solution ever would. Like in Killzone 2 and 3, the low res nature of alpha is carefully reduced via good use of filtering and layer blending.


In terms of character modelling, details, and shader effects, we can see that the renderings use for gameplay come remarkably close to matching the pre-rendered desert scene footage we covered here, in our first tech analysis of the game. Drake himself, geometry wise looks to be very close with only slightly paired back use of shaders and texturing. His facial features and animations look almost the same, lacking just a little precision in comparison.

Compared to Uncharted 2, and Drake looks to have gained slightly more in the way of detail. Facial details in particular look better – improved texturing and shaders – and his overall facial design has been artistically changed somewhat. He appears to be a bit chubbier this time around, looking older, more rugged. No doubt as a result of his haphazard worldly adventures, and from the development team adapting his polygonal mesh structure.


As to be expected, when up against the desert scene in the original trailer footage skin shaders have also been mildly reduced, as have small texture details and texture resolution. We can also see the usual shadow and self-shadow artefacts on Drake – jittering, some shimmering etc – that was present throughout Uncharted 2 but absent from the pre-rendered parts of the teaser trailer. This can be found on both characters and the environment. The grasses on the floor in particular are noticeably affected.

Whilst there are obvious differences between the teaser trailer’s pre-rendered in-engine footage and the actual real-time gameplay video, there is nothing that drastically separates them as a whole. Sure, the desert scene exposes a polish not possible in a real-time rendered envronment on the PS3 – with better use of shaders, perfect shadowing and polygon clipping. Although, most effects have at least been translated over to the in-game engine instead of being cut.


Performance wise, the short gameplay clip shows off Uncharted 3's solid state at this point. The demo doesn't appear to drop below 30fps - despite plenty of performance sapping alpha effects - and there is no sign of any screen tearing. It's likely that UC3, as with its predecessor is triple buffered: rendering three frames for every one displayed, simply discarding each torn frame until a clean one is found. Tearing should only occur when all three frames are being torn, a scenario only likely to happen in the most heavy load situations.

That said, the demo dosen't feature any extraordinarily large set-pieces like the train crash and helicopter battle from UC2, which would be a real performance indicator. Instead, what we have here is a somewhat more pedestrain scene designed to show off some of the game's additional graphical polish, along with a few new moves for Drake.


All in all, from what we can see Uncharted 3 boats improvements in lighting, texturing, and shaders over Uncharted 2, with more detail being present, smoother animations, and even better use of anti-aliasing. Some of these improvements are mere subtlties, while others are far more noticeable (like the inclusion of MLAA - UC3’s big leap forward, like with SSAO in UC2). And, with just under a year to go Naughty Dog have plenty of time for optimisations, to get those little details that make all the difference down to a fine art.

The first part of our Uncharted 3 trailer analysis can be found here, which focuses on the teaser trailer and also forms a complete look at the tech behind the game so far.

Sunday, 19 December 2010

Tech Analysis: Uncharted 3: Teaser Trailer

So, Uncharted 3 has finally been unveiled. And for those who didn’t think this generation of consoles had much more to offer graphically… well, Naughty Dog’s latest – still just under a year a way from completion – definitely looks to silence the critics. Arguably, given the quality of the real-time and in-engine rendering on offer in Uncharted 3, there’s no need to hurry along to meet that five-year hardware lifecycle.

At the recent VGA awards Naughty Dog finally blew the lid off the next title in the globe-hopping, bandit-shooting Uncharted series, with Drake once again looking rather worse for ware, but this time stranded in the desolate Arabian desert.

The trailer showcases a variety of engine improvements, from shadows and lighting, to texturing and skins shaders. All have seen a noticeable upgrade. Some of these look to be suspiciously from in-engine - but not in-game - footage, whereas others look to have taken the actual in-game tech another leap forward (just look at those water effects). Either way, Uncharted 3 at this early stage looks absolutely incredible.



The trailer can be divided up into three distinct parts; the desert scene in which we see Drake walking slowly across some sand dunes, stranded after being involved in a plane crash; a scene in which him and sully are in a darkened room in what looks like a flashback of sorts; and the ending post title footage, which clearly shows off a few short seconds of actual ganeplay.

All three can be seen below for comparison purposes, and it’s here that we can see exactly which parts of the trailer are being rendered in-engine, in real-time, and actual gameplay.




Starting off with the desert scene, and we can see most obviously some of the changes Naughty Dog have implemented in their engine for Uncharted 3. Drake himself has been remodelled, his facial features adjusted to represent an older, rustier, heavily warn adventurer. He looks almost slightly chubby in appearance. But look at his arms and legs through his clothes, and we can see that it’s just his underlying bone structure that has been updated.

Texture detail has been noticeably upped. Even from the highly compressed video footage we can see additional subtleties in the form of wrinkles, stubble, and pores on the skin. Skin shaders too have also seen similar increases in quality, with all those little facial features reacting far more realistically with the game’s environmental lighting.

You could say that it looks almost too good to be in-game… and indeed it is. This second opening scene looks like it has been created using in-engine assets, though not rendered in real time. A few things other than the shaders hint at this. Most notable the composition of lighting and shadowing in the scene as a whole… they’re largely flawless in their execution.


The shadowing model in particular is completely artefact free whilst maintaining an incredibly level of precision and accuracy. Notice how both the environment and Drake’s own self-shadows lack any kind of jittering or mostly any edge shimmering, both of which are present in later parts of the trailer and in Uncharted 2. All shadows, both up close and far away, are perfectly cast without error, carefully adding a great deal of depth to the final image.

The lighting also complements this, with dynamic shadows reacting and changing according to the environment conditions. Shadows are cast where expected, and the shader model delivers reflections and subtle changes usually too computationally heavy to be replicated with such precision either in-game, or in real-time in-engine cut-scenes.


Although saying that, the art assets used in the trailer are all ones that will be used during gameplay according to Naughty Dog; they’ve simply upgraded some of the effects to complement the offline nature of rendering the scene for the trailer. It’s purely an artistic style choice, great for PR screenshots and posters, but not all that far off from what is present in game as it were.

There are other things that also point to this fact, the detailed nature of Drake’s attire for example. Everything from his belt, the bullets situated upon it, his shirt, and his scarf are beautifully rendered. In particular, Drake’s scarf seems to have a soft-cloth simulation of sorts integrated into its animation system, with no polygon clipping or edge and shadow artefacts. It’s like a CGI rendering but using in-engine artwork.



In terms of the actual trailer resolution, it appears that different scenes are rendered in varying original framebuffer sizes before being either upscaled or downscaled to form the final 720p image. Take the opening desert scene for example. Here we have what looks like a 1980x1080 original FB which has been downsampled in a process known as supersampling to deliver large amounts of full-scene anti-aliasing, resulting in very little in the way of jagged lines.

In fact, the aliasing that is present in this scene – shadows and subtle edge aliasing from certain angles, along with texture aliasing – is perhaps more down to shader aliasing and in particular, the lightsoures being used in combination with the resolution of the shadowmaps themselves. Also, there is barely any evidence of subpixel aliasing issues - we can see that thin lines and small pieces of geometry are highly smoothed over – a key component of using supersampling. But there is nothing more than a few edges with ‘soft jaggies’ standing out from the rest of the scene.

On the whole, this centrepiece scene from the trailer comfortably represents the kind of graphical upgrades to be expected throughout the actual game on a baseline level, although shader effects and texturing has obviously been increases slightly beyond levels possible in-game in real-time no less, with additional precision along with more detailed character modelling.


Moving on to the second key scene, and we can see similar engine upgrades taking place, but without the same level of perfection as in the desert portion we’ve discussed above. Both Drake and Sully feature improvements in texturing, normal mapping and shaders, but not to the extent as seen in the ‘in-engine, pre-rendered’ part of the trailer. This scene appears to be rendered not only with in-game assets but also being done in real-time without any of the ultra precise shadowing and lighting.

Obviously like for like comparisons aren’t completely possible – different lighting conditions and the fact that Drake himself looks to be younger, slimmer than in the earlier part of the trailer – although we can still see evidence of visual tweaks and changes while also spotting a few rendering artefacts that reveal the scene’s real-time presence.


Take a close look at the shadowing on Drake for example. Some of the self-shadows evident around his neck clearly show evidence of jittering and some edge shimmering – something larger absent from the desert part of the trailer. In addition Drake’s character model is slightly less detailed, with reduced shader effects and subtle texture details.

Like with the earlier scene, this part of the trailer also appears to be rendered in 1920x1080 before being supersampled down to 720p, which would explain the lack of any noticeable edge shimmering on the geometry. Although, in dark low contrast environments such things rarely manifest themselves.


Onto the actual gameplay portion of the trailer, and this is where things get difficult. The short and chopped up, cropped, and constantly resizing nature of the clips, along with compression induced motion artefacts make it difficult to assertain how close the game holds up to the graphical quality of the cut-scenes in any meaningful way.

However, we can at least see that the quality looks about on par, or close to the scenes in question. Much like in Uncharted 2, the cut scenes do appear to be higher quality renderings, though using in-game assets and running in real-time (assuming the same system from Uncharted 2 is in place, whereby all cut-scenes are real-time and not video recordings of the renderings). I imagine that gameplay will look basically the same to the untrained eye, featuring similar rendering bugs, but with a touch more detail and precision.

This part of the trailer also looks to be rendered in native 720p (1280x720) like with previous Uncharted titles, while anti-aliasing is yet to be determined. Some have said that MLAA looks to have been implemented, though with compression artefacts masking any potential aliasing issues and the clips so short/poor in quality, this may just be wishful thinking at this point. However, we shall be taking a look at the more recently released direct-feed gameplay video to investigate this further.


One thing that does stand out with the gameplay footage, is the noticeable upgrade in the engine’s ability to render water and fire effects. The water in particular looks incredible. It almost looks like a simulation if you don’t pay attention to how it flows and changes in motion.

The main body of the water appears to be more volume-based than particle-based - modelled with large mesh of animated geometry and normal maps - thus avoiding the PS3’s limited available memory bandwidth for alpha effects, although this is indeed backed up with some particles at the front as the water expands and spreads across the environment.

The fire effects also feature more animation than those found in uncharted 2. From the brief few seconds of footage, we can see an increse in the layers of 2D sprites used to form this effect, with greater levels of blending. Although, again… it’s pretty hard to tell, given the quality and duration of the footage.


Instead, a far better example of how Uncharted 3’s gameplay will hold up against both the in-engine pre-rendered parts of the trailer, and with the real-time in-engine cut-scenes can be found here, in the first direct-feed gameplay trailer.

As you can see, there is a noticeable difference between both the character and environment modelling, shader effects, shadows and lighting compared with the trailer. Against the standard cut-scenes too, we can see a slight downgrading - small, but perhaps greater than the differences in Uncharted 2.


Pre-rendered


In-game

We’ll be taking a look at the gameplay trailer in the next day or two at IQGamer in a shorter tech analysis, mainly focusing on the upgraded fire effects and comparison details between pre-rendered in-engine footage and gameplay. Interestingly, these gameplay shots feature very little in the way of aliasing, shimmering edges etc, which could lead to either an MLAA solution being implemented, or perhaps more supersampling - used in creating print and promotional quality bullshots. But we shall see.

In the meantime we can at least see that regardless of how the footage – and indeed the screens – have been enhanced, modified, or created from an offline render, that Uncharted 3 is already delivering a tangible improvement in rendering quality over and above Uncharted 2 and in some respects Killzone 3, while the game still has just under a year to go before it goes gold.

We also haven’t even mentioned that 3D support is also in the pipeline for day one. How this will be implemented – what method: side by line, top to bottom, half res, full res, etc hasn’t been confirmed – but Naughty Dog have stated that the engine is constantly in a state of flux, with new tech and changes being implemented right up until a month before the final crunch to completion. With that said, we won’t likely find out anything concrete for at least a few months. Although details on the 2D rendering engine will certainly surface long before that.


So… Uncharted 3 then, from what little we’ve seen of it, is looking mightily impressive at this point. It’s very early days in the game yet, with many questions still going unanswered, and a few in which the answers are obviously identifiable. The leap between the second and third Uncharted titles doesn’t appear to be as gigantic as the jump from UC1 to UC2 (SSAO was by far the most noticeable upgrade), although there’s plenty of subtle elements that provide additional flair to the engine, along with increased levels of realism to help engross the player further into Drake’s world.

As we’ve already mentioned, a direct-feed gameplay trailer has since been released to complement the highly directed teaser trailer, showing off two minutes of continuous gameplay in which to present the various in-game engine improvements. You can expect another analysis, albeit much shorter based on this in the next few days.

Thanks go out to Nebula for the framebuffer analysis/pixel counting.