Wednesday, 9 February 2011

Tech Analysis: Fight Night: Champion: Back To 30fps

A few days ago a demo of EA's upcoming Fight Night Champion was released over XBLA and PSN. But as you might have noticed, there have been quite a few dramatic graphical changes to the game compared to the two-year old Fight Night Round 4. In particular, the framerate. Unlike with its predecessor, FN Champion runs at 30fps rather than at an preferably eye-blazing 60fps.

Even if the quicker, perhaps almost more arcadey, look of RD4 wasn't to everybody's tastes, the additional smoothness and overall fluidity it provided over the third game was wholly beneficial. Reducing the framerate simply means that in one way this sequel has taken a step back. But on another level, it allows the developers to create a more cinematic presentation; one that is more akin to what you'd find on a Hollywood movie, than a live pay-per-view showing.


Fight Night Champion


Fight Night Round 4

This change may initially seem strange - especially when considering the additional smoothness the higher framerate provided in RD4 - but with the difference in style that the developers are aiming for, on the whole it works rather well. Fight Night was, with RD4, buttery smooth, but with FN Champion, it is brutally fluid now, with each blow feeling like it carries a lot more weight than it did before.

Below, we've put together a video showing off a single gameplay section from both games back to back (on the 360), highlighting the difference. As expected, the video has been encoded at 60fps and in as high a quality as YouTube will allow for. Although, the site's own re-encoding has been far from kind, dropping the framerate back down to 30fps again.



From our comparison vid, you can see that the chop down to 30fps have made for some obvious upgrades in many areas. With more GPU cycles to spare on visual effects and more in the way of detail, the trade-off makes sense in the context of achieving the look the developers are going for.

The first thing to note, is that while the cut-scenes also run at 60fps and 30fps respectively, in both Fight Night titles. The real difference though, comes in the form of gameplay, whereby the change in framerate gives both games a completely separate feel to them - FN Champion is a lot more like RD3 in this regard, than it is RD4.


Fight Night Champion


Fight Night Round 4

As you can see, the characters in FN Champion feature more detailed texturework, thus taking advantage of the lower bandwidth 30fps requires. Various elements, such as pores and lines visible on characters skin, are far more apparent. These intricate, little markings add a great deal of definition compared to the flatter look found in RD4. We can also a clear upgrade in terms of skin/surface shaders, which look stunning as a result.

Other improvements include a further advancement of the body-deformation system the team pioneered in Fight Night RD3, and tweaked/redone animations. Performing a left or right hook, for example, yields a much more realistic reaction when the arm collides around the opponents body when the two are standing together.

Below, we can also see the inclusion of a stronger depth-of-field effect in some scenes (its hardly there at all in RD4), along with an improved lighting engine, with what looks like use of more dynamic lights on screen. Here we see a few key lights illuminating the scene in real-time, along with more ambient lighting. This is especially apparent on the characters as they make their entrances to the ring. They are also more realistically shaded too.


Fight Night Champion


Fight Night Round 4

So, the drop to 30fps has been leveraged to allow for a greater number of advanced effects. And, by running at a lower framerate, effectively, the developers have more time to spend on rendering each frame. At 60fps you have roughly 16ms allotted per-frame, but when chopping the refresh number down to half , you now have a 33ms window in which to render the next frame. More time per-frame, means that it is possible to use more GPU intensive effects and not go over budget.


Fight Night Champion




Fight Night Round 4

Standing out in terms of these newly added effects, is the use of an advanced implementation of per-object motion blur. Compared to blur as a post-process effect, having it on individual objects - calculated in real-time - in a scene is computationally expensive. Tekken 6 for example, had its framebuffer resolution downgraded in order to accommodate this, but here, with more budget per-frame to play with, EA have managed to get Champion running in 720p and, with 4xMSAA.

The use of blur also mitigates the drop down to 30fps somewhat. Motion looks and feels smoother than it really is - not to mention blindingly fast as you pull back and unleash those punches. In this case, the lack of raw smoothness is made up for with an increased sense of immersion. Plus, the grimier, more realistic art style in the game complements the change. On the whole its very impressive, and the change to 30fps has definitely resulted in a better looking game.


Fight Night Champion


Fight Night Round 4

Of course, the purpose of today's update today wasn't to delve deep into the tech powering the game, but rather, to showcase how the drop to 30fps can actually provide some tangible benefits to the engine as a whole, even if the overall experience isn't quite as fluid . While 60fps may be the holy grail of refresh rates, it is not, by far essential in producing a visually outstanding game - Uncharted 2 for example, is still easily up there at the top - and EA's decision to go back to 30fps represents an understandable balancing of workloads; one which best suits the end production.

In FN Champion, it actually feels far more like you are actually battling it out with your opponent, like you are being thrust into the in an intense situation. Perhaps not quite lifelike, but exciting all the same. RD4 in comparison, feels more relaxed to play. Which goes to show, just how visual representation can often dramatically change things outside of the graphical scale, bolstering the gameplay as an intentional side-effect.

All shots from, and analysis based on the 360 version of the demo.

Monday, 7 February 2011

Tech Analysis: Bulletstorm Demo (360)

We've been performing our in-depth tech analyses for around a year now, covering some impressive multiplatform conversions, such as the superbly handled Vanquish, to the extremely poor Mafia II. But our look at Bulletstorm is a little different.

Previously, for all our tech-based features we relied on various screen grabs posted by various forum members and by two rather generous German sites (Cynamite.de and Videogameszone.de). While this worked out very well - and indeed continues to do so - it does limit just what we can cover and how we can cover it. This means that we often couldn't perform anaylsis on specific points of interest, nor could we back up some of our findings with a decent image of what we are seeing.

Bulletstorm marks the first game using actual capturing equipment, grabbing lossesly-compressed gameplay along with pixel-perfect HDMI screenshots. As expected, with Blogger's limiting 1GB image hosting allowance, all shots will be compressed down in order to save on space. Plus, videos, when we start using them , will unfortunately be reduced in quality to enable decent YouTube playback in 720p.

