Stardock updated its Ashes of the Singularity strategy game with support for the Vulkan graphics-rendering API in August, and that introduced some serious performance improvements — especially for players who aren’t using Windows 10. Ashes of the Singularity was one of the first games to support DirectX 12, which is Microsoft latest graphics API. And now the publisher and studio has patched Vulkan into the game, and it made the choice to do that because of its experience making Ashes of the Singularity and its need for efficient visual tech.
“In 2012, Stardock was at a point where we wanted to make games that couldn’t be made with current engines,” Ashes of the Singularity designer Derek Paxton told GamesBeat. “When I first came to Stardock, I said, ‘Hey, listen, let’s quit making a game engine and concentrate on making games. We’re a small company. We don’t have a huge staff. Let’s focus on the part that we’re really passionate about. Let’s make the games.’ [CEO and founder] Brad Wardell said, ‘good luck, go find that engine.'”
But when Paxton went searching for that engine, nothing was capable of providing the combination of performance and simultaneous onscreen units that he wanted to do with its new large-scale strategy game. Ashes of the Singularity is known for having 10-to-20,000 units on screen at once. A lot of engines can’t handle the bandwidth of loading that onto the screen on demand.
“When you’re in Skyrim, for example, it’s absolutely beautiful, but they’re dedicating 500 megs of texture memory to that dragon you’re fighting,” said Paxton. “Of course it looks fantastic. What’s different in our games is that the player needs to be able to jump anywhere on the map that [they want] at any time. If [they want] to look at one corner of the universe or one corner of a world, and they click on the minimap to go to another corner, he can’t see a loading screen like in Skyrim when you do the quick travel. It has to be instantaneous.”
So for a game like Ashes, every texture, animation, and model needs to exist in memory at all times. It wasn’t until Stardock found game company Oxide and its Nitrous development engine that it found what it was looking for.
“This is a new-age engine that is 64-bit only, that’s processor-agnostic so it uses all the kernels in your processor, and uses next-gen APIs [like DirectX 12] because the existing graphics APIs were throttled,” said Paxton. “You couldn’t get all the performance you needed when you were moving lots of textures around. It’s the reason, when you’re playing Mass Effect Andromeda, which is a beautiful game, but when you go up and go from one area to another, you see the doors there that you have to open.”
Nitrous engine doesn’t have those limitations, but it does heavily depend on the bandwidth that something like DirectX 12 affords. But now Vulkan enables the same thing but with potential to also run on Windows 7 or Windows 8.1 machines.
“Vulkan is a big deal for us today,” said Paxton. “Players that have these big, expensive, powerful computers can make the most of them.”
Here is an edited transcript of our full interview with Paxon.
GamesBeat: What prompted Stardock to add Vulkan support?
Derek Paxton: Ashes has always been, like you said, a tech leader. It was the first game out that supported DirectX 12. We’re glad to add Vulkan to it to help support them. Vulkan, for us, is a troubleshooting tool, really. This is a place where players can go if they don’t have Windows 10, if they don’t have DirectX 12, but they still want to get great performance and use the latest graphics APIs out there. Vulkan is that next step for them. Putting it in allows players to begin using it, as well as giving our partners, AMD and Nvidia, the opportunity to see a game that has Vulkan in it so they can begin to do the work on their drivers to support it, improve performance, and go through those stages. We want Vulkan to succeed. Players want to use the latest graphics APIs. They want to get the most performance from their systems. One step to doing that is have games start using those new drivers so that the developers can begin to optimize for it and improve performance.
GamesBeat: Has this improved performance?
Derek Paxton: We really put it out there so everyone can begin testing on it. It is really early. Like I say, we put it out there. We’re giving it to the community at the same time we’re giving it to our partners. It’s just the first step in that process. We’re seeing good performance, but we don’t spend a lot of time measuring on a lot of devices. We see that our community will do that. Journalists like you will do that. AMD and Nvidia and our partners will spend a lot of time doing that. It’s important that we get it out there not just as a reporting tool, to say, listen, this is how the different cards perform, but also for troubleshooting to say, hey, if there’s bad performance here, what’s causing that? How can we fix it? How can we improve?
GamesBeat: What are the benefits to Stardock?
Derek Paxton: In 2012, Stardock was at a point where we wanted to make games that couldn’t be made with current engines. When I first came to Stardock I said, hey, listen, let’s quit making game engine and concentrate on making games. We’re a small company. We don’t have a huge staff. Let’s focus on the part that we’re really passionate about. Let’s make the games. Brad Wardell said, good luck, go find that engine. I went out and looked at all the engines there and I couldn’t find one that did what we needed it to do.
There’s a big difference in what’s required of an engine for a large-scale strategy game that has 10,000, 20,000 units playing in a large universe, like Galactic Civilizations does, than there is for a game that’s doing a relatively small environment in high detail. When you’re in Skyrim, for example, it’s absolutely beautiful, but they’re dedicating 500 megs of texture memory to that dragon you’re fighting. Of course it looks fantastic. What’s different in our games is, the player needs to be able to jump anywhere on the map that he wants to at any time. If he wants to look at one corner of the universe or one corner of a world, and he clicks on the mini-map to go to another corner, he can’t see a loading screen like in Skyrim when you do the quick travel. It has to be instantaneous, which means every texture in the game needs to be loaded into memory – every sound effect, every animation, every model, the entire game needs to be loaded up into memory at one time.
We didn’t have engines that could do that, which is why it was such a big deal when we met up and helped Oxide get founded and they created Nitrous, this new-age engine that is 64-bit only, that’s processor-agnostic so it uses all the kernels in your processor, and uses next-age APIs, because the existing graphics APIs were throttled. You couldn’t get all the performance you needed when you were moving lots of textures around. It’s the reason, when you’re playing Mass Effect Andromeda, which is a beautiful game, but—when you go up and go from one area to another, you see the doors there that you have to open. It takes a second for it to open, because it’s loading that next area, putting all those textures into memory. We don’t have that luxury for large-scale strategy games. We needed an engine that could take care of that, and that engine needed a really good pipeline for getting resources on and off the video card. That’s why DirectX 12 was such a big deal for us. Mantle, when AMD came out with Mantle early on, was a big deal for us, and Vulkan is a big deal for us today. Players that have these big, expensive, powerful computers can make the most of them.
GamesBeat: How do you want to see other developers approach Vulkan?
Derek Paxton: We hope that other developers continue to support these APIs, because the system will get better, performance will get better the more people are using them. That’s really what we want, to give players the best game possible. That means everyone focusing on making the most of the hardware that’s out there. We’ve worked with AMD and Nvidia. They’re great partners. They’re working hard on improving their drivers and making their cards the best. We fully expect they’re going to continue doing good work. But the more game developers continue to use these APIs, the better it’s going to get for everyone.
Nathan Hanish: One thing that’s great about Vulkan is the ecosystem. Although it is somewhat embryonic, the tool chain available – the validation tools available, the set of other developers working out in the open, essentially—the Khronos Group has been putting out some fantastic presentations from GDC and other events. There’s a high level of sharing within the community, and a fantastic specification that’s constantly being updated, a fantastic SDK that’s constantly being updated, that will only improve as more developers get into that ecosystem. By all accounts it’s very good now. I expect it to be fantastic a few years down the road.
GamesBeat: Is that where you are at today — just experimenting for future Vulkan implementation?
Nathan Hanish: Yeah, performance is pretty good right now and is constantly improving. There’s a fairly steep learning curve to these next-gen APIs. We want to be at the very front of that learning curve. I feel like we are. I expect the situation to continue to improve. Another point Derek touched on, Vulkan, one of the great things there is it allows us to run on Windows 7 and Windows 8.1, which we can’t do with DirectX 12 at this time. That opens up the opportunity to really focus on next-gen APIs across a range of supported platforms.
Derek Paxton: Ashes is a big game with thousands of units out there. Players want to play it even if they don’t have Windows 10. Making sure their game is still able to provide a high framerate on those platforms is important to us, and another reason why Vulkan is critical.