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.

No comments:

Post a Comment