God of Warfare Ragnarök arrived on PC this week, providing a newly upgraded model of the PlayStation hit with a raft of graphical upgrades and new PC-specific options. To mark the event, Alex Battaglia spoke to Matt DeWald, lead producer at authentic builders Sony Santa Monica, and Steve Tolin, technical director of PC port builders Jetpack Interactive.
This far-ranging interview contains loads of technical perception into the port, together with how the sport was designed to scale effectively past the console variations, whereas avoiding frequent PC bugbears like shader compilation stutter and inefficient utilization of recent hybrid CPUs. As at all times, the interview beneath has been evenly edited for size and readability.
We’ll have the Digital Foundry breakdown of the PC port quickly – look out for that early subsequent week. Sadly, we did not fairly have the time required with the overview code to finish our protection for the sport’s launch – however what we are able to say is that Jetpack Interactive and Santa Monica Studio have delivered a powerful port right here. We’ll have extra to say quickly, together with these all-important optimised settings.
Digital Foundry: So when did the mission to start out porting God of Warfare Ragnarok start?
Matt DeWald: Yeah, so we have been engaged on it for about 18 to 24 months now. The vast majority of it earlier than Ragnarok shipped was simply getting the engine as much as snuff on DX12. As soon as Ragnarok shipped absolutely, that is after we have been in a position to absolutely transition over and begin the true porting course of. Then when Valhalla completed, that is after we have been in a position to pull in all that content material as effectively and wrap it up right here. So a bit of bit between 18 to 24 months.
Digital Foundry: The primary God of Warfare sport on PC was a DX11 port, whereas Ragnarök is DX12. What was it like porting every little thing you needed to DX12?
Steve Tolin: We did DX11 for the primary sport as a result of that gave us the outcomes we would have liked on the time, however we knew within the background that shifting to DX12 was what we would have liked to do, for all of the efficiency positive factors that we wished to attain. Shader Mannequin 6 and DX12 Final form of fulfilled the promise of what DX12 at all times might be, in order that was the flip-over level the place it grew to become value it.
Digital Foundry: You talked about DX12 Final particularly, which added issues like a brand new shader mannequin, VRS, DirectX ray tracing, in addition to mesh shaders. What precisely from DX12 Final and the brand new shader mannequin did you actually wish to reap the benefits of to port God of Warfare Ragnarok?
Steve Tolin: Bindless useful resource administration was the most important one. We now go as vast as potential on the CPU for producing command lists. The useful resource pool dealing with is healthier, it is extra console-like. Earlier than Final and that shader mannequin, there was nonetheless a legacy transition half which wasn’t fairly what it wanted to be. Useful resource administration and timeline administration for DirectX, getting every little thing to VRAM and being on cue and prepared is the entire thing with a PC sport, proper?
Digital Foundry: Talking of sources, DX12 has specific compilation of PSOs, and it is my bugbear on PC. I hate it when it does not work and also you get shader compilation stutter. I am solely early on, however I’ve seen zero frame-time spikes throughout my playthrough, which is what you wish to see. What precisely are you doing for PSOs?
Steve Tolin: Will we solely have half-hour? [laughs] We’re in the identical camp as you – we use the #StutterStruggle hashtag the identical as you and we take it to coronary heart, as a result of it isn’t one thing we wish to see in our video games.
The most important concern and hurdle for lots of that’s that you want to have a full illustration of all your runtime render passes and every little thing offline, so to run all of your supplies by way of it to generate all of the permutations for every little thing after which catch every little thing that is executed.
Very early on we determined to not simply have QA play the sport and accumulate PSOs that means, then ship some pre-known set and hope within the wild that gamers do not look off right into a nook. We did the complete construct offline and created the PSOs offline, so all the knowledge is thought beforehand within the pipeline for us, and it took us a considerable period of time to get that proper.
Digital Foundry: Ragnarök is each a PS4 and PS5 sport, and it is simple to note the variations in set up sizes for every platform. How are you dealing with asset compression and decompression for PC?
Matt DeWald: One of many issues that received known as out with our spec sheet is simply the dimensions of the sport – and it is a actually massive sport in equity, it is all of Ragnarök plus all of Valhalla plus all the patches that we launched since launch.
However on PC, we lack devoted {hardware} for decompression, so we checked out a number of decompression metholodologies and programs that we may use. We simply did not discover one that might profit us on the efficiency facet or the soundness facet, as a result of there have been stability issues with sure decompression applied sciences. So we simply selected to make use of up extra disk area, as a result of disk area is comparatively low-cost nowadays. It does take a considerable amount of area, however it’s significantly better than having a poor expertise as a result of the decompression stalls you out or causes body hitches or different issues.
Steve Tolin: There may be extra compression on property on this sport than the final sport. It is simply that on a few of them we selected, like Matt stated, to make use of extra disk area reasonably than extra CPU overhead.
Digital Foundry: The unique God of Warfare was a PS4 sport, so it was comparatively straightforward to suit even the high-res textures right into a 6GB GPU. Ragnarök is a PS5 title, and numerous PC GPUs are solely 8GB – so how did you retain inside the VRAM budgets of mainstream GPUs?
Steve Tolin: We knew we needed to be extra scalable on this one, within the earlier sport our lowest setting was 4GB, now it is 6GB. We simply want extra for render targets, particularly with increased resolutions, however now we vary as much as 20 or 24GB – I am certain subsequent week there shall be 32GB!
For DX12, we have had a mantra round right here, which is we should be a very good PC citizen. We ask for lots of VRAM, and the OS tells us “effectively, you have to faucet again a bit – you are streaming, you are launching one other sport, these Chrome tabs eat up rather a lot.” So we react rather a lot to that, however we burn up as a lot as we are able to. We use greater than on the PS5 model, if potential. That was numerous work, I’ve to provide a shout-out to Arn for this particularly.
Digital Foundry: Does that imply that the sport will, primarily based on the accessible VRAM, routinely scale texture high quality and streaming maps to suit inside the pool?
Steve Tolin: Sort of! There is a cache that is concerned, so it is the dimensions of the cache that scales, so it is buying and selling off between how a lot we’re streaming off of disk reasonably than off of a RAM or VRAM cache.
When it comes to porting graphical quirks, the final time we talked, you talked about how the particle system was distinctive and a problem to port to PC. I might like to know if there was something like that this time round, in addition to the way you ported the very peculiar dice map tracing that was executed on the PS5’s high quality mode.
Steve Tolin: That was Kyle, who did all of the particles within the DX11 model, and it was a whole rewrite for DX12. Fortunately, the teachings realized from that preliminary port and the DX12 APIs being extra trendy and having higher reminiscence administration allowed it to be rather a lot less complicated.
Matt DeWald: For the dice map reflection stuff, we tried to get DXR working correctly with that, however we simply weren’t in a position to do it, in order that’s falling again to only fundamental dice maps in that space. What we realised is that because of the variety of reflective surfaces and total surroundings, ray tracing is most noticeable within the one scene that Stephen McAuley known as out in his GDC discuss [around 23:00 in the Realm Between Realms. Given the time of the project, we’ve pushed that to the side for now. We’re hoping to get to that post-launch if we can get DXR working the want we want it to.
Digital Foundry: How does the game scale beyond the PlayStation 5 version? Previously we talked about LOD distance, shadow distance, shadow resolution.
Matt DeWald: It scales up in a couple of those same things where we can increase numbers, like the number of rays, and we looked at doing even more than in the original God of War. We were already working on Ragnarök at that time, so we could pull in some of the features the team was working on, so we weren’t able to do that this time. Because we already support base PS4 to PS5 in quality and performance mode, we felt we had a breadth of settings and could tweak the numbers for PC: texture size, sampling numbers, resolution of volumetric fog, any of those things.
Digital Foundry: For the enhanced (32:9) aspect ratio, was that a huge art pass to get it working?
Matt DeWald: Yeah, that was a ton of animation work, because we have a lot of controlled camera movements, not just in cinematics, but in what we call GPMs, gameplay moments where the camera is controlled. Obviously the animators hack a lot of stuff to warp people into positon or move things around, so by going to 32:9, we more than tripled the amount of work we had to do to fix up all of those moments and cinematics and identify all of the points where characters aren’t fully animated because they weren’t supposed to be on-screen.
And for the HUD, is it more malleable now?
Matt DeWald: It still has limitations; we have multiple modes and it’ll stretch to the screen or stay centred. We had to provide three modes – 32:9, 21:9 and 16:9, plus 16:10. PC has that wonderful thing where everyone has custom configurations and you have to figure out how it works on all the different setups. It’s a lot of work because a lot of game is built bespoke for a single platform, and it’s a closed environment, so once we open it up for PC, it’s a lot of work. Shout out to Mike, the programmer on the UI side, for doing a lot of that work.
Digital Foundry: The first GoW game on PC defaults to “original” settings, based on those used for PS4/PS4 Pro, while Ragnarök defaults to medium. What settings are closest to PS5’s performance and quality modes?
Matt DeWald: Low is close to base PS4, with a few things changed because PC doesn’t have unified memory and our CPU is not necessarily as powerful, going up to ultra which is PS5 quality mode.
Digital Foundry: Is async compute used in the DX12 version of the game on PC?
Steve Tolin: Async copy queues for resources, and then compute jobs all the time, everywhere, everything.
Digital Foundry: What’s something you really enjoyed working on for the Ragnarök port?
Steve Tolin: I think there’s three things we hit: taking full advantage of DX12 – going fully multi-threaded, getting PSOs working smoothly, and the final thing is CPU topology. Cores aren’t cores anymore, caches and cache clusters make more of a difference than you might think. We reorganised where our work gets done for a large performance boost. It’s all the Intel Hybrid Detect stuff. That’s important, more teams and games should be looking at that.
Matt DeWald: Mine’s going to be more boring, but it’s that it’s great working on a project where you have a great starting point. Ragnarök is a great product and I’m really proud of the team working on that, so porting something over that’s already in a good state is a lot easier. Also the fact that we were able to deal with such a small team – we’re still working with Jetpack who did the last game, and it’s still just four guys over there. We’re doing this with four engineers, plus some internal support from animators, QA folks and a handful of people with subject matter expertise. I’m always proud of what the team is able to accomplish in a short amount of time.
We’re super excited for people to play the game. It’s a whole new audience that gets to experience it. We get to see all the crazy stuff people put together, it’s always fun.
I also love watching videos of you guys doing tech analysis, because for us it’s like “oh, we didn’t think about that. Why didn’t we do that? Can we do that in a patch?” I’m just really excited to get this out the door and see what the reactions are and see what we can do to make it even better.