• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

[DF Tech Interview] How God of War was brought from PlayStation to PC

3liteDragon

Member
Yesterday, Digital Foundry posted its tech review for the PC port of erstwhile PlayStation exclusive God of War, concluding that the work delivered by Sony Santa Monica and Jetpack Interactive was simply superb. In addition to delivering an excellent conversion of the core content, the team has gone several steps further. Yes, the prerequisites of high frame-rate and ultrawide display support are in, but it's also great to see Sony's ports embracing worthwhile technologies such as Nvidia DLSS and Reflex, in addition to AMD FidelityFX Super Resolution - while integrating its own temporal upscaler.

After receiving review code pre-Christmas, Sony approached us asking whether we'd like to speak to the developers about the game and we eagerly took up the opportunity! In this tech interview, you'll find out what the goals of Sony Santa Monica and Jetpack Interactive were, why the choice was made to use the older DirectX 11 API as its foundation (other first-party Sony ports have favoured DX12), and how the team converted a game based on a single platform with a unified memory subsystem to the split pools used on PC.

In this interview, edited for length and clarity, we talk with Matt DeWald, senior manager for technical production at Sony Santa Monica, and Steve Tolin, a lead from Jetpack Interactive.

Digital Foundry: When did the porting process begin? And who is working on it, Sony Santa Monica, as well as Jetpack?

Matt DeWald: So, we've actually been working on this for a while, but it started kind of slow to begin with. It just started as like, "Hey, can we even do this? Do we have the technical expertise? How do we work together? blah, blah, blah." So, there's a lot of interstitial work that needs to happen just to figure that out. It's probably been about two years of total work, but with a very small crew - there's a team of four at Jetpack that have been doing the primary engineering efforts. And they're almost all engineering efforts, there's been a little bit of assistance from internal, just where things are, "Hey, how does this work? Where is this thing placed?" and then internal Santa Monica, myself leading the project from a production standpoint, but then mostly, it's just QA support, and then tapping different individuals to help fix bugs that may have existed on PC. So, it's a very small team that we've tried to produce this with. Keep it lean and mean.

Digital Foundry: What were the specific project goals as the project started?

Matt DeWald: The ultimate project goal was to get a well-performing version of God of War on PC. The key was to make sure that we had a good PC game, right? You could just take it over from console, put it on PC, and just leave it at that without making any updates, but we did want to make sure that we improved the game as much as we could, without, you know, rewriting underlying systems and rebuilding the engine from scratch.

There's plenty of work just to convert our custom engine over to DirectX, but then there were also all the extra features: so, making sure that we had really good keyboard and mouse controls, making sure that we supported PC-specific features like ultrawide, adding in DLSS and FSR to make sure we supported those technologies. And then what do we have on hand that we could do to really bump it up for those people that spend $3000, $6000, $8,000 on a PC? What are the tweaks that we could put into the game that turn on additional shadows or improve resolutions of things or increased rays, distances, all those kinds of things to make sure that people can have a great experience with the highest quality settings they can? So, we created what we call the PC+ feature set: like, these are the things that we want to do that are just extra for PC, as well as just porting the game over - and let's knock those things out so that we can release a high quality game on the PC platform.

Steve Tolin: One of the goals that we talked about very early on was just highlighting the content - the content team at SMS is fantastic. How can we just highlight that content at the highest fidelity and create that experience on the PC? That was a core goal.

Digital Foundry: What was the starting state here? Was there an internally maintained PC renderer always on hand that the project started with?

Matt DeWald: So, some things were on PC by default, like rendering a cube and stuff like that we could absolutely do. Some systems were not... Steve can go into more detail about trying to port over the particle system, for instance, which used a lot of the underlying tech on PlayStation - that had to be completely ported over for DirectX. It's a mixed bag. Some stuff worked out of the box, and we were able to get that stuff up and running quickly. Some stuff took a long time to really get working.

Digital Foundry: Did the shift from unified memory on console to split pools on PC cause any problems?

Steve Tolin: You've hit on one of the core differences between the architecture of the of the original PlayStation and PC, that split memory. So, balancing pushing to the GPU to do work to get that memory back, and then to reuse it within the frame. That continuous cycle just took a lot of tuning and a lot of synchronisation that didn't need to exist in the PlayStation world. And then, it's just a matter of discovering all of those things where we could optimise for, the smallest chunk of memory back and forth, back and forth, back and forth, to use that bus the most efficiently.