Still, it's a start. And there's more to come once I've sorted out a string of issues, all of which have sabotaged short-term plans for a few other features in the pipeline. But take this as a test.

Also, seeing as I've got some serious issues with my HDCP decrypter box, I've been unable to capture any PS3 gameplay footage or screenshots. So, in that case, rather than go head-to-head, today we're going to be looking at the make-up of Bulletstorm's engine, and just how much of it, if anything at all, has been tailored for cross-platform, PS3 and 360 optimisation.

But without further ado, lets get on with our look at the game, high-quality screengrabs in tow, but minus any gameplay video montages.


Starting off, without any pixel counting, Bulletstorm appears to be rendering in 720p on the 360 without any form of anti-aliasing. So, as expected there is plenty of edge shimmering and sub-pixel artefacts to be found - at times the screen can literally crawl with jaggies. This can clearly be seen in the high contrast portions of the game, demonstrated perfectly in the shots taken from the demos's opening segment below.

Seeing as the AA resolve is performed near the begging of the rendering cycle in UE3, when MSAA is present it normally only manifests itself on certain edges in some scenes. Or, as some titles, such as Gears Of War demonstrates, only in static scenes specifically. With that being the case, there's little point in actually including it - the additional memory bandwidth and GPU cycles saved, could be spared for other tasks.


By and large, most of the time when dealing with UE3 games on PS3 we find that getting the engine up to the standard of the 360 build, even getting it running smoothly, is more often than not an afterthought. For every Mass Effect 2 or Singularity, we have a Bioshock 2, whereby various cuts have been made in order to accommodate reduced levels of memory bandwidth and lower vertex shading throughput of the console’s RSX GPU.

Occasionally, developers will choose to pair back the 360 build in order to gain a matching performance on PS3, optimising their code and asset quality so that it favours both systems, rather than just the one. And that's exactly what is apparent with Bulletstorm. While performance isn't a complete match - the PS3 version has slightly more slowdown - we can see that many concessions have been made (on the 360 and on the PS3) in order to accommodate the game's real-time lighting and shadowing system, along with attempting to maintain parity across both platforms.


Take the game's use of texture mapping for a second. Here we have a distinct mixture of clearly normal mapped surfaces in combination with many flat looking areas that go without. Normal mapping has been used efficiently, but also sparingly compared to the likes of, say, Gears Of War.

At the same time, actual texture detail and resolution is decidedly a mixed bag of sorts. Bulletstorm uses a range of low and mid-res assets, with many surfaces featuring some very poor looking textures from a distance, but up close descending even further into blurriness. It seems that the most detailed art-assets in the game, are the ones which are used on key normal-mapped surfaces; more detail, plus depth and resolution.


You can't fail to notice this in motion, and in still screens the various cutbacks stick out like a sore thumb. There is also a lack of AF (anisotropic filtering) present. The game favours the more traditional, and far less performance heavy - on the 360 at least - bilinear approach to filtering.

That said, the fast-paced nature of the game, keeping you constantly moving, always in the flow of hectic and heavy combat, yearning for you to make that next 'killshot', means that this isn't something you'll care to spend time complaining about. In Bulletstorm’s case, it's all about comboing up various killing techniques, from lassoing an enemy from across the screen, before grenading him into oblivion, or delivering a quick kick to head, gunning them down afterwards.



On the one hand, the use of lower res textures for many surfaces along with a more controlled use of normal-mapping, allows for minimum cuts being made to get the game to run in the PS3's more limiting memory confines, whilst comfortably working in 360's fast EDRAM bandwidth. But on the other, it also allows the developers to break free of the Unreal Engine's historic lineage to using pre-backed lighting techniques.

While the UE3 is suitably based around handling lots of pre-backed lit and shadowed environments, it slows down considerably when graced with plentiful amounts of real-time calculations. For those who aren't aware, shadows calculated on the fly, in particular eat up copious amounts of bandwidth used for alpha-channel effects: lots of transparencies equals lots of bandwidth heavy alpha. So, to that end, the more memory saved by chopping back on normal mapping and higher res textures, plus alpha effects res, the more that’s left for other things such as this.




As a result, we see that People Can Fly's latest features a real-time lighting and shadowing implementation, going beyond the pre-backed elements found in Epic's own triple-a titles. And the result is very impressive indeed. Whilst not quite measuring up to Crysis 2's level of accuracy - it's not GI - it's still instantly apparent in how much it improves the overall look of the game.

As you can see in the shots above, and later on this page, both gunfire and your electric whip light up both the environment and the characters contained within. Light is also reflected from the muzzle flash of your gun, back onto your gun itself.



In addition, the surrounding lighting and shadowing composition of the environment also lights and shades your gun accordingly. In Bulletstorm this isn't simply a case of darkening an object at one end, and lightening it on the other; the changes are wholly dynamic in nature, whereby different parts of an object is lit up according to the affecting light source, and of course the shade present in the environment.

The change from pre-backed to a real-time solution - although, it does look like some pre-calculating is still being done in places - basically allows the artwork to not only stand out more, but it also adds some additional depth to the scene. HDR in particular, in combination with the low to high transition, helps with this.



All this comes at a price however, and as a result we can see further tweaks and changes made to the game to accommodate the lighting solution. The alpha buffers, for example are rendered in a lower resolution, thus saving on memory bandwidth needed for things such as real-time shadows. This compromise also ensures a more comfortable transition to the PS3, whereby alpha effects are usually downgraded in resolution to work in more restricted memory environment.

Smoke, fire and particles are all rendered in a lower-res. However, this is barely noticeable in motion, when playing from a reasonable distance on your HDTV - say, about 6ft from a 32" LCD in my case. In addition, all effects have been adequately filtered, meaning that no aliasing is present. The differing layers of 2D sprites which make up such things are also blended nicely - much like in KZ3, although they do look noticeably flatter here.


