Hellblade on Switch: just how close can it get to the PS4 experience?
An ingenious port of one of Unreal Engine 4's most challenging games.
One of the most impressive-looking Unreal Engine 4 games of the last couple of years, Ninja Theory's Hellblade: Senua's Sacrifice seems like an unlikely choice for Switch conversion. Yes, UE4 has delivered some excellent Switch titles, but the sheer density of the original game would surely cause problems for Nintendo's hybrid - after all, Hellblade is a game that was never in a million years designed with a mobile chipset in mind. And yet here it is: developer QLOC's conversion work is fascinating, with some inventive solutions deployed to excellent effect.
The first data point to catch our eye was the sheer size of the game. Hellblade on Switch weighs in at a massive 19.5GB, which is within the same kind of ballpark as the PC and PS4 versions - and yet, it's clear that the port features substantially pared back texture assets which should result in a much smaller game. And yet something is obviously bulking up the download size.
Firing up the port, first impressions were of astonishment - our first look at Senua (captured in the first comparison image below) reveals a remarkably close match to the same sequence playing out on PlayStation 4. As the sequence continues, the compromises start to become evident - resolution takes a massive hit, naturally, while post-processing quality and texture assets are clearly impacted. And yet, many of the detail-rich cutscenes seem bereft of compromise and resolve much more cleanly than gameplay.
All of which brings us back to Hellblade's 19.5GB download size and QLOC's most impressive sleight of hand trick - a nigh-on flawless integration of FMV video sequences and real-time gameplay. Whereas prior versions of the game rendered the entire experience in real-time with Unreal Engine 4, Hellblade on Switch pre-renders taxing scenes and then literally blends the video into the actual game visuals. The effect is quite subtle - and quite hard to pick up in handheld - but there it is. This is the trick that allows Hellblade's most striking visual moments and strongest narrative beats to play out in a manner that's almost on par with the other versions. Call it sleight of hand, smoke and mirrors or whatever, the point is that it works.
By extension though, this means that when it comes to gameplay, something has to give to make Hellblade work on what is fundamentally a mobile chipset. The primary impact point is rendering resolution. QLOC uses a system similar to prior 'impossible' ports such as Doom 2016 and Wolfenstein: The New Colossus. Dynamic resolution up to 720p is deployed, with temporal anti-aliasing used to eliminate edge jaggies. When playing docked, our understanding is that the pixel-count varies between 576p and 720p, rarely hitting the top target. The window expands when running in handheld, from what we understand to be 400p to a maximum 720p. The impact is most profound when docked, because - as usual - the smaller mobile screen hides the brunt of the compromises.
What separates Hellblade from the id ports is that the Switch targets a similar performance level - 30 frames per second, though re-capturing PS4, it still seems to be running unlocked in a 30-40fps window. QLOC hasn't been able to halve the frame-rate of the original game in the way that Panic Button did, so perhaps some of the other compromises are more keenly felt.
What this effectively boils down to a wholesale reduction in the quality of pretty much every part of the game's visual make-up. Texture quality is slashed, texture filtering quality is undoubtedly very poor, while most aspects of post-processing are pared back or removed. The biggest casualty seems to be lighting. Interestingly, the original game used the Enlighten global illumination solution and its logo is present in the game. However, it's notable absent on Switch - which does make us wonder whether the same tech is actually in use at all. There's no doubt at all that shading has lost most of its nuance, for sure, but on the other hand, an oppressively dark atmosphere may not work particularly well when playing the game portably.
On top of the rendering effects cutbacks, level of detail is also reduced. Vegetation and trees are noticeably coarser (and swaying branches on PS4 are now static) while object debris in the near distance can be reduced or removed. Distant and far distant draw distance is also pulled in, mitigated somewhat by the fog effect used outdoors. The closer you look, the more the cuts become evident, but outside of head-to-head comparisons, the overall presentation still holds up. It's still recognisably Hellblade, and there's still the sense that a game like this shouldn't be possible on a handheld console - but there it is.
Factoring out head-to-head comparisons, Hellblade on Switch still manages to deliver a good-looking experience - but there's no doubt that the look is very, very blurry. If that put you off the likes of Doom 2016, Warframe or Wolfenstein TNC, expect the same kind of reaction to this. And by extension, that means that when playing docked on a big living room TV, the compromised resolution may be a deal breaker. Hitting a blurry 576p on a 50-inch flat panel isn't going to cut it - but as an opportunity to play Hellblade on the go, it's a different proposition.
And that leads us on to the second comparison gallery below - a match-up of Hellblade's visuals in both docked and handheld modes. Standard HDMI allows to take a close look at the output destined for your TV, while the aid of modified Switch hardware grants us a full digital capture of the console's 720p mobile display. The results aren't particularly surprising - widening the dynamic resolution window allows for the same gameplay to play out on the go, reducing the pixel count to accommodate Switch's reduced GPU and memory clocks in its mobile configuration.
There are a couple of interesting points, however. First of all, playing back pre-rendered video cutscenes produces the same results regardless of the Switch's configuration, meaning that these look identical. Secondly, there is some evidence to suggest that lighting and shading adjusts to cope with the reduced level of graphics power - the docked mode seems to add ambient occlusion or something like it to vegetation while far-off environment detail seems to be more adeptly shaded.
QLOC's mobile adaptations have paid off in performance terms as Hellblade runs with a nigh-on identical frame-rate whether you're playing on the go or hooked up to an HDMI display. The developer targets 30fps and by and large, this is delivered across the duration - an impressive feat when you consider that frame-rates dropping into the mid-20s or lower can occur in the Doom and Wolfenstein ports.
There are some issues with Hellblade's turnout, however. First of all, even though 30 unique frames are indeed delivered per second, they persist at 16ms, 33ms and 50ms intervals - and sometimes higher - yes, it's inconsistent frame-pacing again, making Hellblade on Switch feel akin to a From Sofware game in this regard. There's also occasional lurching stutter, which may be tied into the game's transition from real-time 3D into full-motion video. Beyond that, the only issue we had with the game came from occasionally glitchy audio - this was only observed on one Switch console and there are a couple of examples of it in the embedded video above.
The Switch port of Hellblade is intriguing on a number of levels. First of all, there's the technical aspect - it's impressive what has been achieved here, and how innovative solutions are used to get the job done, while drawing upon techniques similar to prior Switch 'impossible' ports. And then there's the fact that a Switch port of Hellblade exists at all. Microsoft now owns Ninja Theory and by extension the Hellblade IP. Combined with the arrival of Cuphead for the Nintendo hybrid, there does seem to be some level of collaboration between the two platform holders - and if it produces fascinating games like this, we're looking forward to seeing more.