Matt DeWald: And that's why our min-spec requires a 4GB card, it's really we just need that GPU memory when the chip itself is more powerful than what we need. But without four gigs, you're going to start swapping into regular memory and you'll get a poor experience.

Steve Tolin: Even if you are running at [a lower] render scale resolution, the VRAM - that chunk of your RAM - is important for a higher resolution display.

Digital Foundry: Were there any of those specific systems that are actually going back and forth over the PCI Express bus?

Steve Tolin: probably particles in particular, it's all a GPGPU particle system... the wind system. These are all small, small buffers that continuously need updating... luminance calculations, anything that's GPGPU interacting with compute jobs.

Digital Foundry: Were there any advantages or differences from that console lower-level API that caused issues, where you had something on GNM (the PS4 rendering API) that you couldn't necessarily do on PC?

Steve Tolin: A couple things in the particles, because the particle system was non- existent, there was no framework, it was written specifically for Orbis [PS4's codename] and targeting specific Orbis hardware. Right. So, Kyle here at jetpack basically focused on that early and we solved the problems there.

Digital Foundry: You're using DirectX 11 here. Why use this and not a lower-level API such as DX12 or Vulkan?

Steve Tolin: Part of that was the initial testing framework that existed but a lot of it has to do with the content authoring. The content authoring is right from original HLSL [high-level shader language] source that's in that format and it's all the way through through the pipeline, so that maintaining the content and not needing to edit and change the content was one of the core reasons to [use DX11].

Matt DeWald: And just the sheer effort of trying to port the engine over to Direct X12 is just beyond the scope of the project.

Digital Foundry: Let's talk a bit about some of the visual upgrades. For example, DLSS, why include it in the first place? And secondly, could you describe the implementation process there? Because the game already had TAA and checkerboarding. Was it that hard to integrate, actually?

Steve Tolin: We wanted to address hitting a wide space of machines, so the image scalars basically allow a lot of scalability for player. Once we put in our own temporal image scaler, then it was okay, now, let's support the DLSS and the AMD scaler, to basically give players the vast variety of options, to be able to tune it to get that experience that they need. You may have a 4K monitor, but you may not have a GPU that's actually going to run at 4K, so we're giving those options to the players be able to scale the image and the rendering, to get the image that they want.

Matt DeWald: And let's be honest, DLSS is an amazing technology, so we definitely wanted to support that. And then when AMD came out with Super Res (FSR), we just decided to get on that as well, on top of our own scaler... [they all] tap into the same underlying system, so they're fairly straightforward to implement. When you have one of them implemented, you're getting the other ones cheaper.

Digital Foundry: So that the standard percentage scaler option actually uses a temporal upsample?

Matt DeWald: Yeah, if you don't have FSR or DLSS turned on, it uses the TAA scalar instead.

Digital Foundry:
There's a new ambient occlusion method and the game's advertising actually talked a bit about it, like a mix of GTAO with SSAO. Can you explain a bit about how that works and what it does?

Matt DeWald: It's some new technology that we decided to port over and say, you know, let's give an option to bump things up. But the idea is that, yes, we have directional occlusion as well as ground truth ambient inclusion to add in some additional quality, so that people that have high-end systems that can utilise that extra a couple of milliseconds can actually see those changes.

Digital Foundry: Let's talk about the other settings as well. In the PC ports we've seen in the past, the game has been designed around the original settings, and you pump it up to a higher level. But the game streaming systems, like the pool sizes and things like that were very much so designed around that. Here, I've been playing at ultra, not noticing any really fidgeting or stuttering as a result of having a lot larger shadow pool and a much greater geometry distance. What changes needed to be or made respected in the port to make sure that higher settings weren't just nominally higher, but they actually ran well in their own right?

Steve Tolin: Again, it's just a lot of work. So, focusing on that, is always the goal, right? A lot of these techniques that you're talking about was, so here's the content, and that was at fixed size resolution buffers, or texture samples, or ray casts or samples, right? What we've been able to do is expand some resolution, expand more texture sampling, expand the number of rays in some reflections, and basically just to do more work to target a higher fidelity image as part of any of those single effects.

Digital Foundry: Was there some special in this game you'd like to highlight, or some aspect of your work that you really enjoyed in this project?

Steve Tolin: To be able to work on the God of War franchise, you know, be working with Santa Monica for a while, and being able to take that game and that content and deliver it to a new audience at a higher fidelity.

Matt DeWald: And stealing a little bit of my thunder, because I joined six weeks after they launched God of War in 2018. I've been here for almost four years, but I didn't get to ship the game and didn't get to experience that. So, now I'm getting to experience that. But on top of that, we're all gamers at heart and I play a bunch of games on PC and a bunch of games on console. And even though we've sold, you know, what, nearly 20 million copies on console, there's this whole audience out there that's never experienced this game and never had a chance to, and at this point, they're never going to buy the console to play it, right?

To be able to give them a way to play the game and say, you can experience this thing, this thing that won 270+ Game of the Year awards, and like, you can now experience it on your PC... I can't wait to see what people say about it, what people experience and just getting that conversation going again, because it's a very emotional story. And just getting people to talk about it again, I think will be great.
 

ACESHIGH

Banned
I mean... they will eventually have to port the engine to DX12 or Vulkan for Ragnarok... Its a long term investment. I can't see a Ragnarok PC port in say 2024 using a then 14 year old API.
 

VFXVeteran

Banned
Everything they said was mentioned before on these boards several times. I hope that it puts to rest that old theory that games are developed on console then ported over to the PC. Exclusive games are already PC-capable. The particle system was a 3rd party software package written specifically for the PS4 so what you had was a PC game written from their own DX graphics pipeline with non-existent particles that had to be ported over from scratch and a lot of little nit-nacks that had to be polished up.

Digital Foundry: You're using DirectX 11 here. Why use this and not a lower-level API such as DX12 or Vulkan?

Steve Tolin: Part of that was the initial testing framework that existed but a lot of it has to do with the content authoring. The content authoring is right from original HLSL [high-level shader language] source that's in that format and it's all the way through through the pipeline, so that maintaining the content and not needing to edit and change the content was one of the core reasons to [use DX11].

Matt DeWald: And just the sheer effort of trying to port the engine over to Direct X12 is just beyond the scope of the project.

I really hope we can all put that myth to rest here.
 
Last edited:

Kenpachii

Member
Nice interview thanks for posting.

I could see this being a lot of work as they have zero experience in it. Horizon was a good learning process for them, if you look at how the game performs right now its great.

I must say i did some testing myself and the game runs absolutely wonderful on any resolution really. the ultra settings are demanding but that's exactly what they where targeting for. Even while there are some things that can still improve, i must give it to them. Even at this stage they are already above microsoft at this point with porting games over.

Good job.
 
Last edited:

hlm666

Member
Interesting interview, pity it wasn't a video one like the flightsim dev one. There's a chance they will drop a little more info or share some funny stories in that more chat like environment.
 

Gaelyon

Gold Member
I'm a french person and i'm not offended at all. Nobody is dead, stop being a drama queen. It's a joint effort with the movie made by a very respected director (Jean Jacques Annaud), Ubisoft was contacted by Pathé, the movie distributor, on Annaud idea.

The US is the king of doing movies about any incident (remember the Eastwood movie about the americans on a french train fighting terrorists ?) and i remember some New York guy selling T-shirts with "I Survived" on it the same week the twin towers collapsed, THAT was tasteless.
 

ACESHIGH

Banned
Nice interview thanks for posting.

I could see this being a lot of work as they have zero experience in it. Horizon was a good learning process for them, if you look at how the game performs right now its great.

I must say i did some testing myself and the game runs absolutely wonderful on any resolution really. the ultra settings are demanding but that's exactly what they where targeting for. Even while there are some things that can still improve, i must give it to them. Even at this stage they are already above microsoft at this point with porting games over.



Good job.

I found the game being surprisingly CPU heavy on PC even at 30 FPS. I'd say it's as demanding as CP2077 or Flight Simulator 2020. Hopefully there are CPU optimizations made after release.
 

Kenpachii

Member
I found the game being surprisingly CPU heavy on PC even at 30 FPS. I'd say it's as demanding as CP2077 or Flight Simulator 2020. Hopefully there are CPU optimizations made after release.

Ultra settings are CPU heavy in god of war for sure but its still good doable if you got a some what modern CPU, CB is a lot more heavier specially because of ray tracing.
 

Panajev2001a

GAF's Pleasant Genius
Naturally, very different underlying architecture for a game that was never designed with the intention of ever being on PC in the first place, so a lot of things right out of the gate will simply be broken and not work right, or at all.
It shows how much you can punch above your weight when you have a low level API and a single set fixed specs ;).
 