In terms of performance, Bulletstorm runs at a smooth 30fps for most of the time, only slowing down mildly when the load increases beyond what the engine can cope with. Usually having several enemies on screen at once, along with a few explosions usually is the root cause. But this rarely happens for long periods, nor are the drops severe in nature.

Some people have also posted claims that the game is actually running at a higher framerate than 30fps, as it appears to run very smoothly indeed compared to a number of other 30fps titles. However, this isn't the case at all. Without any equipment to measure this observation, other means of testing are required.

All I did to confirm the 30fps update, was to look down at the floor whilst running forward, before aiming back up to the horizon again whilst moving. Doing this, whilst very un-scientific, allows you to see the characteristic features of a 30fps update - when looking down the lower refresh is obvious - but as you aim upwards and back to the default position, you can see that fluidity does not increase - it's wholly perceptual, and not I might add an actual change in real-world smoothness.

The game also looks like it is v-synced, with tearing only occurring when the engine struggles to cope with rendering the next frame in time. Rather than drop frames, the developers have chosen to disengage v-sync instead, thus maintaining a higher screen refresh rather than drop down to 20fps for short extended periods when the screen is awash with enemies and particles.

You can clearly see this above, in the mid-part of the first section of the demo. Here, the explosion of alpha heavy particles, fire effects, and amount of enemies on screen put the engine under stress. As a result we see a drop in framerate, but also the loss of v-sync as the engine attempts to preserve overall smoothness at the expense of having clean frames displayed.

Outside of these admittedly small blips, Bulletstorm is very solid in this regard. And in terms of what framerate drops and torn frames there are, they represent a very small part of the overall experience whilst playing. In addition while we are just covering the 360 demo, we can also say that the PS3 build looks to be very much the same, being mildly behind the 360 game when stacked up against it.


Back to the graphical make up of the game itself, and we can see a range of further cuts and improvements.

The amount of specularity present in most titles using the UE3 has been paired backed considerably, with less in the way of surfaces that features an overly shiny appearance. Plus, objects that are reasonably far away, but still pretty close when viewed from certain parts of the environment, are displayed as what looks like flat 2D sprites, with on occasion some flat, textured geometry being used instead.



By contrast, we also see the inclusion of a very convincing depth of field blur effect, used to focus your eyes onto the enemies and environment, and away from your weapon. Also, not all effects are rendered in quite as low resolution of the smoke and fire. The lighting from your electric whip looks to be full-res, or at least pretty close to, as does the electric particles that come flying off when used. Whereas, on the other hand, any smoke given off is obviously of a lower quality.



But overall, by the look of things, it's pretty clear that with Bulletstorm the dev team have balanced out the overall load accordingly, speccing out a range of tangible improvements - such as real-time lighting and shadowing - along with a few well-considered downgrades - texture resolution, reduced normal mapped surfaces etc. The use of a combination of low and high-res effects also point towards a firm commitment towards a multiplatform approach to development, while benefiting the game in terms of allowing a more advanced lighting scheme to be used.

At 720p with no AA, the game’s framebuffer comfortably fits into the 360's EDRAM - yet another consideration - while the other memory saving techniques makes the game well-suited for running on the PS3 'as is' without the need to really pair it back any further. That said, I haven't looked at the PS3 build in-depth, in full detail just yet. Although, it does look nigh-on identical, if not so, with lighting being the same, and only a slight difference in performance separating them.

If we get a chance, we should be taking another look at People Can Fly's latest just after release. But, with both Killzone 3 and the Dreamcast collection both incoming on the same day, there are no promises mind. That week will be all about Guerrilla Games' triple-A sequel.

So far, Bulletstorm seems to be reasonably fun, if not a potentially repetitive ride into juvenile shooter exposition. Sexual references and Duke Nukem level humour aside, it's basically what you expect from a FPS that has left its public work persona at home.

Friday, 4 February 2011

Intrusion Prevention: PS3 Re-Secured?

It was only a few months ago when the PS3’s heralded security system dramatically failed them, thus resulting in hackers being able to sign their own homebrew code on the system.

The exploit, for those who don’t know, was based upon the discovery of the software and hardware keys Sony use for signing and authorising PS3 software. The company uses many keys to sign code, ranging from games to system updates, all of which are supposed to be locked away by a strong numerical encryption. However, a fatal blunder on the part of Sony meant that this didn’t happen.

All anyone needed to do in order to extract the various keys, was simply to find the random number used to encrypt them in the first place. Like with any encryption cipher worth its salt, it is encrypted using a different random number each time. Thus, preventing its discovery. Each file is signed using a different number each time. But, and somewhat foolishly for Sony, this wasn’t the case. Instead, the number responsible for signing every file was the same. In which case it is possible, by using two signatures and a mathematical equation, to reveal the key used to sign the code.

Doing this led to the discovery of all the main keys used to sign off code for use on the PS3; the firmware, the games, and the entire system security was, in a single moment, cracked wide open. Just a few days later, the posting of the system’s master key effectively made a solution to the problem almost unworkable… at the time.

Now, it appears that, via firmware update 3.56, Sony has been able to actively find a resolve to this problem. But it’s far from being a permanent one. And how long it actually holds up for, remains to be seen.

A detailed post on PSX-Scene, by RMS, a PS3 software/homebrew developer, explains it clearly.

“Well, I’ve been on EFnet for a while now, and I’ve seen many people asking about PS3 Custom Firmware 3.56, well, let me put it in a simple manner, it’s not possible thanks to what Sony did with their ECDSA (Elliptic Curve DSA) cryptography, and the new PUP format along with Cell-OS Lv2 having some extra checks on SELF files now."

"See, when we used to get private keys for earlier fail ECDSA keyset revisions, a variable, r, in the ECDSA signature was static, thus allowing us to get the keys using the signature itself, now, Sony fixed this by making that variable random, so we can no longer use simple algebra to get the private key like before. Do note that to retrieve the older private keys, one needed to use 2 signatures, and simply compare them to get the private key. Now, for those who do not know about private keys and public keys and ERK/RIV, here’s a simple explanation: Private keys are used to create signatures, public keys are used to verify the signature’s authenticity. ERK/RIV is used to decrypt the encrypted SELF data."

