Sunday, 5 September 2010

Tech Analysis: Vanquish Demo (360 vs PS3)

We all remember the travesty that was the PS3 version of Bayonetta. It was hardly the best example of solid multiplatform development, instead representing exactly what happens when a publisher chooses to take a game perfectly designed around the advantages of one platform’s unique specifics, and converting it to another without doing the same.

On one hand you had the sublime 360 version of the game, complete with full resolution alpha and particle effects, detailed, vibrantly coloured textures, and a fluid 60fps framerate. On the other, there was the distinctly sub-par PS3 game, with its washed out textures, lower resolution effects buffers, and a framerate that was for the most part cut in half.

The game’s lavishly detailed nature, in combination with so many high res alpha effects was ideally suited to the huge amount of bandwidth provided by the EDRAM situated on the 360’s GPU, but was a poor fit for the PS3’s bandwidth starved RSX in its original form. Of course this shameful port was nothing to do with the game’s original creators Platinum Games. Instead it was converted and shipped out by a team at Sega, who wanted a PS3 version of the game out shortly after the 360 game’s release in Japan.

Thankfully for Vanquish, Platinum Games are at the helm of both versions of the game, and have developed it from the ground up – using the Bayonetta engine no less – optimising it in a way that takes advantage of both platforms without being more tailored for one than the other. In short, they have achieved an impressive example of platform parity, in which the PS3 build is every bit as solid and technically accomplished as the 360 one.

Arguably, there have been some noticeable changes in regards to what the engine is rendering on screen to make this happen; not least of all the slightly sub HD resolution of the game, along with the toned down use of alpha effects. Although this in it self is no bad thing, and is required for parity to be reached without large differences between builds. What is commendable, is that the development team at Platinum Games not only understood what needed to be done for their next venture, but that they have achieved it whilst still creating a visually impressive experience with plenty of intense action.

Seeing as Vanquish features a wealth of more advanced shader effects and post processing than Bayonetta, the game effectively renders in 1024x720 on both platforms in order to keep performance up, with edge smoothing being available through the use of 2xMSAA (multi-sampling anti-aliasing).

What is impressive is the fact that Platinum Games have managed to get anti-aliasing up and running on both platforms to an equal standard, and that the vast majority of alpha effects are rendered in full resolution matching the framebuffer – fire being the only one which sticks out as being slightly lower. And that’s also on both PS3 and 360.

The use of 1024x720 with 2xMSAA means that the FB just about squeezes into the 360’s 10MB of EDRAM, and that given the tweaks made to the underlying engine doesn’t put too much of a strain on PS3 performance, other than in heavy load situations, in which both versions suffer. In fact, as you will find out later, it is the PS3 game which initially fares a little better in this area.

As you can see in our screenshots, both versions look pretty much identical with only very subtle differences between them. The PS3 game appears to be a tad sharper, whilst the 360 version appears a little more pristine overall. Though most of the time they really do look the same in motion. It is likely that the ever so slightly cleaner look of the 360 build is down to the machine featuring a better scaler contained within its GPU, compared to the relatively poor horizontal scaler found PS3’s RSX, which simply features a bilinear solution. Although in this case there’s hardly anything between the two.

Brightness levels also appear to be slightly different on both versions, as does the look of the shadowing. Although it isn’t a case of one looking better than the other, with any differences being down to the way both machines respective GPU’s deals with certain effects. For example, in terms of the shadowing, both the PS3 and 360 versions actually use the same type of filtering, though it does seem to be implemented a little differently.

You could also point out that the lighting looks a tad washed out on the PS3 game, however that is as much due to the gamma differences between the two consoles video outputs than any technical limitations. In any case the precision of the lighting is the same on both versions, and adjusting the RGB settings for HDMI on PS3 and 360, along with your TV settings, helps bring this into line.

Either way it is safe to say that Vanquish looks as good on the PS3 as it is on the 360, with no glaring differences to be found like the ones so easily apparent in Bayonetta. Things like texture detail and filtering are the same across both versions, as is the use of post processing effects and alpha buffers for transparencies, so it’s basically like for like.

In our early tech report of the game we found that some of Vanquish’s pre-release screenshots had huge amounts of post-processing visible, some of which we thought would never make it into the actual game. Well, as it turns out most of it is in fact correct and present in the demo, although without being enhanced specifically for supersampled PR bullshots.

Here we have some impressive screen distortion effects, coupled with per-object motion blur rarely seen outside of the PC space, but that is becoming ever more feasible on consoles as developers find new ways to optimise their engines even closer to suiting the hardware.

Like with the rendering resolution and use of AA, post processing looks identical on both PS3 and 360, with the cool motion blur effect helping in making the game’s 30fps update appear smoother than it actually is.

So far what we’ve discovered about Vanquish is par the course for parity, with pretty much every area of the game looking the same on both platforms. Impressively, the PS3 version has had nothing in the way of visual cut-backs, even having proper MSAA and full res alpha buffers, which is a testement to Platinum Games’ resolve about getting their flagship engine working identically across both platforms.

