What's actually going on with Halo Infinite's graphics?
Dynamic lighting is a big addition - but there are downsides.
It's fair to say that the response to Microsoft's gameplay reveal for Halo Infinite in its July 2020 Xbox Games Showcase has proven divisive - to the point where even mainstream media are reporting about the mixed reactions, but looking at the core rendering technologies on display in the gameplay slice, what can they tell us about the presentation? If the game stands accused of looking 'flat', why is that and what can be done about it?
First of all, initial impressions matter and beyond the rendering on display, Halo Infinite's presentation suffered significantly from the low quality livestream - the way that most of the audience will have initially experienced the content. "It's very hard to show the full power and graphical fidelity of what Xbox Series X will be able to deliver for you over a stream. Go back and look at it in 4K60," suggested Xbox games marketing GM, Aaron Greenberg to Inside Gaming (and picked up by IGN). Unfortunately, the only 4K60 asset available is still a compromised YouTube video but the point undoubtedly stands: reviewing the ultra HD version highlights a lot of detail that was blurred and smeared into non-existence via the livestream - and we do recommend checking out the better quality version.
Fine detail is only one element of the presentation under fire though. The main criticism levelled at the game seems to be that it looks 'flat' and 'current-gen'. If that's the case, a lot of the effect here is down to lighting, where 343 Industries' new Slipspace engine transitions not only from a linear experience to an open world but also shifts to a fully dynamic lighting system. It's a massive departure from Halo 5, which was mostly based on pre-calculated 'baked' lighting and shadows, backed up by a handful of shadow casting lights.
The advantage of transitioning to a dynamic lighting system is an increase in realism and more flexibility - an accurate time of day lighting set-up can be incorporated, for example. Indeed, the gameplay trailer does seem to show a very, very slight shift in TOD during the action. A system like this is entirely at odds with the most standard static lighting system - where The Last of Us Part 2 exhibits one of the best examples. Static lighting saves a lot of performance, and indirect light bounce can also be simulated relatively cheaply - but the vast bulk of the effect is achieved via offline pre-calculation or 'baking'. The end results can be spectacular, but there are many downsides - like dynamic objects being lit entirely differently to static ones, leading to visual discontinuity. It's also very time-consuming to precalculate and even the smallest changes add hugely to iteration times. Either way, dynamic lighting and shadowing as seen in Halo infinite is more expensive but has the advantage of processing dynamic and static screen objects in the same fashion, so nothing sticks out, everything is treated equally and the scale and scope in lighting options in-game is vastly more flexible. With all of this in mind, we can imagine that the many benefits of dynamic lighting are also used in Halo Infinite's actual game design - of which we've only seen a very small sample.
Dynamic lighting systems are very heavy on the GPU and as realistic as it is, there is one big limitation - and I believe that's the core reason for the Halo Infinite gameplay slice presenting as it does. Looking at terrain positioning and the time of day, the sun is positioned close to the horizon level with a lot of intervening hills or trees. With that in mind, I don't think the bulk of the gameplay environment would be receiving direct illumination from the sun. Instead, because the much of the action takes place in a valley or dell, the sun's light is obscured. In short, much of the gameplay segment is taking place in shadow and that's a problem because as a general rule of thumb, video game graphics are weak in accurately representing areas in shadow. Not only that, but in a world where games are mostly using physically-based materials reliant entirely on their interactions with light, the texture assets won't look at their best either.
I go into this in a lot more depth in the main video embedded at the top of this page - and you'll see that this is not a problem specific to Halo Infinite. Metro Exodus can have the same problems, but the 4A game also highlights one potential solution: real-time global illumination via ray tracing. It's not the only way to tackle the issue though as developers are also targeting other techniques: Epic has its beautiful Lumen system for Unreal Engine 5, while CryEngine's SVOGI (sparse voxel octree global illumination) has similar objectives. With some form of tracing to help indirect lighting and areas in shadow, Halo Infinite would be a dramatically different-looking game compared to what we've seen so far. It would need compromises though, because all of these techniques are very expensive for the GPU to render.
For starters, Xbox One and Xbox One X versions of the game would not have the horsepower to get the job done - but some might say that this is OK. After all, we want to see a generational difference from a literal 'halo' product like this one. Xbox Series X has hardware ray tracing for a reason and if the game does receive an RT upgrade, I really hope the power is spent on global illumination over and above other aspects such as reflections. The compromise is that 4K60 with RT may well be beyond the power of Xbox Series X - but in an era where image reconstruction and temporal super-sampling can produce such exceptional results, it's a trade I'd prefer to see. Let's put it this way: would you rather have old-style lighting techniques at 4K or next-gen lighting technology at an upsampled 1440p? I know what my answer is to that particular question.
While lighting seems to be the primary reason for the apparent 'flatness' of the presentation in the circumstances we saw in the gameplay reveal, I do have to wonder how the game would have looked had more of the action taken place in a directly lit area. Games like OnRush also feature fully dynamic lighting similar to Halo Infinite and it demonstrates that the vibrancy and richness of the presentation can be transformed simply through experiencing content at a different time of day - but at the same time, the indirect lighting problem doesn't go away. We're told that Halo Infinite is still far from completion and that new builds are frequent, but the dynamic lighting technology is core to 343's plans and it's hard to believe it would be scrapped or dramatically altered this close to launch. But what we're seeing in the gameplay slice would not apply equally to all parts of the game - it is a dynamic lighting system, after all.
However, there were other aspects of the presentation that I hope the studio could take a look at. Beyond indirect lighting, the next largest point to look at is level of detail. Rocks, grass and even far-off fog billboards exhibited jarring pop-in. Native 4K at 60fps entails rendering 8.3m pixels every 16.7ms and lots of vegetation or pixel-sized triangles can easily tank the frame-rate. Even for a GPU like the Xbox Series X's, this will present challenges. Maybe the resolution is just too high for its own good and perhaps dynamic resolution scaling will be used in the final game. What we saw in the demo was locked to 3840x2160, but it's now confirmed that we were looking at a PC build, not a console one.
Then there are smaller things like the lack of first-person shadows on the view weapon and the Master Chief's hands. Games like Crysis 3 have been doing this since 2013, and it can be done cheaply even in screen-space, as the Call of Duty games demonstrate. This is a small feature with big visual gains I'd hope to see considered for Xbox Series X. Also curious are some very 'solid' looking opaque effects for elements like shields - I much prefer Bungie's approach in Halo Reach. Finally, I'm not fully sold on some of the choice of materials: yes, the indirect lighting is a real issue in how these are rendered in this demo, but there's a lot of plastic and standard metal on display here - a far cry from the very vibrant, alien-like materials used in prior Halo games.
It'll be interesting to see where Microsoft and 343 go next in marketing Halo Infinite and what changes could be made for a game that's been in development for years, with only a few short months left until it ships. What we do know is that the title is set to evolve across its lifetime and that a ray tracing upgrade is in development - my hope is that the transformative effects RT is capable of are deployed for global illumination, but obviously, the ball is very much in 343's court.
But over and above the graphics analysis, I really hope that the reaction to the Halo Infinite gameplay demo does not stop developers from using events like the Xbox Games Showcase to actually show their titles running, to give us a sample of the actual game experience when so much of the show content was trailer-based or even devoid of actual game graphics at all. The Microsoft event did a great job in telling us about the length and breadth of the platform holder's offerings and the value of Game Pass - but fell dramatically short in showing us what really matters: how the games actually play. I hope the message gets through that the reaction to the Halo Infinite reveal isn't down to this format - which is exactly what we want to see - but rather down to the content.