"The new PUP format has 2 extra files, one consists of a new tarball with spkg_hdr1 files, ensuring package integrity, so one can no longer create rehashed pups anymore. Until the spkg format is deciphered, and they can be resigned, one’s pretty much stuck with Official Firmware. Core OS also has some new additions, appldr now checks your SELF revision for NPDRM, and Lv2 selfs, they either must be whitelisted or use the new revision 0x0D keyset in 3.56. Lv2 now will also refuse to load older updater or Lv2diag.self files that do not use the 0x0D keyset. Core OS also has two new revoke lists, prog_srvk and pkg_srvk. They have yet to be fully inspected yet."

"So, in the end, Sony pretty much fixed most of the fail, some’s still around though, go look for it. =)”

In more simple terms, as it turns out, while both the old public and private keys were revealed, with the 3.56 update, Sony has replaced the old private keys with new ones. These new keys are apparently known to only the highest-ranking individuals at Sony. And, it’s using these new private keys, in combination with a proper random number generator that has allowed it to finally able to plug the whole.

Effectively, as long as the random number encryption holds – and it should do without another human error – then the all systems with this latest update will be mostly secure without hardware modification – the flashing of the console’s NOR/NAND chips. Of course, without doing that hackers could try and decrypt new games, which require the update using the old hack, before patching and re-encrpting them to run, but only on older firmwares. Although, this won’t work after the new public key comes into effect, nor will the games work on FW 3.56 or later.

That just leaves existing releases, which as the public keys are freely available, they are still susceptible to being run without proper authentication. However, there is no doubt that Sony are compiling a white list solution of sorts to the problem, seeing as changing this key will break compatibility with most, if not all older games. As a result, it will still be possible to run unsigned code on PS3’s that don’t have the 3.56 update. But on all consoles with the update, eventually, only white listed and new code will be able to run. It won’t be possible to sign new code with the old keys.

However, even then, there is still a sting in the tail. It will still be possible to get around these new security measures by flashing the internal AND/NOR chips, thus allowing the latest firmware to be downgraded and new custom firmware installed.

Talking to next-gen.biz, Mathieu Hervais, a respected homebrew developer elaborated on the issue.

“New keys were introduced in the 3.56 Firmware and code that is not whitelisted is now forced to use those keys. However, since the boot chain integrity is compromised it’s always possible to reprogram externally the NAND/NOR chips (where the firmware code is written to) to run unsigned code again."

“No matter what they do, a 3.56 (and onward) custom firmware is possible on all PlayStation 3 consoles manufactured so far,"

What this effectively means, is that Sony will have to make additional changes to the internals of the PS3 to stop the exploit from taking place. But at the same time, the 40+ million PS3’s that are already on sale are fully susceptible to being hacked, and cannot be completely patched against this. However, now getting access after the 3.56 firmware has been installed is in itself is no easy task. The flashing of the system’s NAND/NOR chips is no trivial matter for the everyday user, although it could open up a route for the pirates to start selling already flashed PS3’s, thus enabling the end user to run unsigned code and copied games until another flash is required later on.

But, for now at least, in terms of stopping an easy way into the system that anyone could exploit – the jailbreak for example - it appears that Sony have found a way of re-securing the PS3. And, with yet more firmware updates coming in the near future, even more of the system’s internals will be flashed with other changes to the security mechanism.

So long as the private keys are never revealed, nor the random number generator botched in its implementation, there’s no reason why newer PS3’s cannot re-maintain it’s once ‘solidly secure’ status. Although, from what recent events have shown, is that no system – no matter how strong the security – is ever immune to being cracked. Instead, it’s all about keeping one step ahead, making sure you have as many holes plugged as possible while trying to discover just where the next break with come from.

Tuesday, 1 February 2011

Tech Analysis: Crysis 2: Multiplayer Demo (360)

Crysis is synonymous with graphics… that much is obvious. With each instalment in the series, Crytek subsequently included everything but the kitchen sink in their approach to real-time rendering. If performance suffers, then you simply throw in a new graphics card, or two. Now, while that might be fine in the PC space, consoles on the other hand, are somewhat more limiting. That said, with Crysis 2, the developers are still implementing their ‘as much as possible’ philosophy, perhaps only downgrading certain parts of the game in accordance with memory and performance restraints.

To that end, the recent multiplayer demo of Crytek’s upcoming tour-de-force, demonstrates that with a bit of chopping and editing, that is possible to deliver some of the high-end visual components usually seen in either the top-end of real-time rendering, or found in lower-quality CGI, but on consoles. We only have the 360 demo to hand – there isn’t a PS3 one yet, nor has there been anything shown of the Sony version since the initial unveiling of the CryEngine 3. But what we have here is a mightily impressive showing of just what can be done.

So, just how good does Crysis 2 look on consoles, or more specifically, on the Xbox 360? Well, before we begin a proper, it’s fair to say that the game is running on the console with what looks like ‘medium’ detail settings on the PC; which means that you get most of the good stuff, but not without some very obvious pairing back of overall image quality as a result. There have also been a few added effects over and above that of the ‘medium’ setting found in the original Crysis, although not compared to the same setting in the sequel.

Let’s take a closer look.



As always, we start off by looking at the framebuffer. Straight away, via both looking at the screens and by playing, it appears that Crysis 2 seems to be rendering in a sub-HD resolution. Initially, this looks like being somewhere in between that of the Call Of Duty games (1024x640) and Halo Reach (1152x720). However, pixel counting reveals that Crysis 2 actually features a 1152x720 FB just like that of Bungie’s title.

