This short post is about our latest demo called ‘Subway’ which shows Enlighten running in a full level using dynamic lighting and quite a few features of the Enlighten SDK including the ability to dynamically destroy parts of the level to let light pass through and keep the indirect lighting consistent.
Did you know that six out of ten of the bestselling PC and console titles for 2015 were made up of huge, open worlds or vistas that extend for kilometres at a time? While the current generation of hardware has made rendering such worlds possible, they come with their own set of challenges. The problem that we at Geomerics, an ARM company, are most interested in is “how can I go about lighting such worlds”? More importantly, “how on earth do I go about lighting such worlds efficiently, to a quality that my art director will accept”?
The popularity for such games is clearly present; and while the map sizes are getting larger and larger (The Witcher 3 for example hit 136km2), the gaming community is increasingly tuned to visual fidelity, frame rate and incremental feature improvements between each generation of titles.
This year at GDC, Geomerics is launching a new generation of technology that, we hope, will inspire developers of open world games to make lighting central to the experience. We have created a new set of technology which makes dynamic lighting effects, such as time of day, possible in open world games. The performance cost of global illumination updates in large scenes has been cut in half; with this extra performance studios are able to either include more dynamic lighting effects, improve quality or increase the map size.
This technology is viewable for the first time in a new Enlighten showcase, Seastack Bay, built in collaboration with Ninja Theory, the studio behind Hellblade. To put Seastack Bay into perspective, the beach is 1km long and the playable area is 25km2. Development started in September and included, on and off, just two environment artists and one technical artist (plus a lot of coffee!)
Bringing dynamic time of day to large world games
With the increased efficiencies that the new Enlighten technology offers, large scale lighting changes with consistent, real-time global illumination updates are now possible in open world games. A dynamic time-of-day cycle is the centrepiece of Seastack Bay; as you move through the world the lighting transitions from dawn to noon to afternoon to dusk and night. Other potential gameplay options are also highlighted including a forest fire and volcanic lava. This ability to dynamically update the lighting at runtime means that it becomes simple and efficient for artists and designers to use lighting to alter the mood of a scene; the game can transition from serene sunlight to scary fire in a natural way with no impact on frame rate.
The target frame rate of 30FPS can be maintained on both PC and PS4 even with the light updating continuously; with the Enlighten solve time peaking at 23ms on PC and 67ms on PS4 there is a global illumination update either every frame or every other frame depending on platform – this is more than enough to deliver a smooth, high quality user experience.
For large, flat vistas, the direct sun and skylight provide the majority of light; bounced lighting has minimum impact on visual quality. However, as soon as the world starts to be designed upwards and cliffs, rocks and caves emerge from the plains, global illumination brings rich detail and colour to areas which otherwise would be deep in shadow.
The value global illumination can add to more three dimensional levels is best seen in Seastack Bay’s gorge. Enlighten’s multiple bounce technology enables an enclosed cavern with cliffs 100 metres high to be lit from a small source of direct light in an manner so natural that it would be hard to achieve without artefacts, even with baking. The other alternative to filling such a space with light is to add fifty or even a hundred additional direct light sources into the scene; the amount of art time this requires to reach acceptable quality levels is extreme. Because Enlighten can compute global illumination in real-time both in the game and in the editor, and because it fully supports physically based shading, an environment artist can quickly and easily fill this space with two light sources authored according to the way nature works. The resultant scene, even in hard to author areas, brings the beauty and immediacy of the real world to computer graphics.
Traversing seamlessly between enclosed and outdoor settings
Traditional approaches to dynamic global illumination solved the problem for either indoor spaces or outdoor spaces; no solution was able to scale from interior spaces (such as a building), to more enclosed spaces (such as a gorge), to flat open spaces (such as a beach) without either quality or performance suffering.
Enlighten’s outputs for open world scenes are exactly the same as for enclosed environments (lightmaps, probes and reflection captures); it is able to scale to any environment an open world developer can dream of, and with the technology announced today, it is able to handle open world scenes in a performance efficient manner.
For players, this means that the character can travel seamlessly from inside to outside with consistent global illumination updates. Their emotional journey can be maintained as they traverse diverse environments and lighting, which is so critical in eliciting a deep response, can take a leading role in forming the desired mood.
For artists, one lighting solution can be used across any environment with confidence that correct results can be achieved in a short period of time.
Seastack Bay will be on display at GDC on ARM Booth #1624 from Wednesday to Friday.
Geomerics and Ninja Theory are co-presenting “Making light work of dynamic large worlds” on Wednesday at 2PM where you can find out more about Enlighten’s large world technology and how it is being implemented in Ninja Theory’s upcoming title, Hellblade.
If you want to find out more about what Enlighten can do for your next project, contact firstname.lastname@example.org.