Unreal Engine Evolution
Digital Foundry looks at the ongoing development of the ubiquitous Unreal Engine 3
As the current generation of console hardware enters its twilight period, one technology above all others has helped to define the era. According to Epic Games' Mark Rein, drawing on Metacritic for reference, Unreal Engine 3 has powered three of the top ten best-reviewed titles on PlayStation 3, and four of them on Xbox 360. And with titles of the quality of BioShock Infinite set for release in 2012, that number may yet continue to rise.
"While there's an undoubted sense that the 360 and PS3 are ripe for replacement, Epic's message is that Unreal Engine 3 will continue to grow, encompassing more platforms"
While there's an undoubted sense that the 360 and PS3 are ripe for replacement, Epic's message is that Unreal Engine 3 will continue to grow, encompassing more platforms. At this year's GDC, Mark Rein gave a positive, enthusiastic outlook for the future of its hugely popular technology: UE3 appears set to dominate state-of-the-art mobile gaming in the same way that it became the middleware of choice for the current-gen consoles, whether we're talking about smartphones, tablets, or bespoke handheld devices like PlayStation Vita. Rein's GDC presentation also gave us a more in-depth look at UE3 software running on Flash - another massive area of potential expansion for the middleware.
But what of the next-gen consoles? It's safe to say that a lot of us had turned up at Epic's event hoping for a glimpse of Unreal Engine 4 - a technology we knew that the developer would be showing behind closed doors (a fact given away somewhat by Epic staff wearing UE4 t-shirts). However, it quickly transpired that nothing would be shown, making the blanket ban on all recording devices at the event seem somewhat bizarre. What would become evident however, is that UE3 already has the foundations in place to be seen as an attractive platform for PS4 and the next-gen Xbox.
What followed at the GDC presentation was a re-run of the Samaritan demo - described by Mark Rein as a love letter to hardware manufacturers - a vision of how good the next-gen could look were the console platform holders ambitious enough with their hardware. In a subsequent interview with CVG, Rein reckoned that UE3 may well be the weapon of choice for developers looking to launch onto next-gen platforms, before its successor eventually takes over. There's a reason Epic has invested heavily in UE3's DX11 support, and it's safe to say that it's not solely for the benefit of tech demos or PC exclusive features - UE3 will straddle the console generations just as its predecessor did.
But will those new consoles be powerful enough to match Epic's next-gen vision? Last year, Samaritan was running on a monster PC with a 1200W power supply and three NVIDIA GTX580s operating in parallel - a big bunch of highly expensive kit Mark Rein brought along in a big cardboard box to emphasise the immense requirements of this UE3 demo. This year, advances in technology were such that Samaritan could be shown on a PC using a single NVIDIA card based on its new 28nm Kepler architecture. Aside from some fleeting frame-rate drops on certain shots, Samaritan still looked fantastic, with the only reduction in processing being the removal of the original demo's 8x multi-sampling anti-aliasing in favour of post-process FXAA. This implementation wasn't quite as refined as the original MSAA in some places, but to the credit of both NVIDIA and Epic, on high contrast areas it actually seemed to look significantly better.
"As more devices come onto the market with programmable pixel shader support, so we'll see Unreal Engine 3 ported to run on them."
Samaritan's return was the only taste of the next-gen we'd be getting at this briefing, but Mark Rein made it obvious that this was the visual target for the new wave of consoles and there was a brief implication that the mystery NVIDIA Kepler card's performance would be matched by whatever the console platform holders are working on now. Rein himself would know: sources close to Epic have told us that the company is working on next-gen target hardware from Microsoft right now - one source has even gone so far as to say to us that Samaritan is already running on whatever kit is currently being used to simulate the new Xbox.
While UE4 is likely to be the primary focus of Epic's middleware efforts for the next-generation Xbox and PS4, the whole point of the GDC presentation was to focus on the expansion of the current-gen Unreal Engine 3. The firm - not to mention gamers - are highly fortunate in that more and more devices across an increasingly wider spectrum are offering the DX9/OpenGL ES 2.0 class support for the programmable pixel shaders required to allow UE3 to become viable. It's not just hardware either, new platforms are opening up due to enhancements in software engineering too.
The best example of this is the fact that Unreal Engine 3 is working on Adobe Flash - a remarkable technological achievement with enormous amounts of potential. Thus far, Flash gaming has been a happy marriage of limited tech resulting in concept-driven games aimed at a mostly casual audience. To add UE3 to the mix is a potential game-changer, bringing a new level of visual power that is platform agnostic - all desktop browsers run Flash regardless of whether they're on PC or Mac and so they will all run UE3 code - an interesting opportunity for developers: one executable that will run on any browser, on any laptop or desktop PC and that can be easily ported to consoles and mobile devices.
The demos on offer from Epic were intriguing. We saw what looked to be a native 1080p rendering of Epic Citadel - the same piece of code the company used to flex its muscles on iOS when the iPad was first released. Afforded more resolution and what appeared to be generous layers of anti-aliasing, it looked gorgeous running on Flash. Also interesting was the fact that the UE3 window could be maximised to full-screen while still remaining playable - previously, for security reasons, all inputs bar the ESC button were disabled when Flash was running in full-screen mode.
Next up was a demo of perennial UE3 mobile favourite, Dungeon Defenders, again running with a clear resolution advantage but otherwise much the same as the mobile versions. The idea with this demonstration was presumably to show mobile UE3 developers how their games could scale up to desktop platforms in an easy, cost-efficient manner.
Finally, we revisited the original Flash demo that put UE3 on the map: what appeared to be an uncompromised version of Unreal Tournament 3,this time running on a Macbook Pro Safari browser - as good a statement of intent as any about the ability for the Flash version of the engine to host more advanced content. Indeed, the code had actually been embellished with newer additions to the UE3 engine such as global illumination.
Epic went into their presentation by positioning UE3 as a technology capable of handling all projects, whether small, medium or large, and the novelty factor of this Flash iteration was quite remarkable. However, some questions linger over the viability of the platform. For starters, Flash is defined through being what Gaikai's David Perry might define as a "low friction" environment. Players click on a button, the game loads very quickly and they're on your way. Epic Citadel on iOS - a mere demo - is an 82MB download while the latest Infinity Blade is north of 1GB. I suspect that the utilisation of UE3 on Flash platforms is going to involve careful management of resources on behalf of developers to ensure that games are quickly accessible and that the immediacy isn't lost.
"Unreal Engine 3's royalty structure has also changed significantly in recent times - developers need pay Epic nothing from the first $50,000 of net income from their UDK-based games."
Secondly, concerns were raised at the presentation about the barrier for entry, specifically the power of the GPU. Mark Rein suggested that UE3 was actually more CPU-bound, but I suspect that graphics power will be something of an issue and that developers will need to be mindful of a minimum spec. Epic Citadel and Dungeon Defenders are mobile-optimised of course, so should work well even on the more modern integrated graphics solutions on PC, while Unreal Tournament 3 is a fairly old example of UE3 development. Epic weren't showing top-tier titles like BioShock Infinite or Batman: Arkham City running on Flash - the point was that even at the lower end, UE3 delivers a clear technological leap over the current level of gaming on that platform.
However, I am curious about the performance impact of the Flash renderer itself on the UE3 showcase. The PC used for the Epic Citadel and Dungeon Defenders demos was the same one used for the state-of-the-art Samaritan Kepler demo but it was telling that none of the Flash demos could sustain 60 frames per second without noticeable drops. It's difficult to imagine UE3 being the issue here, and when even a Core i7-powered PC can drop frames on Flash video playback owing to the inadequacies of the renderer, it seems likely that it's the host platform that's the bottleneck here, not UE3.
We were also granted an audience with NetherRealm, showing off Mortal Kombat on PlayStation Vita - another new mobile platform now supported by Unreal Engine 3. The team described how the tools allowed them to scale down the visuals to work on the mobile platform, how most of the code was identical to the existing console versions and how this freed up developmental resources to allow for the creation of Vita-exclusive play modes and mini-games that utilised the handheld's unique control inputs - using touch to wipe away blood spray that had landed on the game camera was a particular highlight.
First impressions of Vita Mortal Kombat - and indeed of Vita UE3 - were positive. The team were a little hamstrung in having to show off a mobile game designed for a screen with a high pixel density on an enormous flatpanel at the GDC presentation, and this served to diminish a little of the gloss on what looks like a great game. On the one hand, gameplay was running flat-out at 60 frames per second (an impressive feat for UE3, even on the home console) with the only noticeable dips in performance coming during the non-interactive Fatalities. There was no anti-aliasing, while textures and materials were clearly more iOS than PS3, and lighting was significantly downgraded - but otherwise this was a good handheld facsimile of a great home console game, seemingly retaining everything that mattered and based on an underlying technology that appeared to have significantly reduced the burden of cross-platform development: one of the most important characteristics of UE3.
From an independent developer's perspective, perhaps one of the most impressive elements of Unreal Engine 3 is that the UDK environment is free to download and install, with a full license costing $99. This gives access to the exact same tools that full-on licensees receive but without access to tweakable source code. The royalty structure has also changed significantly in recent times - developers need pay Epic nothing from the first $50,000 of net income from their UDK-based games. Typically, platform holders like iTunes will take 30 per cent of the retail price, but Epic's fees don't kick in until the developer's own net income reaches that $50,000 threshold. After that, Epic's cut is 25 per cent. This new threshold (it was previously set at a mere $5,000) reduces the barrier of entry and offers a great incentive to indie game-makers.
Of course, Unreal Engine isn't the only middleware in town but there's little doubt that Epic has dominated the current-gen middleware landscape, the quality and quantity of its results are obvious, and its ubiquity in game development is no freak accident. For a middleware to have achieved so much without any serious competition is another interesting element: we should expect CryEngine to pose much more of a challenge when the next-gen console platforms hit, but the driving force of that competition should result in even superior tools for developers - which of course means better games...