Why on first impressions, it doesn’t look as clean around the edges, is down to the fact that Crytek are using a lot of post processing effects on the screen, along with a low resolution depth of field implementation, whereby objects either in front or behind the DOF feature an addition cut in resolution. This means that Crysis 2 does look slightly softer than other games with similar resolutions. Although, there are other factors which also affect this.

In addition, like with many games operating on the more bandwidth restricted PS3, Crysis 2 uses low-res buffers for all its visual effects. Things such as water, smoke, fire, and other effects are all rendered in a resolution that is significantly lower than that of the framebuffer. Sometimes this goes unnoticed, like in the case of small particles and such, but with the larger effects it is far more apparent.


Moving on, in terms of anti-aliasing, when we first looked at Crysis 2 it appeared that the game seemed to have no AA at all. However, initial looks can be somewhat deceiving, as the screenshots tell us a slightly different story. There seems to be evidence of 2xMSAA on some surfaces, but not on others. Perhaps Crytek are using some kind of selective MSAA routine? Although, delving deeper confirms that a selective, plus temporal approach is what is being used.

The effect of this is clearly evident in the screenshot below. Here, we can see a manifestation of double-image ghosting, a common side effect of the frame blending used in creating temporal anti-aliasing. Where Crysis differs, is that the engine is performing AA on both static and dynamic scenes: selective AA is applied to certain parts of the scene in motion, and on more of it when there is no movement. In comparison, games such as Halo Reach on 360, and DMC4 on the PS3 only apply AA on static scenes.

For the most part, the end result is that Crysis 2 looks like it has no AA at all. There is plenty of edge-shimmering and sub-pixel artefacts that extend across the whole scene. Furthermore, this isn’t helped by the high-contrast nature of the stage present in the demo, nor the upscaled FB, both of which accentuates this further.


Image quality then, leaves a lot to be desired. And this isn’t helped by the use of what looks like an aggressive LOD and texture streaming system, in combination with poor quality texture filtering. Though it is comparable to titles such as Halo ODST, which sacrifice IQ for more advanced effects in other areas. Crysis 2 does the same.

In the demo, we can see a few high-resolution, detailed texture maps, alongside many lower quality ones. In fact, to balance out memory usage Crysis 2 actually has more lower res textures than higher res ones. Most look good all things considered. However, actual filtering is decidedly basic. Crysis 2 appears to be using bilinear filtering for most of its textures, with what looks like the occasional bias towards certain surfaces. Then again, the LOD could be affecting this.

As a result of this, and the LOD, many details in the distance are blurred, and lack sufficient sharpness, which isn’t helped by the consistent, and sometimes varied nature of both geometry and texture pop-up.


While playing, you can notice that various textures, and geometric environmental details – such as grasses, metal railings, etc, tend to pop-up as you come close to approaching them. It’s very obvious in nature, with a few instances of high resolution textures not actually appearing until we got around a metre away from the effected surface.

That said, memory constraints, along with the desire to include real-time lighting and shadowing techniques, means that some compromises have had to be made. Even with the Xbox 360’s fast, bandwidth monster that is the Xenos GPU, there still isn’t enough available in order to have hi-res effects, mild LOD, and top-end IQ. But the choice that Crytek have made, appears to be the right one for the game, especially it seems, when you see how most surfaces are normal mapped, and are affected by the surrounding lighting.

You also have to consider the 360’s 10MB EDRAM limit, by which you have to fit the entire framebuffer into, or get an additional penalty in terms of having to use tiling. And, that’s exactly what Crytek are doing for Crysis 2. By opting for a 1152x720 FB they can avoid tiling.


But as I said earlier, this compromise appears to be worth it given the advanced, tech-heavy lighting engine used throughout every area of the game. For those who don’t know, Crysis 2 – on both consoles and the PC – uses a real-time global illumination system for all the main lightsources in the game. We have hear what Crytek are calling ‘single-bounce global illumination’, whereby, as one lightsource casts a light, it is then reflected once back out into the environment on another surface, casting dynamic shadows as it does this.

Not all light sources in the game cast shadows, nor would you expect them to. However, when there is a few lightsources on screen at once in close proximity, a single, main lightsource – of the few - will cast a dynamic shadow onto the environment instead, thus partially negating this. As a result, there is not only a greater sense of depth to the environment and everything in it, but also a more natural look to any given scene as a whole.


The level of accuracy present from this advanced rendering technique is stunning to see compared to other games which simply fake it, using pre-baked environmental lightmaps, or many local dynamic lights – and a fair amount of baked ones too – in order to emulate this. Crysis uses both a single GI solution, along with additional local lights, thus yielding the best results when processing power is a limited commodity.

For example, there are some really cool touches, such as the light reflections coming off the barrel of your gun when fired, or as it passes through other lightsources in the environment. We can also see light reflected off of shiny surfaces, weapons fire, explosions, etc. and sunlight. All of which is very impressive for a console title using what equates to five year-old technology. But then, that’s the magic of closed box architecture; being able to push the envelope in ways not possible on the PC with similar specifications.


Also impressive, is the use, albeit quite limited, of secondary – or indirect – shadowing on a few surfaces. However, seeing as this comes with a heavy impact on performance, in order to keep the game running smoothly, and in-line with memory contrasints, there is a very aggressive LOD controlling the display of these effects. In-direct shadows only appear mere feet away from the player, often too late to really be noticed when playing the game. They are there however, but in limited amounts.

Complementing this, we have the expected return of SSAO (screen-space ambient occlusion), which features heavily in the core make-up of the CryEngine technology – it’s actually a custom implementation I believe, one that works with the company’s GI solution, and as usual bringing additional depth to the scene.


Other nice touches include high quality specular reflections, whereby the actual light point is reflected more sharply than as a simpler rounded shape. The light reflection has less spread, being more focused. Although, this in turn also depends on the level of specularity of the surface light is supposed to be reflecting from. Either way, specular, and indeed diffuse reflections – the two combined – are handled much more convincing than in most titles.

