Chris Roberts On Using DX12 & Compute In Star Citizen

Author Photo
Sep 30, 2015

If you’re a fan of space simulation games, Chris Roberts is probably one of your favorite game developers. The man who created Wing Commander is back with a vengeance; Star Citizen is by far the most funded video game of all time and soon it will break the incredible barrier of $100M.

The CRYENGINE powered title is incredibly ambitious in all of its aspects, including technology. Chris Roberts himself talked about Star Citizen’s implementation of DirectX 12 in general and Compute in a lengthy interview with Gamers Nexus.

We’re in process. It’s part of one of the tasks of the engine group right now, so it’s actually something we’ve commenced on and are working on. We’re doing it the right way, versus just changing a couple API calls and saying ‘we’ve got Dx12,’ so it won’t be ready until next year, but we’re actively working on it. We work pretty closely with AMD and it’s one of the things that is a big deal to them and would be a big deal for nVidia, too. We really want to try to utilize more of the power of today’s graphics cards, so it’s that, it’s also on the compute side where there’s a whole bunch of stuff that we’re starting to lay onto compute, allowing us to do pretty cool stuff, like voxels and stuff like that.

Star Citizen won’t be updated to DirectX 12 until 2016, then, but that’s because Chris Roberts doesn’t think it would be worthwhile until the pipeline has been refactored.

I think, fundamentally, there is some definite work that has to happen on the low-level in all game engines to really push Dx12. It’s not just adding more jobs, it’s also about refactoring some of the pipeline, how you deal with the data, how you organize your resources so you can be more parallel, which is how you get the real power of Dx12 or Vulkan. You can take a Dx11 renderer and make it Dx12 pretty quickly. You’re not going to get the benefit of Dx12 or the Vulkan stuff until you do more fundamental refactoring.

That’s what we’re doing – we’re saying, ‘we’re gonna do it right so that we’ll really get the performance gains.’

That’s very interesting to hear. As some developers have already noted, DirectX 12 is not a magic wand that delivers incredible performance boosts by pulling a switch; developers will have to work hard in order to really get that extra juice out of the lower level API, and it sounds like Cloud Imperium Games is up for it.

Chris Roberts also added that Vulkan is interesting to the studio and he would like to use it, though CRYENGINE’s OpenGL implementation isn’t great yet.

Oh, totally. It totally is. From my standpoint, we would like to use Dx12 as well as OpenGL Next, Vulkan – we want to support Unix. Our servers run on Unix, so our codebase works on Unix as well as straight Windows, but the problem we have is we don’t have a graphics driver yet – there’s an OpenGL implementation that was recently released with CryEngine, but it’s pretty early, pretty slow.

It sounds like Vulkan support will be coming to Star Citizen at some point, but only after DirectX 12. The game is being released in modules and while it was originally meant to be fully available by late 2016, it may well slip into 2017 with the amount of features that still need to be implemented.