Oxide Games Reveals VR-Only Nitrous 2 Engine, 'Not Enough Bullets' Game

AMD had much to say during the Capsaicin and Cream event, but the Red Team wasn’t the only company with news to share. Dan Baker from Oxide Games took the stage to introduce his next game and the next-gen game engine powering it.

Baker is up to his old tricks again. The co-founder of Oxide Games is out to push the performance boundaries of next generation game development technology. He and his company are hard at work building the second-generation Nitrous engine--and this time he’s not letting the old guard hold him back.

Baker played a role in bringing the Khronos Group’s Vulkan API to market, and his company was among the first to embrace AMD’s Mantle API. You may also recall that a little over a year ago, we spoke with Baker about his experiments with DX12 in the first Nitrous engine.

At the time, Ashes of the Singularity was still in the development, but a lot of eyes were on Oxide Games because Ashes was poised to be one of the first DX12 games on the market. Baker spent the time to explore DX12’s Explicit Multiadapter feature, which allowed him to build an experimental build of the game that simultaneously supports Nvidia and AMD graphics cards.

Now that the development of Ashes of the Singularity is out of the way, Baker looked towards the virtual reality market and wondered what boundaries he could push next.

“When we finished Ashes [of the Singularity], and we had the first DX12 engine, we said ‘Well, ok. We still have to support the old APIs, but what could we do if we did next-generation only? And what would a new engine look like if you were only DX12 and only VR? And what would it look like?’” said Baker. “What we came up with is Nitrous 2.0.”

By dropping the old APIs that restricted development of advanced features and hamstrung performance, Oxide Games was able to use the available resources more efficiently than ever before. Baker said that the first generation Nitrous engine allowed Oxide to squeeze approximately 85% of the available performance out of all the GPU cores and CPU cores you could throw at it. Nitrous 2.0 kicks it up a notch and allows for “complete utilization of all cores.”

Baker said that Nitrous 2.0 features a new shading technique, which plays a key role in scaling the performance efficiency to 100%. Oxide leverages asynchronous compute to run the rasterization and shading workloads simultaneously.

“We have this new technology where we’re actually able to rasterize the entire scene at 90 [fps], and in the asynchronous compute we shade at 30 [fps]--We decouple the two. And we can share the data between the eyes,” said Baker. “So, that means, in theory, our shading can be 6x more efficient than it ordinarily would be. And async compute is working perfectly for this.”

As was the case with the first Nitrous, Oxide Games isn’t developing Nitrous 2.0 for other developers. As Baker told us in his interview in 2015, “Oxide is a game development company first and an engine licensing company second.” As such, the developer is building a game with the new engine.

Oxide Games did a live demo of a game called Not Enough Bullets running on one of AMD’s new Ryzen processors and Vega GPUs, and pushing all 16 CPU threads to the limit. The game crashed a few seconds into the demo, which is a shame, but not surprising for early software running on an in-development game engine, on an engineering sample graphics card. They were able to launch the demo again moments later.

Unfortunately, the scenery in the game is quite dark, and we weren’t able to make out exactly what was going on in the demo. We suspect that Not Enough Bullets is another real-time strategy game, as the original Nitrous Engine is optimized for the genre.

Baker made no mention of when we can expect to see more of Not Enough Bullets or the Nitrous 2.0 engine.

 Kevin Carbotte is a contributing writer for Tom's Hardware who primarily covers VR and AR hardware. He has been writing for us for more than four years. 

  • TechyInAZ
    This was my favorite demo out of them all (even if it was glitched). I love that a developer team wanted to see what DX12 was fully capable of. Something I've always been wondering, glad to hear it can be encoded well for 16+ threads.