In addition to the standout GI solution, and the lighting in general , we also have a high-quality implementation of high-dynamic-range lighting (HDR), which not only creates a strong bloom effect when the player is facing the sun, but also a nice transition between both the top and low end of the spectrum. Although, as is evident in the screenshots, Crysis 2 definitely favours the extreme top end in various parts of the demo stage – bloom appears almost too overblown at times, with colour tinting on surfaces that this shouldn’t be occurring on.


We can also see that occasionally, and on some surfaces – mainly on background objects – that the game’s use of lighting appears to be simplified, perhaps even paired back by LOD again. Take the buildings in the distance for example, while appearing slightly basic in construction (textured, polygonal boxes basically), the lighting surrounding them has been reduced - It almost looks like the GI lighting model doesn’t apply to them, or that in some cases, real-time lighting isn’t present.

A fogging effect is also present, no doubt to help hide/blend in the distant low-detail objects produced by the LOD system. Perhaps, this is having an additional affect on the lighting in these areas. In addition we see what looks like a basic skybox. Plus, the smoke effects that cover the sky are flat, and also inconsistent in the way they cover the scene compared with the accuracy of the surrounding lighting.


That said, there’s no doubt that Crytek’s use of such an advanced lighting scheme pays dividends to the overall look they are trying to create. The Crysis 2 multiplayer demo is home to some of the most accomplished lighting seen on a console title. It’s not just the use of dynamic lighting – which many games have now anyway, but the extra level of realism provided by the GI system.

Given the limitations in working on aging, memory starved hardware (compared to today’s top-end, even mid-low-range PC’s), some cuts are always going to be made. Although, when you see just how well the demo performs, these look like being worthy compromises.

Crysis 2 targets a 30fps update, and for the most part, manages to near constantly hold it all throughout the entire experience of the demo. The game only very rarely slows down, and even then, it’s only for a split second or so, dropping what looks like a very small amount of frames. Impressively, it even manages to achieve this feat when there is not only a varying amount of particle effects on screen, but also on the rooftops with several people in one place, where the full force of the game’s GI lighting can be felt.

However, on occasion, when outside and there is lots going on, or as I’ve found, after getting killed and seeing a third-person replay of my death when combat is still breaking out, some slowdown will occur.

So, performance in terms of framerate is solid, but here we also see evidence of the game being fully v-synced too. Without equipment to measure if there are any frames being torn – even if it is just a single one in the whole rendering cycle – we can’t say for sure, 100%. But, what is clear, is that throughout the time spent in the company of the demo so far, no screen tearing seemed to be apparent.

In any case, even if one or two frames were being torn, unless there is a steady succession of torn frames in a row, then any screen tearing simply won’t be visible to the human eye. So, it stands to reason that Crysis 2 maintains some kind of v-sync: either a hard sync, or a soft v-sync dependant on rendering load.


One thing that doesn’t feel quite right though, alongside Crysis 2’s smooth 30fps refresh rate, is the noticeable input lag felt when jumping or performing other moves. You can also feel the very same thing as you aim and fire too. So, what could be causing this?

Well, my best guess - seeing as the game appears to be v-synced - is that Crytek could be using a frame buffering technique in addition to a soft v-sync, such as double buffering, whereby two frames are rendered for every one displayed with one being held in reserve just in case the first tears. That would at lest explain the additional latency that we seem to be feeling, although this isn’t a solid conformation on the matter.

Looking at how the game performs under load, the solidness of the 30fps update, we can understand just why some of the less attractive compromises were made. The experience as a whole is a smoother, more succinct one. It’s very impressive on the whole. There has been a balancing act between trading off certain elements in order to get others up and running in budget, per frame no less, and without increasing overall cost in other areas to do so.

In that respect, this is all to be expected on a console release dealing with GI solutions and plenty of dynamic lights. Crytek’s engine does indeed render various parts of the pipeline in different passes, and with varying degrees of quality. Although, it also delivers many high-end effects all in one package, which is something that most console releases fail to do.


The fact is, Crysis 2 currently looks great on consoles. And that can only be a good thing. Sure enough, there have been some downgrades. But, realistically, when you’ve got GI, SSAO and object-based motion blur, that is only to be expected. Plus, in any case, the admittedly low quality IQ does little to spoil the experience, considering what’s included.

Like with the very sub-HD framebuffer in Alan wake, the lack of AF plus a solid AA solution in Crysis 2, are all negated somewhat – though not completely - by the sheer beauty of the game’s real-time lighting, and the interactivity between it and various surfaces present in the world. Near rock-solid performance at 30fps with no screen tearing doesn’t hurt either.

Perhaps all that’s left, is to wax lyrical about the possibilities surrounding the currently MIA PS3 version of the game. However, if you’re looking for talk of the system’s bandwidth limitations potentially resulting yet further downgrades, loss of IQ, then you’ll be somewhat disappointed. If a recent, internal config file of the game is to be believed - the info contained within specifically puts the two versions on a par with each other, with the implementation of v-sync in relation to performance separating them – then this shouldn’t be the case.

The most likely scenario, in the weight of no further evidence being available at this point, is that the compromises found in the 360 demo have been brought about by optimising the engine to run comfortably, and within range of both systems specs, taking into account various nuances, such as 360’s EDRAM, and PS3’s additional CPU processing power. But then gain, we’ll just have to wait and see.

With the demo out of the way, it will be interesting to see what the final game has in store for us - specifically the single-player campaign. Usually, the multiplayer aspect often sees some graphical cut backs in order to maintain better performance for online purposes, and unpredictable load. The demo also showcased a definitive improvement over the old campaign code I played at the EG Expo back in October. So, by that reasoning, it is entirely possible that we could see additional improvements to the game in the final retail version.

Thanks go out to Mazinger Dude for the pixel counting and Shinnn for the screenshots.

Monday, 31 January 2011

The Latest CryEngine 3 Global Illumination Demo

The IQGamer Crysis 2 demo analysis is on its way. But in the meantime I suggest you take a look at the video below. It’s a rather impressive demonstration of global illumination using the CryEngine 3 – using multiple light bounces rather than just one!



