Stardock Studios’ upcoming real time strategy game Ashes of the Singularity was the star of this year’s GDC. It’s one of the first games that will support DirectX 12 and it goes without saying that it looks gorgeous. With literally thousands of war units at once, all doing their thing is a sight to behold. GamingBolt recently got in touch with Stardock Studios’ CEO Brad Wardell to talk about how the game is shaping up.
“The idea behind Ashes of the Singularity is to do a real time strategy game that takes place across the world. So if you think of every RTS you’ve played in the past you’re fighting individual and maybe hundreds of units in the world or even on a single map. What we want to do with Ashes of the Singularity is to have a RTS in which players clearly see that this is a world war, with thousands and thousands of units that are fighting it out on screen.”
But with that many units wouldn’t keeping track be an issue? Wardell acknowledges this issue and revealed that they already have a gameplay mechanic that will take care of it.
“I realise that some people will worry about controlling all those units and the way we approach that is through this Meta unit concept, which is where individual units can be controlled, if you want to, but it gets a little unmanageable at a certain point. The interface makes it really trivial to combine these units together where they work as an army. Now the player is acting as a General commanding armies to go do their thing while the units are taking care of all the grunt work.”
But making so many units work together hasn’t exactly been easy as the development team had to make several changes in Nitrous, the engine on which the game is running on. One of the biggest changes was the inclusion of an Asynchronous Scheduler that makes sure all GPU commands are being processed parallelly.
“The big thing here is that Nitrous has what you call an Asynchronous Scheduler. In a normal engine, like pretty much every engine that’s been released, commands that are going to be sent to your graphics card are serialized. You send them to the scheduler, it serializes them up, and they go one at a time. What we’ve managed to do with Nitrous is that it’s done in parallel. So it’s Asynchronous, every single core on your CPU can talk to your graphics card at the same time.”
“If we were running on a single-core machine we wouldn’t be any better, the performance of Ashes…We couldn’t do it. It would be the same as any of the RTS’ that have came out in the past but now a days since we’ require at least a four-core CPU, which most people have. Unless you’re running a laptop some people only have two but pretty much most people have four or more, you get literally four times improvement in performance.“
The map that the developers showed off at GDC at had a whopping 7700 unit. Brad revealed that some of the bigger maps will potentially have 15-20,000 units.
“The map we had running at the show had 7700 hundred units. When you get to bigger maps you’re talking 15-20,000 units potentially. The larger maps are designed primarily for people who are playing it with a group of friends. If they’re playing multiplayer that could take place over days or weeks.”
So what is the maximum number of units the game can render at once on the screen? Brad’s reply is rather intriguing. “Oh well, a lot. I actually don’t know, we haven’t really played with it. We’ve only got to the point where the art assets are at a level where they would be comparable to something you would have on screen. Even like six weeks ago, the unit’s art wasn’t sophisticated enough, it was meaningless. Their art was so primitive whereas only in the last few weeks we’ve got to the point where it’s started to get pretty sophisticated, but we’ve easily got it to over 20,000 units without a hiccup. So you’re talking a couple orders of magnitude higher than any other RTS. These are actual individual units with their own guns, their own minds, and their own everything!”
So is this happening due to Microsoft’s upcoming API, DirectX 12? “DX12, Mantle and Vulkan make it really practical, so even under DirectX11 we’re doing a lot of crazy stuff with all the cores but the problem with DirectX 11 is that even with our scheduler, DirectX11 still serializes up a lot of our commands so we lose a lot of benefits. Not all of it but you know, a substantial amount, so we have to turn down a lot of our cool effects. But we’re still able to do thousands of units on-screen at once, we just can’t show them at quite the same glory. On DirectX 12 though they get out of our way entirely and we can have complete control of the GPU.”
“It’s too bad that Microsoft and others have kind of spent their goodwill with past DirectX releases and now that Microsoft’s releasing something genuinely revolutionary people are like “Ye, ye, we’ve heard this before”. And one of the reasons why I’ve been so vocal about it is this…DirectX 12 really is different than anything we’ve ever seen before.”
Speaking on hardware, the game clearly scales well across modern CPUs and hardware. But how well does it fair on CPUs from say three to four years ago? “Ironically at the Microsoft booth at the show [GDC], it was running on the worst DirectX 11 and DirectX 12 performance you could get, because they’re running on the fastest CPU they could get. And DirectX 12 actually shows up better on a slower machine that has lots of cores, so if you are running on a Intel Core-i5 with say four cores, it would destroy a DirectX 11 machine running on the highest-end hardware you can get.”
“Every core makes a huge difference. I think most people realise this but it hasn’t really been simplified in such a way that’s put in black and white so to speak. It’s that your video cards for years have been monsters, I think most people realise that for a while the video cards have been quite a bit more powerful than the CPUs themselves. That’s why you get this high end card and it sounds like a there’s a jet engine in your machine.”
“You certainly don’t have that for a CPU and the irony is that because they’re only being fed by one core, in DirectX11 before, they were always idle. Most of the time your graphics card is just sitting there doing nothing whereas in DirectX 12, every single one of your cores can now feed it. So it’s not how fast the one core is, it’s how many cores you’ve got.”
Ashes of the Singularity is going to run on DX12 although not exclusively. So what kind of benefits will the DX12 version have over DX11 one? “One of things are the light sources, we have real light! You know your typical PC game or even a console game might have four or eight light sources. On DirectX11 we’ll have four, maybe eight real light sources. But on DirectX 12 we can have thousands of light sources. And that has a very subtle impact on how real the game looks, and I don’t mean real as in real life but you know, even if you watch a CGI movie like Toy Story they don’t look like videogames right. You look at, what’s a recent Pixar movie? You look at it and you know it’s not real because it’s their style but it definitely doesn’t look like a videogame.”
“Then you look at a video game and you go “There’s something video-gamey about it” and what it is, is that it’s mostly about how they’re rendered on the screen, about how they’re lit so to speak. How motion and depth-of-field are handled, and what games do although this gets too technical but everything on games these days is done through deferred rendering. Whereas in movies they’re done using what’s called object-space rendering, which is what we’re doing. So on DirectX11 we have to disable some of those effects like some of the true depth-of-field, some of the temporal anti-aliasing, and some of the things that make the world feel a little more…again not realistic as if you think you’re looking out of a window but more tangible.”
He further stated that the demo showcased wasn’t exactly completed as it had missing textures and shadows. “Half of the ships were not textured, there were no trees or any other interesting things on the map and you know the lighting wasn’t in and the shadows. No one had seen a 4K game with thousands of units on-screen at once, DirectX11 couldn’t even attempt that.”
So are there any plans for an open beta in the future? “Yes we’re planning to start going into early-access in the summer, probably somewhere mid-July. One of the things we’ve learned from Off World Trading Company which has got really good responses, is that we’re way better off having these Betas come out when they’re really more mature, but still give them plenty of time for user feedback. You know we don’t want people to get into this and then the game doesn’t even play. We want them to sit down and fully be able to play the game and be able to fully give us feedback on what they don’t like about the game, what they do like about the game, and things they would like to see change and that kind of thing.”