CD Projekt’s lead engine programmer Balazs Torok on the finer details of The Witcher 3: Wild Hunt.
The Witcher 3: Wild Hunt is easily one of the best looking current generation games and given that CD Projekt RED are skipping the last gen consoles, the title is able to utilize the full potential of PS4, Xbox One and modern GPUs and CPUs. CD Projekt RED are always at the forefront of using modern technology to its fullest potential and it’s intriguing to know how they are utilizing it to push the game in new directions.
GamingBolt was fortunate enough to have a chat with the Witcher 3’s lead engine programmer, Balazs Torok, about the challenges they faced while developing on new hardware, the potential of DirectX 12, the scope updates for REDengine 3 and a host of other things. Check out his response below.
Rashid Sayed: REDengine 3 introduces a host of new improvements to the existing architecture. How has the shift to 64-bit architecture helped in creating the large open worlds? What difference does it make in development as compared to The Witcher 2?
Balazs Torok: The Witcher 3 is a fully open world game, which means that sometimes in the editor we need to see much bigger chunks of the world than the players would see normally. We knew from the beginning that this means a lot higher memory usage than before, so moving to 64 bits was a natural process for us. In terms of difference, it basically works the same way from the content creation perspective, except that a lot more assets can be loaded at the same time.
"We worked a lot on our new terrain system, and we are quite proud of the results. The tessellation helps to provide even more details than before and the varied materials allow us to make every place in the game look really a unique part of the world."
Rashid Sayed: The Witcher 3 will feature tessellation and blends varying material layers to create realistic terrain. How does this help in designing unique and varied environments? What other elements go into the process of world building, especially given the open world approach this time around?
Balazs Torok: We worked a lot on our new terrain system, and we are quite proud of the results. The tessellation helps to provide even more details than before and the varied materials allow us to make every place in the game look really a unique part of the world. The process of world building is very complex but it all starts with the shape of the terrain, which is then populated with foliage and other objects.
Rashid Sayed: Many developers have talked to us about the Xbox One’ s eSRAM and the potential for texture streaming. But at the same time there have been others who think it’s too small for 1080p resolution will full effects active. Have you been able to take advantage of the eSRAM’s streaming capabilities for The Witcher 3 and has there been any development challenges due it?
Balazs Torok: I would say that targeting Full HD with a complex rendering pipeline is a challenge in terms of ESRAM usage. Especially when this pipeline is built on deferred rendering. We are definitely taking advantage of the ESRAM on Xbox One, and we know that we have to fit into these limits, so we are constantly optimizing the usage.
Rashid Sayed: How has the recent Xbox One SDK Update and GPU being freed due to Kinect not being used, helped matters for the Xbox One version?
Balazs Torok: This change was very welcome across all developers who don’t rely on the Kinect for their game. As we are trying to push the limits of the graphics capabilities of both consoles, any resource that we can use is important for us, however small it might be.
"The slower clock speeds are not really a problem in terms of thread management, but they are definitely problematic in terms of performance. Optimizing the CPU side is definitely one of the challenges we have to tackle to be able to run our game on the consoles."
Rashid Sayed: Are there any plans to use Mantle or DX 12 features in The Witcher 3? May be post launch?
Balazs Torok: There are definitely plans for exploring different graphics APIs, post launch. Right now we are concentrating on providing the best possible game for the majority of our players.
Rashid Sayed: One of the major challenges in creating a vast, expansive world is loading of distant objects. How are you handling the streaming and memory management so that the world loads in seamless manner?
Balazs Torok: After the Witcher 2, we completely rewrote the streaming system. The new system is loading the resources in a way so that the player can walk around in the world without any loading screens. This is a very big change in the engine and in the gameplay too.
Rashid Sayed: Tell us how RedEngine is utilizing quad core technology across PC/Consoles in an efficient manner?
Balazs Torok: We are always trying to improve our multi core usage, but quad core CPUs were already quite efficiently used in the Witcher 2. The game, the renderer, the physics and audio systems are all running on different threads, and we are trying to maximize the efficiency. Since both current gen consoles provide 6 cores for the developer, our goal is to make the engine scalable.
Rashid Sayed: Furthermore, has the slower clock speed of the PS4/Xbox One resulted into thread management issues?
Balazs Torok: The slower clock speeds are not really a problem in terms of thread management, but they are definitely problematic in terms of performance. Optimizing the CPU side is definitely one of the challenges we have to tackle to be able to run our game on the consoles.
"Our policy is to provide the best possible support for our players. I can’t give any specific information about the mod support yet, but the company policy definitely didn’t change."
Rashid Sayed: Despite their similarities, the PS4 and Xbox One do have some decidedly unique hardware features. How will you be taking advantage of the PS4’s unified GDDR5 memory architecture? Are there any specific graphical features you’ve found to be possible only on the PS4?
Balazs Torok: We always want to provide the best possible experience to all our gamers regardless of the platform and so we are not aiming to develop special graphical features for any of them.
Rashid Sayed: The Witcher 3 will be using the Fur technology from Nvidia. There has been a concern that it will be a resource hog even for some of the high-end PCs out there. Whatareyourthoughts on this?
Balazs Torok: The fur simulation is something that we are treating as a feature for the PC enthusiasts. There will be definitely a way to switch it off for those with lower spec machines.
Rashid Sayed: What kind of Anti-Aliasing technology are you using for the PS4 and Xbox One versions?
Balazs Torok: We are still exploring some options regarding anti-aliasing but we are sure that it will be some kind of screen space anti-aliasing solution and not hardware MSAA.
Rashid Sayed: Do you think DX 12 will change games development scene on the PC and Xbox One? Especially the latter for the 1080p issue.
Balazs Torok: I think there is a lot of confusion around what and why DX12 will improve. Most games out there can’t go 1080p because the additional load on the shading units would be too much. For all these games DX12 is not going to change anything. They might be able to push more triangles to the GPU but they are not going to be able to shade them, which defeats the purpose. To answer the first question, I think we will see a change in the way graphics programmers will think about their pipelines and this will result in much better systems hopefully.
Rashid Sayed: One last question and this for the PC enthusiasts. What can you tell us about mod support for The Witcher 3?
Balazs Torok: Our policy is to provide the best possible support for our players. I can’t give any specific information about the mod support yet, but the company policy definitely didn’t change.