All the shadows and lighting, along with the actual rendering is being performed in real time. Although there is no in-direct shadowing taking place, there are other neat touches, such as diffuse shadows and HDR. You can also get a brief glance of CryEngine 3’s day/night lighting cycle.

Similar things can be done using pre-backed alternatives, which are obviously static – not great for scenes with noticeable changes in the lighting cycle - but cost far less, especially if baked directly onto textures themselves. Unreal Engine 3’s Lightmass solution springs to mind. It’s good alternative for games which feature a fixed sun position, relying on many local, dynamic lights to create a similar effect.

Crysis 2 uses a single bounce form of real-time global illumination: it's clearly visible in the Xbox 360 demo. But more on that shortly.

Sunday, 30 January 2011

Tech Analysis: Little Big Planet 2 (PS3)

Little Big Planet was a game that really got those creative juices flowing. On the surface it was a simple, physics-based platformer. But under the hood it became apparent that it was so much more. The tools given to create and design your own levels could be used in such a way that went well beyond the platform confines Media Molecule had envisioned for the title. And for LBP2, things have been taken a step further, with a complete set of tools designed to allow for just that: building your own creation that bypasses platforming altogether.

Of course, outside of the successes such unique custom content has found - and indeed there are millions of user-created downloads to be hand - the engine powering the game was always there to facilitate a natural realism, bound by real-world properties, and developed to augment the title’s physics-based approach. To that end, the original LBP featured both a realistic lighting and shadowing system, even emulating light passing through dense objects, along with a range of impressive, though perhaps restrained, visual effects.

For LBP2, Media Molecule have gone back and re-written most of their original engine, expanding on various graphical concepts simply toyed with in the first game, to delivering a fully-realised implementation here. This sequel incorporates comprehensive changes to nearly every part of the engine: lighting and shadowing for one, anti-aliasing and core rendering make-up to name but two more. All these tweaks and upgrades have not only made for an impressively organic visual look, but are also far more accurate in nature.


Take the baseline framebuffer for a second. LBP2 renders in 720p, like the original, but ditches the standard 2xMSAA (multi-sampling anti-aliasing) for Sony’s custom MLAA (morphological anti-aliasing) solution instead. The end result is a clean and sharp look, with incredibly smooth edges, free from most obvious edge shimmering and other such artefacts. Here, we see up to 16x MSAA on some surfaces in-line with the level of edge-smoothing this technique regularly provides, along with 4x and 8x on other smaller pieces of geometry.

The only aliasing that we can frequently notice on some areas, appears to be from various sub-pixel edges. There are also examples of what we like to call ‘soft’ edge shimmering on a few AA’d edges at certain angles. Although, most have competently been dealt with. Indeed, a lot of the aliasing present on screen is very similar to the kind seen in supersampled, in-game trailers; that is to say, its impact is very small in diminishing the high level of image quality we can see in Media Molecule’s sequel.


A change in the method of AA used is but one upgrade LBP2 has seen. The developers have also completely re-written their engine to work as a standard forward renderer, thus making certain visual effects much easier to do. Previously, parts of LBP1’s core rendering make-up was differed, meaning that some elements of the engine were sufficiently bottlenecked – use of alpha effects for example, had to be done via the less desirable A2C method, thus inducing a screen-door effect on many transparencies, like smoke and fire.

In LBP2, this isn’t at all the case. Here we see that all transparent effects are rendered using the more standard alpha coverage, with alpha blend method, free from the dithered, pixelated look they had before. Not only are these effects now easier to do, they are also better blended too. Particle effects, other elements, such as smoke and fire, are still rendered in a lower resolution. However, they are nicely smoothed over to avoid any pixelation, or other similar side-effects, much like the use of alpha in both Killzone 1&2.


Far more interesting, is the way that these effects now interact with the game’s light sources, in changing the intensity of the lighting and in turn, the way shadows are cast as a result. This is down to the game’s brand new lighting engine, which accurately simulates global illumination in how the entire game is lit and shaded. LBP2 uses something called volumetric lighting, whereby individual lights affects how other objects all around them are lit, with elements such as reflections and specular highlights changing dynamically.

A single light source in LBP2 now has the ability to change the lighting composition of the entire scene. Shadows are cast via every light source – and indeed every object - and move accordingly with changes to the lighting present. This is best observed as Sackboy traverses his environment, moving in and out of contrasting areas of brightness, and through more subtle changes in environmental shadowing, along with when there is lots of objects being randomly thrown around the screen, each with their own shadow.

We can also see evidence of ambient occlusion. Previously, we thought that LBP2 was simply using SSAO to deliver AO on various surfaces, characters etc. However, that isn’t the case. LBP2 actually features real-time ambient occlusion as a consequence of its volumetric lighting engine. For most games, this would perhaps be too resource intensive to do. Although, the simpler nature of LBP’s world, and being far more tightly controlled in terms of the rendering workload on screen, allows this to be possible.


In addition, we can also see that LBP2 also makes use of volumetric alpha effects, whereby flat, 2D spites can contain three-dimensional volume, having an incredibly obvious, depth look to then, whilst controlling the light output through the effect. A series of values contain that volume inside say, a cloud of smoke, giving the object depth, but more importantly accurately limiting/changing the amount of light that passes though it.

It’s a nice effect, one that appears to be only subtly used in what I’ve played of the game so far. On some downloadable, user-created stages however, ones with plenty of explosions, smoke and particles, the result is more obvious. Seeing the amount of light reduce underneath, or very mildly to the side of a cloud of smoke or mist, but not simply a pre-calculated dimming, but what looks looks like physically less light output is a key demonstrator of the effect in action.

In combination with the game’s use of light and shadow, this helps to emphasise the realistic look that MM have sort to create for the fantastical world of LBP2. Added depth is one consequence, but mostly, having all objects accurately look like they exist tangibly in the world is another.


