Digital Foundry: The dynamic framebuffer system is very cool in the sense that assuming the resolution changes during the most intense scenes, this is where the player is least likely to notice it, and where performance and response really should get the priority. But on the other hand, the game was heavily marketed as full 1080p60 and strictly speaking it isn't...
Studio Liverpool: The game is always 1080 at 60Hz. Only the horizontal resolution of the 3D render is modified, and the final framebuffer is always 1920x1080. At the end of the day this technique is about getting the most out of the system - if a game keeps a solid 60 frames at all times then it either has a totally consistent GPU load, it's throttling in some other way (such as level-of-detail) or its wasting a load of GPU cycles to ensure that it always has enough room to stay at 60Hz when the action hots up. We don't want wasted GPU cycles, we don't want level of detail (WipEout HD has no level-of-detail in the environment geometry - at 1080p you'd see it pop) so we compromise on the occasional tearing and resolution throttling.
We are always looking to push every aspect of the game and 1080p 60FPS was a very important target for us given the nature of WipEout HD's high-speed visuals. Responsiveness and fluidity are of singular importance in a racing game when you need to react in a split second and have that reflected immediately on screen. Having said that, the weapon effects really connect you to experience and are just as important to the overall impact of the game, so if we can achieve both using such an initiative approach as the dynamic framebuffer then why not?
You could argue that technically it doesn't run at 1080p 100 per cent of the time, but in reality most people don't notice the difference and are perfectly happy with 99.9 per cent 1080p in all it's high-def eye-bleeding glory. I believe it's our job to bring you the best gaming experiences possible, and if it takes a sleight of hand as you previously put it, I don't think you're getting a bad deal.
Digital Foundry: Can you go into more depth about the lighting, shadowing and post-processing techniques used in WipEout HD? The game looks quite unlike anything else seen on console.
Studio Liverpool: We do as much of the lighting as we can offline. Global illumination and sun occlusion are both computed by an internally developed lighting system and baked onto textures and vertices. The ships themselves have pre-computed ambient occlusion, pre-computed diffuse probes (for image-based lighting) and pre-computed specular probes (for reflections). These are interpolated on the SPUs to light each ship with respect to its location in the scene.
All of our buffers are LDR, but all the lighting computations in the shaders (and dynamic SPU lighting) are HDR. Because our framebuffer is LDR we have a limited range for tone-mapping and bloom, but the artists have a high degree of control (probably a little too high for their liking!) of the entire lighting pipeline.
The lighting scene consists of a directional light representing the sun along with area, volume and spot lights positioned either manually or via scripts that convert polygon selections into identical sized lights with corresponding vectors and colours. The artists have creative control over the lighting aesthetic in-game by using a live variable editor which balances the sun colour and power, ambient occlusion scale and power, HDR and bloom and fog settings. They also have a lot of control over bloom effects. Bloom can originate from either high pseudo-HDR values in the framebuffer, or from artist-controlled textures (such as neon signs) which parallels the way things worked on the PSP versions of WipEout.
Digital Foundry: What optimisation of the tech has there been since the game first launched last year?
Studio Liverpool: When we initially released WipEout HD we were already pushing pretty much everything to the limit. To then add almost the same amount of content again whilst improving the visual impact at the same time took a great deal of optimisation across the board.
In creating the new content for WipEout HD Fury we have developed some new techniques and optimisations which have been retroactively applied to the original ships and weapon effects. We've also had the opportunity to polish some aspects we felt hadn't quite reached their true potential on initial release.
We've been busy optimising shaders to reduce the fragment counts and reducing wasteful vertex counts on some of the more intensive models. This along with freeing up some texture memory and generally tightening the code allowed us room to improve our light maps, which, as you can see, has really benefited the look of the new tracks, allowing us to achieve a moodier night-time feel which fits the Fury aesthetic.
We've also been able to achieve higher poly-counts on the new ships by optimising other components which contribute to each ship's overall memory footprint, such as our use of textures and geometry for ghost and damage models in addition to LOD. Without these optimisations, modes like Zone Battle and Eliminator definitely wouldn't have been possible.
Digital Foundry: The Eliminator mode in the new Fury pack really is something special. You get the idea that the engine is being pushed right to its very limits. Was there an intention to see just how far you could push the technology with this mode?
Studio Liverpool: We didn't set out directly to push the engine to its limits but that's usually a direct consequence of anything we do. Fury's raison d'etre was to take WipEout HD and crank it up to 11. It's WipEout HD's harder, edgier brother. WipEout HD's races were mainly about speed and perfect racing lines with strategic weapon usage. We wanted to give people the thrill of flipping 180 degrees to deliver a salvo of rockets directly into their opponent's cockpit whilst dodging oncoming plasmas.
The result is a frantic but beautiful display of effects which were previously only seen in isolation and make for some great photos using the in-game photomode.
Digital Foundry: You effectively have two performance profiles dictated by how the XMB is set in terms of display resolution. Wouldn't it make more sense to have these two profiles available as selectable options in-game? Most HD-ready sets are close to 720p with 1080i support which the PS3 will auto-detect. Internally, PS3 treats 1080i and 1080p the same. In essence, there's a whole lot of 720p screens out there downscaling 1080i for no real reason and thus missing out on the performance advantages of the native 720p mode.
Studio Liverpool: Possibly - because it's controllable by the user it's not something we've considered, and we've not been inundated with requests for this feature.
Digital Foundry: WipEout HD has been patched, then patched again with an incremental update from 2.0 to 2.01. Some Eurogamers mentioned that performance dropped at 2.0, while others say it returned in 2.01. What's the real story here?
Studio Liverpool: We had to patch 2.0 as there was a hang in the online game lobby that had somehow been missed during the QA process. We had also introduced a small performance issue which was also corrected as part of the 2.01 update...
Digital Foundry: If you can achieve something as beautiful as WipEout HD at 1080p, the obvious conclusion would be that you could achieve a whole lot more visually at 720p, which is something I'd pay serious money to see. Do you have any plans to deploy your technology on a 720p-specific project?
Studio Liverpool: The team are currently taking a well-earned break following their exertions on Fury. As soon as our future plans have been discussed and agreed, I'm sure we will let people know...
WipEout HD, and WipEout HD: Fury are available now exclusively from the PlayStation Store. Your PS3 is naked without them.