Last week, Epic offered the first glimpse of Unreal Engine 5, the latest iteration of their industry-defining game engine. It was an impressive showcase of what the next generation of games might look like, although you’d be forgiven for thinking that it looks an awful lot like the current generation of games, right down to the appearance of an (apparently entirely cosmetic) loading crevice in the middle of the demo.
There was much talk about poly-counts and triangles that no doubt sounds exciting from the perspective of a graphics programmer, but to a layman conjures long-suppressed images of learning about Pythagoras at school. Nonetheless, I found the demo fascinating for several reason, and wanted to break down what the tech potentially means for the future of gaming.
While there were multiple new features described in the demo, primarily it revolved around two specific new technologies, Lumen and Nanite. The first of these, Lumen, is essentially a one-size-fits-all lighting engine, a lighter, software-powered version of Nvidia’s RTX tech that offers real-time dynamic global illumination for virtual environments. The actual process by which Lumen functions is understandably quite complex, but the end result is it enables scenes to be realistically illuminated by dynamically bouncing light off individual objects from its original source.
As I’ve mentioned in previous articles about RTX, games have become very good at faking how light works in a virtual environment the last decade. So from a purely visual perspective it can be hard to see where exactly the improvement is. But Lumen has important implications for game development that are explored in the video itself. Firstly, faking the effects of global illumination take up a lot of development time, with artists having to created “baked” lightmaps where the lighting information is stored in individual textures. In theory, Lumen removes this necessity, letting artists simply move source lights around an environment to alter how a scene is illuminated. You can see this in the demo itself, as the developers manually adjust a point light shafting through a cave roof.
That’s a big deal from a development perspective, removing a lot of time-consuming busywork from art-asset pipelines, and letting artists and designers focus more on the actual construction of environments. But Lumen has another major implication, which is also shown in the video when a temple roof collapses, letting light bleed through into the room. Like Nvidia’s ray-tracing tech, Lumen enables a more nuanced simulation of how light reacts with different and changing surfaces, resulting in a complexity of light interplay that would be extremely challenging for developers to follow to its logical end-point.
The other key feature mentioned in the demo is Nanite, which is a “micro-polygon” graphics renderer designed to enable the importing of “movie-quality” object scans directly into the game world. Again, there are several points in the demo where you can clearly see this additional detail, primarily the statues in the temple as the player-character walks around. Yet while that extra detail is impressive, the real story here is that ability for designers and artists to directly import object scans. Currently, developers have to create multiple “Level-of-detail” models for individual objects, that are swapped out of the pipeline depending on how close the in-game camera is to them. This is one of several tricks developers use to create vast, beautiful open worlds that don’t turn your PC into a smouldering husk.
Again, downscaling movie-quality assets to create all these different models is an arduous process. But Nanite does this automatically through a method called Virtual Texturing, which essentially means you get higher quality models in your game for less actual work. The way Virtual Texturing functions should also mean that these changes in detail are seamless, making screen artefacts like texture-pop and visible LOD phasing a thing of the past.
In short, the key goal of UE5 is not simply to make games look better, but also to make creating them easier and more accessible. Nanite seems geared specifically to alleviating some of the pressure on the AAA pipeline, while Lumen with benefit all developers in making lighting a whole lot easier.
There were several other cool features debuted in the demo, including a new physics engine called “Chaos”, demonstrated via several impressive moments of rocks scattering down the cavern walls. Similarly, the animation engine has been overhauled so that characters can respond more believably to the more complex environments, including “dynamic-foot-placement” and “context-sensitive-animations.” Again, this sounds designed to take some of the load of animators by letting the actual engine figure out how a character should be moving in a specific situation.
That said, the demo also left me with a few questions and concerns. The showcased fluid simulation caused a raised eyebrow, showing off water that looks way too viscous in appearance. Also, there’s a conspicuous absence of vegetation in the demo. This is likely a creative decision, as Epic clearly wanted to showcase the additional details on environmental and object surfaces, and having grass everywhere would get in the way of that. Nonetheless, it’s curious that there isn’t a single tree whatsoever through the entire demo.
It's also worth noting that UE5’s circumvention of asset-loading techniques like LOD phasing is reliant on the use of a solid-state drive (SSD). Both upcoming consoles, the Xbox Series X and the PlayStation 5, are replacing hard-drives with SSDs. Consequently, developers like Epic can take advantage of the much-improved load-times of SSDs to seamlessly render high-detail objects and varying distances as a default feature. For PC gamers, this means if you want to see exactly what UE5 can do, you’ll need an SSD as well as a high-end GPU.
The biggest question of all, though, is what is all that freed-up development time going to be used for? Here the answer was harder to gauge. While the demo showed us the future of graphics tech, it was founded on a game template typical of this generation. Compared to seeing, say, the Source Engine demonstrated for the first time, there was no moment you could point to and say “Whoa, you can do that now?”
Perhaps this is an inevitable consequence of new engine features becoming more incremental as time goes on. Or perhaps it’s simply to misunderstand what Unreal Engine 5 is doing. It isn’t so much about adding new mechanical possibilities directly, as creating extra space for third-party developers to do that. In the end, a game engine is just a tool, it’s up to developers to choose how to use it. Unreal Engine 5 isn’t planned to release until around April next, and I imagine will get a better idea of exactly what developers can do with it around the time the new consoles launch.
July 1 2020 | 17:34