Going back to LBP2’s use of shadowing, we’ve already mentioned that the game engine casts shadows for every object on screen, wherein a clear example of shadowing would realistically take place. Although, what we’ve failed to mention is that the game also uses soft shadows for all objects too.

These shadows, like with the game’s alpha affects, are rendered in a lower resolution to the framebuffer. However, this is negated somewhat – though not totally – by the use of high quality shadow filtering, which helps blend in the lower res soft shadows onto their environment and other objects.

There are still some examples of flickering shadows, and jittering edges where the use of filtering isn’t enough to hide their low-res nature. But, then again, outside of a in-engine, pre-rendred cut-scene, or in the obscenely high-end PC space, shadowing errors are simply part and parcel of current real-time rendering with performance-sapping, hardware limitations.


Another impressive part of LBP2’s technical make-up to look at, is the game’s use of real-world physics in how objects in this artificial world react. Swing on a rope, and you can almost feel the pull of gravity; push over a stack of lightweight boxes, and watch the ease of how they tumble, knocking others over, pushing and falling in accordance to their physical properties. Heavy objects also have weight behind them: Sackboy himself, bounces and flows through the air like stuffed and stitched toy – all of which adds a sense of real tangibility to the world these items and characters inhabit.

Also, these elements allow you to have an understanding of how many of the objects, challenges and puzzles work, before even attempting them. Once you know which objects have which properties – and some are obvious as soon as you see them, then all you have to do is master their usage, but using your own worldly understanding to do so. And of course, the technique required with the Dual Shock controller.

Occasionally, objects, characters etc, react with a ragdoll-like effect, which partially breaks the illusion that Media Molecule have created. Although, with so much going on technically, you can’t expect perfect representation of physics. Even in high-end CGI productions, replicating certain properties flawlessly, even just accurately, is a lot of the time, beyond what is feasible, let alone possible in a real-time rendered environment. In which case, the developers have done an absolutely stellar job with LBP2 as a whole, carefully balancing out what works and what doesn’t.


Moving on, and in addition the numerous advancements in lighting and shadowing, we can also see the inclusion of both a depth of field effect present in the background on some stages, and motion blur on fast moving objects.

Interestingly, the implementation of motion blur seems to be relatively simple – it affects the whole screen, rather than being done per-object, like in Killzone 3, and the original LBP. The reason for the downgrade – even though the effect still looks very good – seems to stem from having such an accurate, and performance-heavy lighting system as part of the core rendering engine. As such, there is less rendering time per-frame left for object-based motion blur. Instead, blur appears to be done as a simpler post-process effect.

On the off-set, all these advanced visual effects; the accurate, real-time nature of the game’s shadowing and lighting, motion blur, and depth of field, you would assume to have quite an impact on performance – that a heavy performance hit wouldn’t be unusual. Although, whilst sampling a few levels from the game’s campaign and some additional user-created stages, that doesn’t seem to be the case


Little Big Planet largely runs smoothly, simple dropping a few frames when the load increases beyond the engine’s capacity to resolve it, with v-sync being completely absent and some noticeable screen tearing sometimes being apparent. Media Molecule targets a solid 30fps update, and rather than allow for the framerate to drop heavily whilst encountering a heavier load, prefers to go over budget with rendering the next frame instead. Thus, we can see that a 30fps update is maintained in situations whereby if the game was v-synced, would drop down to 20fps for a brief moment or so, maybe longer, with some screen tearing being apparent as a result.

While the engine does successfully attempt to hold a steady 30fps for the most part, we can see that it does occasionally slow down, sometimes quite obviously down to around what looks like 20fps or so for a brief second or so, sometimes far less so. However, for much of the time what we are seeing as framerate drops, are actually manifestations of very mild tearing, in which the screen wobbles briefly for a split second or so, instead of tearing noticeably.

The engine frequently misses its window for rendering the next frame however, and as a result, we see a large amount of tearing on fairly frequent occasions, where the effect is clearly visible across the middle of the screen when it happens, sometimes mostly to the left, or all the way across, depending on how much the engine stalls.

At it’s worst, there can be many torn frames manifesting one after the other: the end product is what looks like a juddering in combination with a tearing of the screen. When this occurs it looks like the game is both dropping frames and tearing, but in reality is still holding a mostly solid 30fps.

But despite this, the overall engine’s performance is largely solid - sans perhaps the screen tearing, but otherwise, given the strain due to the complexity of the game’s core graphical, and indeed physics-based make-up, you can’t really complain too much. All that additional oomph goes a long way to further immersing you in Sackboy’s world, so I think that the performance trade-offs are worth it.


At first it might seem surprising to see such a technically accomplished rendering engine, for such a quaint, although very impressive platformer. But, when looking at how the core graphical make-up really adds a sense of immersion, a sense of increased believability to the world contained within, then it becomes completely beneficial.

Many of the elements that make LBP as magical as it is to play – not to mention to watch up close or from a distance – is down to how most elements in this virtual world act according to what we know about reality, the physical world around us. Things such as objects casting shadows which change as a result of the direction of a light source, or the smooth edges found throughout (MLAA) that hides the per-pixel, blocky nature of digital rendering. All definitively add something to the table, however small they initially appear to be.

In which case, Media Molecule has done a stellar job at creating a game that is as technically advanced as it is visually accurate. I doubt anyone will actually play LBP for its superb graphical make-up, but instead be fully engrossed in its fresh and addictively unique gameplay. The visuals, as it were, are simply there to facilitate the atmosphere and add an extra sense of realism to a cute, but cool, fantasy world. In that respect, LBP2 can be really nice to look at, but even better to play. And that’s exactly the point, really.

Thanks to Cynamite.de (gamesaktuell) for the screens and AlStrong for the pixel counting. Various galleries can be found here. Plus, a special no thanks to my phone cam, which failed to pick-up a very clear example of volumetric fog in a really dark area of the game.

Up Next: Crysis 2 analysis due for late tomorrow evening.