It shows how much you can punch above your weight when you have a low level API and a single set fixed specs ;).

Well yea, that's just basic software design. If you just have fundamental differences in architecture design between targeted platforms, regardless of how much more power you may have on the new system, things are just not going to automatically all run at the right speed, or even work at all.
 

Buggy Loop

Member
It shows how much you can punch above your weight when you have a low level API and a single set fixed specs ;).

I mean, port studios never really get a big piece of the cake to truly use the hardware given. It's typically for a quick cash grab without any "bad port" drama, so basically, it works, we won't get refunds. If you don't use low level APIs used on PC such as Vulkan or DirectX 12 due to budget constraints.. It kind of makes any comparisons moot. A modified openGL API is not going to blow the roof off in 2021.
 
Last edited:
How exactly is it punching above its weight.

It technically isn't, but in principle he's right. The game and its systems were designed with to run based off a specific architecture design. No matter how strong the PC is, a sloppy enough port would have it running much worse than the PS4 and PS4 Pro versions, forcing you to require a much heftier system just to get the game running. This, by all accounts, is superbly well optimized, and the team that did it should be immensely proud.
 

Buggy Loop

Member
How exactly is it punching above its weight.

And i might add, is it only me playing this and then wonder, how the fuck Witcher 3 pulled off it's visuals in 2015 in an open world environment? I mean God of War looks nice, but it's quite clear playing it on PC where they had to cut corners to make it look like it does on consoles.

