CD Projekt RED Talks The Witcher 3 Tech: Tessellation, PhysX, DX11.2, Windows 8, Global Illumination

The Witcher 3 v1

A couple of days ago, we had the pleasure to interview Greg Rdzany – Senior Technical Producer at CD Projekt RED – and Balazs Torok – Lead Engine Programmer at CD Projekt RED. Greg and Balazs shared some new information about the Fur tech that will be implemented in The Witcher 3 and talked about PhysX 3.0, Tessellation, DX11.2, Global Illumination, and shared their opinion about other commercial engines – like CryENGINE and Unreal Engine. Enjoy the interview after the jump!

DSOGaming: Before we begin, please introduce yourselves to our readers.

GR: Hello, I’m Greg Rdzany – Senior Technical Producer at CD Projekt RED.
BT: Hi, I’m Balazs Torok – Lead Engine Programmer at CD Projekt RED.

DSOGaming: The Witcher 3: Wild Hunt is powered by REDengine 3. What are the key differences between REDengine 2 and 3?

BT:  The key difference is that REDengine 3 is made to support open world games. We spent a lot of time figuring out the pipeline and the systems and techniques needed to enable our game teams to achieve their goals, both in terms of storytelling and openness. We also rewrote the renderer to support DirectX 11 – this brought a lot of new features that we can use to make our games look even better.

DSOGaming: Why did you create your own engine instead of licensing one, and what’s your opinion about both CRYENGINE and Unreal Engine 4?

GR: The short version: after our work on W1, which gave us a lot of experience with the Aurora engine, we concluded that ready-made solutions were not fully capable of giving us the creative freedom we were looking for. After evaluating different possibilities and exhaustive discussions we decided to start developing our own technology – technology that would fit our needs perfectly, not only in terms of rendering but also when it comes to tools. RPG games are very complex, so designers and artists require a lot of specialized solutions allowing them to create vast, believable worlds and compelling stories. We believe REDengine provides such support.

As for the available commercial engines, we are watching them closely. Companies like Crytek, Dice and Epic are pushing technological boundaries further and further every time they release new versions of their engines. We try not only to keep up the pace but we would also like to have our own impact on the technological development of solutions powering current AAA games.

BT: The big licensable engines are really great – there’s a team of experts behind them developing every little piece and this creates something that sets the bar really high for us – but we believe that these engines are also very general in their nature. We try to concentrate on all the features that make our engine and toolset especially good for making RPG games, and this specialization allows us to have a smaller team providing high quality solutions on par with the engines mentioned above. With that said, our engine is modular enough that it could be used to make different kinds of games if such a decision was made.

DSOGaming: One of the key features that was removed from UE4 was Sparse Voxel Octree Global Illumination. Does REDengine 3 support it (or any other forms of Global Illumination) and if not, are there any plans for implementing it?

BT: In some ways Global Illumination is the biggest challenge currently facing graphics programmers. It’s quite hard to find a solution that gives feature parity across all our target platforms and we decided that for now we would rather spend our time on other features for providing better-looking lighting and shading. We will definitely return to this topic at some point and I’m sure that we will find a solution that will fit our games, but right now we have other ideas on how to improve the visuals.

DSOGaming: A couple of days ago, Nvidia showcased its Fur Tech that will be featured in The Witcher 3. The performance, though, was underwhelming. Are you guys working with Nvidia to optimize the PhysX effects, and will you be using the PhysX 3.0 SDK?

GR: The Fur Tech showcase presented recently is only an early version of a feature we are working on in cooperation with Nvidia. We will definitely put more effort into optimizing it as well as improving its visual quality. We are still quite far from release, so I believe we will achieve a satisfactory level of performance.

And yes, we will use the PhysX 3.x SDK.

BT: The fur technology from Nvidia is in a very early stage of development – not too long ago it only existed as a research project. It is a very interesting process to get our hands on something at such an early stage and make sure it will be usable in our games. Obviously the technique is not optimized yet but we see a lot of potential in it and we are working very closely with the developers to make sure that we can get the best out of it.

DSOGaming: What are the key tech features of The Witcher 3, and what is the one that you are really proud of?

