Metro: Last Light developer 4A games has shared some of the technological enhancements added to its bespoke engine since the release of Metro 2033 three years ago, going in-depth on its new approaches to DirectX 11, tessellation and anti-aliasing while promising a great gameplay experience across a range of hardware.
"We are extremely proud of the scalability we achieved," Oles Shishkovstov, chief technical officer for 4A Games tells us. "For example, Metro: Last Light is very playable on Intel HD 4000 hardware in DX11 mode (yes, lower quality settings only, but still - it runs) and we run extremely well on the next-gen Intel Haswell GPUs, while still bringing to their knees the high-end cards like GTX 680 and the HD 7970 in high-quality modes with extreme super-sampling."
Super-sampling is the new anti-aliasing technique of choice from 4A - and it's literally the process of rendering the frame at a higher pixel density and then downscaling it to fit your chosen resolution, smoothing away the jaggies. The problem with SSAA is that it's very heavy on the GPU since so many more pixels are being internally rendered. 4A's approach is to combine super-sampling with a post-process technique - FXAA - for optimal results in terms of both performance and image quality. The frame-rate killing 4x MSAA from Metro 2033 is now a thing of the past.
"We merged ideas from our previous implementation (AAA) and FXAA to both have larger search window and deeper per-pixel control, like micro-blur and/or micro-sharpen. There is no way for the user to disable analytical anti-aliasing any more, due to the way it is deeply integrated into the pipeline," says Shishkovstov.
"The side effect is that the picture is always anti-aliased to some extent. The usual problem with analytical approaches still applies - there is no sub-pixel information to correctly estimate pixel/fragment coverage. The way we solve it is to allow the user to apply some amount of super-sampling. You'd be surprised how little additional information is needed to match and surpass the quality of 4xMSAA. In summary - 2x supersampling (x1.41421 in each dimension) +FXAA-style post-processing (running in super-sampled resolution) provides enough information to surpass 4xMSAA on every front - even in performance in deferred shading pipelines. The sub-pixel shading aliasing is also greatly reduced as a side-bonus."
As Shishkovstov puts it, traditional multi-sampling is dead and in a typically controversial manner reckons that "antialiasing is the domain specific job of programmers and not a magical hardware feature!"
Tessellation also gets a substantial upgrade in Last Light. Previous implementations we've seen sap performance to a massive extent, requiring an enormous amount of GPU time for an effect that - while welcome - isn't really worth the impact to frame-rate. One of the most pleasant things that surprised us while playtesting Metro: Last Light on our GTX 680 PC (2560x1440, very high settings, max tessellation, well over 30FPS average)was that not only was the tessellation a clear visual advantage, but it didn't unduly impact performance to a game-breaking extent.
"We have two (user-selectable) modes. The first one tessellates and displaces only specific artist-selected content (although this 'selection' is much broader than in it was in 2033)," explains Shishkovstov. "The second mode tessellates almost everything. Users should expect around a less than three pre cent performance drop with first mode and around 15 per cent drop with the second one, assuming reasonably modern GPU architecture."
"Without spoiling our upcoming Face-Off too much, let's just say that the PS3 version of Metro: Last Light is definitely no slouch compared to its Xbox 360 stablemate..."
Aside from headline features, the Metro engine itself has considerably evolved, with over 3,000 logged changes that we presume fold back into the console versions. There's also good news for those running older DX10 and even DX9 graphics cards.
"Apart from tessellation and displacement, which are DX11-specific, we also managed to bring feature parity with DX10 implementation, which is significant as DX10/DX11 hardware makes up over 95 per cent of our target systems," Shishkovstov continues. "As for performance - DX11 is naturally the fastest, DX10 is second, and DX9 is last. We essentially treat DX9 as a compatibility mode experiment for this project."
Metro: Last Light also sees the 4A Engine debut on the PlayStation 3 - a welcome addition bearing in mind that the Sony platform wasn't supported with Metro 2033. Long-time Digital Foundry readers may recall our rather special 4A Games tech interview, where Shishkovstov talks in-depth about his experience with the Nvidia architecture at the heart of the PS3's RSX and the reasons behind the game's no-show on the Sony console. Well, without spoiling our upcoming Face-Off too much, let's just say that the PS3 version is definitely no slouch compared to its Xbox 360 stablemate...