I don't know. I'm mostly impressed by the art direction (Norse mythology kicks ass), but not the graphical fidelity, so far.
 

Tripolygon

Banned
A good analysis of how GOW is put together from analyzing the PC release. Or why it seems particles were the hardest thing to get running on PC because it was so bespoke to PS4 hardware.


Surprisingly I found that GoW on PC is running on D3D11, which seemed a very vague choice for me & something i was not expecting at all. I understand that the initial release was around 2018, and at that time neither D3D12 nor VK was a common choice or common target to consider early, but still, it doesn’t’ matter for a GNM/GNMX based game. Yes release was 4 years ago but the game production itself may be started 4-5 years earlier, and as I always say that any console exclusive already have a version that runs internally on PC because it’s been developed and written on PC after all! So may be the GoW 2018 PS4 exclusive version had it’s Editor based on D3D11 on windows, and hence the decision came to leave it as it is, and use that as base for the windows port. At the end of the day D3D12 or VK will cost triple the time if not more. But still I was honestly expecting the 2022 PC port of the game to run on VK API, but it is what it is. Hopefully with an upcoming GDC there will be a more in depth talk about the work Santa Monica Studio put in that port. Let’s wait and see..

1.Wind (Compute)​

Looks like Santa Monica guys are in love with compute & I can’t blame them, too much magic can be achieved in an outstanding speed & I’m not surprised, such an ultra beautiful game defiantly have a smart use of compute . In fact, it is not only Santa Monica, I believe all Sony 1st party studios are the earliest (and the best) when it come to utilizing compute in the most brilliant way on home consoles; Naughty Dog, Santa Monica, Insomniac, Sucker Punch,…etc. They’ve all prove & showcased brilliant compute based techniques in the past few years since the early days of the PS4.

its a really good read if you are interested in such a thing.
 

ACESHIGH

Banned
The game is hardly duck taped for the PC.

Ok good. It does not brick my PC I give you that. But... Why no Vulkan or DX12 then? They certainly didn't go the extra mile as Santa Monica did with squeezing every last bit of performance out of the ps4.

An FX 8350 struggles to run the game at 30 FPS original settings and that CPU while old has ran 99% of AAA games better than a base PS4 across the generation