BT: We are very proud that The Witcher 2 is considered one of the best looking games on the Xbox 360, so we’ve tried to improve our graphics and we are very satisfied with our initial results. Naturally, we are proud that we made the transition to run our games on multiple platforms and to create the systems for an open world. We also switched our physics middleware from Havok to PhysX and we started using Apex.  These were all really big changes and we are far from done – we have a lot more on our plate, including constant improvements to our editor. We should probably get back to this question after the game is released but right now these things come to mind first.

DSOGaming: With the release of the REDkit, players can mod The Witcher 2. What more can we expect from The Witcher 3 (regarding its mod support)?

GR: Honestly speaking it’s too early to talk about that. Simply because the game itself is at pre-alpha stage and we’re fully concentrating on finishing it. Bear with us though and ask us this question again once the game is out!

DSOGaming – Readers’ Question – How has native 64-bit affected the engine? How did you achieve a world 35 times larger than Skyrim The Witcher 2 and what does it imply about the engine, performance, and requirements? Can you share any estimated minimum/recommended PC requirements?

GR: Well, 64-bit architecture gave us access to larger amounts of memory available for the game. I think that’s the biggest benefit. In general the transition to 64-bit went quite smoothly and seamlessly for us.

I admit that the size of the world we have in TW3 provided us with a considerable number of technical challenges. It pushed us to rewrite our streaming system, memory management and resource handling mechanisms. It also required a lot of enhancements from us to the tools used by designers and artists. Many things that were done manually in TW2 had to be automated now to allow us to fill the vast areas Geralt will travel through faster.

It will obviously cause TW3 to have higher requirements than previous installments of the game. But at this stage, without final optimizations, it’s hard to estimate what the minimum system requirements for comfortable playing will be. We will definitely work hard to make this game playable on most gaming PCs.

DSOGaming: In the past, we’ve seen a lot of games being optimized for tri-core CPUs. There are only a few titles that show performance differences between tri-cores and quad-cores. Will The Witcher 3 take full advantage of quad-cores? Will it be a CPU or a GPU bound title?

GR: Even The Witcher 2 was fully prepared to work on multi-core CPUs (not limited to 3 or 4 cores). So our technology is already using the full potential of multi-core CPUs. For TW3 we’ve just made it even better :).

As for being CPU or GPU bound – it’s too early to say anything about this. We are still before final optimizations so we don’t want to speculate now.

DSOGaming: During SIGGRAPH 2013, it was revealed that you had some issues with tessellation on characters. Have you found a solution to this or will you be using tessellation solely for the game’s environments?

BT: The biggest problem we have with tessellation is the way it creates holes in the mesh. This can be solved in two ways: one is to add a lot more data and a lot more calculations to the shaders, and the other is to change the assets in a way that avoids the problem. Both solutions are quite expensive, one in terms of performance, the other in terms of artist time. This is why we made the decision that using tessellation as a default for our characters wouldn’t give us as much as it would cost. That being said, tessellation can still be used with any mesh in the game because the system supports it – using it just becomes a decision that has to be made in some special cases.

DSOGaming: Have you experimented with tessellation in order to eliminate the distant pop-up/pop-in of various objects?

BT: We’ve done some experiments with adaptive tessellation; unfortunately, it would require quite a big pipeline change to really use it everywhere, plus we didn’t get that much benefit from it, so we decided that we will only use it in a few cases where the problems can be easily avoided and the difference is really visible.

DSOGaming: What’s your opinion about Windows 8 and DX11.2? Will you be using any of DX11.2’s exclusive features?

BT: We will definitely make sure that our games have no problem running on Windows 8 and 8.1 but at this point we are not considering using any of the DX11.1 or 11.2 features. It is very important for us to keep the platform specific changes to a minimum while still making use of everything that’s available to us. Some of the DX11.1 features are actually available in DX11 via standard APIs, so we are using those in the development process but not necessarily in the released game.

DSOGaming: Thank you very much for the interview, and we can’t wait to see what you guys have in store for us!

GR: Thank you! It was nice chatting with you. We are also looking forward to share our vision with all RPG fans.