Interestingly, the developers were actually quoted as saying that the PS3 was the lead platform for Vanquish, and that they were optimising the engine to ensure that any differences would not be detrimental to the overall experience – something they have managed to achieve in a very short space of time. But is there anything that points to that fact being apparent in the way Vanquish as been built up to operate?

Nothing conclusive, I have to say. Although we can see that texture detail has been paired back from Bayonetta; no doubt to save on memory in order to keep things the same on PS3, and that the use of alpha heavy effects has also been cut down on slightly. However the game’s the use of far more advanced shaders and lighting, with some computationally heavy post process effects (per-object motion blur) clearly circumvents this, providing a more impressive visual range but in vastly different areas.

Also, by rendering in 1024x720 with 2xMSAA, and at 30fps, in addition to the changes made with regards to particle and alpha buffers, Platinum Games have allowed for their engine to comfortably fit in with the bandwidth and processing requirements of both consoles, and especially the bandwidth limited PS3, and have built upon these limitations by enhancing the game’s visuals in ways that work within these constraints.

Going back to our comparison of the game itself, we can see that performance across both platforms is far more closely matched than with Bayonetta. In fact, it’s pretty damn near identical most of the time, being one of the best examples of cross platform development we have seen so far alongside Dante’s Inferno and Burnout Paradise.

For Vanquish Platinum Games has targeted a 30fps update rather than going for the more preferable, eye-blazing 60fps found in many Japanese titles, and the decision was definitely the right one. In the case of Vanquish, where the engine is throwing around all kinds of advanced effects and heavy amounts of post processing, having the game maintain a smooth 60fps update would have been next to impossible, and the extra work would have almost certainly impacted on the PS3 version of the game.

Going for 30fps means that not only do both versions maintain a smoother framerate for longer, but also that the developers have managed to implement v-sync on both platforms with differing methods of preventing screen-tear.

Indeed, both versions hit their target framerate for most of the experience, only slowing down slightly when there is an over abundance of stuff happening on screen at once. Although throughout the demo, in the busier sections before facing up to the boss, it is the PS3 version which manages to drops less frames than the 360 one, appearing slightly smoother during general play as a result. These drops are pretty small on both platforms, mainly going down to around 25fps or so for brief moments, or maybe even less for the most part.

During the boss battle things appear to be reversed with the 360 build commanding a slight, but noticeable lead over the PS3 game. In this section the framerate drops down to at least 20fps on the PS3 when the action is at its most intense, whereas on 360, the framerate, although dropping down noticeably is slightly steadier.

Without using video capture equipment we cannot be any more specific, but overall it definitely feels like the PS3 version was slightly smoother for the most part, and that the smaller drops in framerate were less noticeable than on the 360 - the boss battle aside of course.

We mentioned earlier than Platinum Games had managed to implement v-sync across both platforms for Vanquish, and the results are very impressive; the game practically never features any screen tearing on the 360, and absolutely none on the PS3. Interestingly, the way both games deal with screen tear also has a small, but barely noticeable impact on how each version controls.

I’m pretty certain that some kind of frame buffering technique is being used here, especially on the PS3 build which not only demonstrates ever so slightly more controller lag, but also nothing in the way of tearing.

For those who don’t know, triple and double-buffering is a method of rendering multiple versions of the same frame, which are then held in reserved just in case one of them is torn. When this happens the torn frame is replaced with the next one, which should hopefully be clean. As tearing is really only visible when multiple frames are torn this results in an effective method of reducing screen tear altogether when failing to maintain v-sync. In the case of triple buffering, you hold two frames in reserve rather than just one.

My best guess is that the PS3 game is being triple buffered, and that the 360 is using the slightly lesser double buffered approach seeing as it has less lag and practically no visible screen tear. Using double buffering would also consume less memory, which would be better suited for the framebuffer being limited by the system’s 10MB EDRAM.

Saying that, any screen tearing that occurs in the 360 game is so minor and incredibly hard to spot – even when looking for it, that it’s practically not worth mentioning. I could only see it for a fraction of a second on occasion, and that was when carefully looking for it.

In the end both versions perform largely identically with only small differences between them. The 360 game drops less frames in the most intense situations, whilst the PS3 game is more consistently smooth overall, only faring worse in heavy load areas, such as the boss battle. Screen tear isn’t an issue for either build, and the PS3’s use of triple buffering doesn’t affect controller responsiveness to any noticeable degree during regular play. In fact it is the PS3 version of the game that actually just pushes ahead, looking slightly smoother, and sharper overall, though without commanding anything more than the subtlest of leads.

There’s no doubt that Platinum Games have really taken the time and effort to get both versions of the game looking and operating near identically, to the extent that either one is well worth picking on release regardless of platform preference or past experiences.

Perhaps all that’s left to say is that this is just the demo code of the game, and that there’s still over a month to go until the final release build is shipped. Seeing as I’ll definitely be buying at least one copy of the Vanquish upon release, I will endeavour to get a hold of both versions at some point soon after launch for quick look at what, if anything has changed. Until then it looks like both versions will come highly recommended, whilst also representing another stellar example of multiplatform parity that few developers manage to achieve.

Thanks to Mr Deap for our comparison screens, and AlStrong for the pixel counting.