Look at the 720p 30 FPS minimum specs

  • CPU: Intel i5-2500k (4 core 3.3 GHz) or AMD Ryzen 3 1200 (4 core 3.1 GHz).
  • Memory: 8GB RAM.
  • GPU: Nvidia GTX 960 or AMD R9 290X.
  • VRAM: 4GB.
  • Storage: 70GB HDD or SSD storage.
That PC is quite a bit better than a base PS4 that manages to run the game at 1080p 30 FPS and better settings than PC low. Look at the PC specs to match PS4 performance.

  • Average performance: 1080p at 30FPS
  • Graphics settings: Original
  • GPU: Nvidia GTX 1060 (6 GB)
  • CPU: Intel i5-6600k (4 core 3.5 GHz) or AMD Ryzen 5 2400 G (4 core 3.6 GHz)
  • RAM: 8 GB DDR
  • OS: Windows 10 64-bit (version 1809)
  • Storage: 70 GB SSD
That's a PC better than a Ps4 Pro by a country mile. Equivalent GPU , Way better CPU and SSD required. Do I need a Skylake I5 to run the game at 30 FPS just like ultrabook cores from 2013?
Of course you cannot compare game by game, API to API HW from vendor X to vendor Y but as customers we should not worry about that. Let devs bang their heads against the wall until they figure it out. We just have to pay and enjoy the game as long as we have reasonable spec HW. After all, they want 50 USD for this game.
 
Last edited:

VFXVeteran

Banned
Ok good. It does not brick my PC I give you that. But... Why no Vulkan or DX12 then? They certainly didn't go the extra mile as Santa Monica did with squeezing every last bit of performance out of the ps4.

An FX 8350 struggles to run the game at 30 FPS original settings and that CPU while old has ran 99% of AAA games better than a base PS4 across the generation

Look at the 720p 30 FPS minimum specs

  • CPU: Intel i5-2500k (4 core 3.3 GHz) or AMD Ryzen 3 1200 (4 core 3.1 GHz).
  • Memory: 8GB RAM.
  • GPU: Nvidia GTX 960 or AMD R9 290X.
  • VRAM: 4GB.
  • Storage: 70GB HDD or SSD storage.
That PC is quite a bit better than a base PS4 that manages to run the game at 1080p 30 FPS and better settings than PC low. Look at the PC specs to match PS4 performance.

  • Average performance: 1080p at 30FPS
  • Graphics settings: Original
  • GPU: Nvidia GTX 1060 (6 GB)
  • CPU: Intel i5-6600k (4 core 3.5 GHz) or AMD Ryzen 5 2400 G (4 core 3.6 GHz)
  • RAM: 8 GB DDR
  • OS: Windows 10 64-bit (version 1809)
  • Storage: 70 GB SSD
That's a PC better than a Ps4 Pro by a country mile. Equivalent CPU , Way better CPU and SSD required. Do I need a Skylake I5 to run the game at 30 FPS just like ultrabook cores from 2013?
Of course you cannot compare game by game, API to API HW from vendor X to vendor Y but as customers we should not worry about that. Let devs bang their heads against the wall until they figure it out. We just have to pay and enjoy the game as long as we have reasonable spec HW. After all, they want 50 USD for this game.
Again you are looking at hardware/APIs as if they are equivalent in nature and they aren't.

Read my post here: https://www.neogaf.com/threads/ign-...ps5-performance-review.1627534/post-265382972

Sony studios that make exclusives are using the bare minimum APIs (in this case DX9/11) in order to optimize their PS SDK SKUs. Yea, it'll run on a PC since the original graphics code is running on PC but it's hardly "made" with PC in mind. That will change. You are literally asking them to redesign their entire DX11 graphics pipeline to run DX12 for one port to run optimized on the mid-lower end PCs in 3yrs *while* keeping the PS4 SKU around to develop GoW2 in tandem. Completely unrealistic.

There needed to be a big executive decision to allot funds to start converting graphics engines to make them PC-friendly (ala DX12/Vulkan). I expect the PS5 ports to have more updated and optimized code for PC GPUs as they port their engines for the newer APIs (which will take time).
 
Last edited:
Top Bottom