BT: Thanks, I’m sure there will be a lot more interesting information in the future.

  • Guest

    f*ck no, i’m no changing to W8!

    • John Papadopoulos

      “but at this point we are not considering using any of the DX11.1 or 11.2 features. ” . You’ll get the full visual experience on Win 7, so there is no need to worry 😉

      • Mike

        Battlefield 4 uses DirectX 11.1 so it runs faster on Windows 8. Windows 8 is much faster than the old Windows 7

        • Sabun

          I’m using Windows 8 Pro and previously used Windows 7. There’s honestly nothing faster about it. Games perform exactly the same, boot up and shut down times are the same. The bad thing is that many games don’t work properly for Win 8 (currently struggling to get RAGE working).

          • Emanuel Monteiro

            Unfortunately that is just not true. With the kernel/memory optimizations and the decrease in DPC latency it is a much more efficient and faster OS. Its easily noticeable during day to day tasks. Gaming probably not so much(even though on paper there are some fps increases here and there). Start and shutdown times have a huge difference compared to 7, and thats already with an SSD thrown in before the switch. Since windows 8 video drivers are more matured there arent any games that I havent been able to play, including rage. Maybe you need to take a look at the hardware or drivers.

            The only down side, of course is Metro, but thats easily circumvented.

            P.S. I would die before switching to 8 before but I tried it and I see no reason to go back.

          • Sabun

            While you might not think it is true, but I am really using Windows 8 now and this is my real time experience. Windows 7 used to take a good 3 minutes to boot up, Windows 8 takes a solid 2. While it’s an improvement, it certainly isn’t blazing fast. The fact that I also can’t run a lot of Windows 7 certified games is also a very serious compatibility issue (even after altering properties of the executables). Maybe your experience has been great, but mine has not. My hardware isn’t that old either (circa 2009 hardware mixed with 2012 hardware). Metro is a very small issue compared to the problems I’ve encountered.

          • Matt

            Eh… nothing will convince me that Windows 8 is worth it. I’m more excited for the Steam OS than anything new from Windows and it’s freaking free.

          • Emanuel Monteiro

            So if you had to reinstall windows due to some issues, and you had 8 sitting there available, you still wouldnt use it? And why? Dont say Metro because thats no longer an issue with so many workarounds that take 1 minute to install.

          • Matt

            I wouldn’t turn it down if it was free… but that’s not the case. I’ve already bought Win 7… Win 8 doesn’t offer anything that’s worth the upgrade price and I’m not liking the business model Microsoft is displaying at the moment.

          • Matt

            STEAM OS… there’s still hope especially considering the DX wrapper included in the OS.

        • Brian

          There is nothing faster about different DirectX versions. Different versions bring different effects. That’s all.

          • Mike

            Battlefield 4 will be faster on DirectX 11.1

            DICE:
            “We use DX11.1, there are some optimizations in it (constant buffer offsets, dynamic buffers as SRVs) that we got in to the the API that improves CPU performance in our rendering when one runs with DX11.1”

          • Matt

            Won’t amount to much… maybe 5fps max? BF4 is going to be GPU hungry… I don’t see how they would need more CPU power than BF3.

          • Anaron

            Exactly. Frostbite 2 was GPU-limited. I doubt it would even amount to a 5 FPS difference.

          • Matt

            5 FPS was being generous… it might be more apparent on older CPU’s than say a 4770K or an FX-8350. The GPU will have more focus going into next gen… it’s almost obvious considering the low powered CPU in the new consoles.

          • Anaron

            Have you seen benchmarks for Battlefield 3? There’s very little difference in performance between low-end and high-end CPUs. Frostbite 2 is GPU-limited, meaning it’s only limited by the performance of the GPU. It’s very likely that the same will be true for whichever version of Frostbite they’re using in Battlefield 4.

          • Vorastra

            2 years later and with the talk of DX12. how wrong you were.

          • Primey_

            You’re a weirdo. Did you bookmark this comment just to comment on it 2 years later?

          • Vorastra

            I’m a weirdo for finding this page an hour or 2 ago and commenting? Doesn’t take much to constitute as weird in your world.

  • Dark Moyan

    Win 7 is working fine for me.
    I’ll wait for Win 9 but for now Win 7 is Doing all my daily work and yes Gaming is The Primary Reason 😀

  • ArtGlu

    so no GI, no DX11.2 and “keep the platform specific changes to a minimum” is “very important for us”(while using GPU specific PhysX effects).

    • Anaron

      Last I read, DX11.1 is exclusive to Windows 8.1 and Xbox One. What’s the point of supporting it when the large majority of Witcher players can’t take advantage of it?

  • Nintendo Fan 4 Lif3

    I wonder if them leaving 11.1 and 11.2 out of the final game this will hinder its performance on Xbox One since one of it’s main components is Windows 8 and 11.1+ (11.2). Just a thought not trolling or anything.

  • Warrior88

    This goddam use of PhysX is a bummer! I love AMD because it always gives me a considerably bigger bang for my bucks! Have been using AMD for past 6 years….this use of PhysX always pisses me off! Farkin’ NVidia and their marketing BS!

    • benbenkr

      What are you, like 12 years old? Nvidia bought PhysX, they have the right to market it however they want. Their property, their rights.

      Who are you?

    • Clifton Walton

      PhysX 3.0 should run pretty well on the CPU, so it’s not like you can’t use it at all if you own an AMD graphics card.

    • sidspyker

      Middleware Physx use isn’t GPU specific don’t worry about that. Only the extra graphical effects will be.

      Does anyone know how viable OpenCL is for the physx stuff? The way I see it now, we could have extra stuff for nvidia cards(52% by steam hw survey) or none for either. I’m fine with the former and will galdly switch.

      • The only specific thing about PhysX with NVIDIA GPUs is the physics are accelerated by CUDA cores on the NVIDIA GPU. None NVIDIA GPUs use OpenCL and steaming processors to do the same thing. I don’t know how good CUDA is compared to OpenCL.

        • Russell Collins

          Open>Proprietary

          • AMDisMad

            If AMD is some Open why they are selling GPUs and CPUs instead giving them away?

          • Russell Collins

            That maybe one of the most asinine things said on this website.

          • Emanuel Monteiro

            Buddy you just went full retard!

          • So you’re OK with using proprietary DirectX instead of OpenGL then? :p

    • Dakan45

      Does it? No seriously do amd videocards really beat nvidia and price and perfomance?

      As for physx? You are not missing anything significant, the perfomance drop was always too high.

      • Emanuel Monteiro

        lol these arent AMD cpu’s, they are the exact same price to performance generally speaking.. Or they tend to leapfrog eachother in that regard. Price drops are always met by both companies.

    • Brian

      How dare they run like a business.

    • Elilla Shadowheart

      Meh. Buy a board that supports SLI, and slap in a low end card to simply do physx calculations. A low-end 500 series will work just fine for now, and in a years time grab a low end 600 series for $30-40.

  • Yeltnerb1

    Its looking like late 2014 is their target, which is fine by me. It would be the 7 year anniversary of The Witcher 1.

  • Dakan45

    Dsogaming secured the most “pc” interview ever.

    I wanna see how x64 exe will work out

    • Matt

      like a x32 .exe with the capability of accessing more than 4gb of ram :3

      • No, it’s has to do with the fact that 32bit apps have a limit of how much memory they can address in a 32bit OS. The flag for the exe to address more memory only works in a 64bit OS anyway because of the hard limit in a 32bit OS.

        • Matt

          x32 apps are still limited to 4gb of ram even on a x64 OS… a x64 app wouldn’t even be able to run on a x32 OS.

          • Again you’re confusing RAM with virtual address space, it’s not about 4GB of RAM. A 64bit OS can give the app as much memory to address as it wants to do the job quicker, a 32bit OS has a hard limit on virtual address per app.

      • Dakan45

        What i mean is everyone who tries it, basicly got it blown up in their faces. Hopefully it works well.

  • meh

    Great interview guys. We need more like this.

    • myownsun

      Agreed and Dso you site truly one of the most underrated on the net.

  • Azix

    That’s disturbing. Nvidia tech is proprietary and I was hoping to go AMD for this game. Why use phyx when other options are around that do physics better? Why use nvidias fur tech and not look at the open TressFX? A mistake I think from a company that supposedly is considerate of gamers. Why go with closed tech that wont work well for some of the gamers?