Weekly Update #64

Hey all it’s time for your weekly update. As I mentioned last week Flavien is now moving into his new apartment and will be without internet access until next week. I’ve combined code cleanup with the final testing for the UI path rendering which I hope to have wrapped up soon. Once that’s all finished I’ll move onto font rendering which is the last step before I can begin building UI widgets. You may recall from a weekly update a few months ago that the new UI code supports Vulkan in addition to D3D11. After working with Vulkan for the last few months I’ve reached the conclusion that it isn’t mature enough yet for our purposes and I’ve decided to replace it with D3D12.

Initial material pass on the land base command center

Why do Vulkan and D3D12 matter? They contain special new optimizations that are particularly relevant to how we generate and render procedural planets. Obviously procedural planets are a cornerstone of Infinity: Battlescape and we want to be able to take full advantage of these performance enhancements at some point in the future. For now the majority of the game will continue to run on our legacy renderer, including our procedural planet generation, but sometime after the game ships to retail we’ll move everything over to the new rendering system so we can fully realize all available compute power.

A view of an orbiting space station

On the art side things continue to move along at a good pace. Jan recently returned from being out of town for a week and is resuming his work on station materials. Kristian is working on the support modules for the land base which includes power generators, orbital defense, communications, etc. Lastly Dan is focused on the final geometry pass for the destroyer. Capital ships are something we haven’t really discussed much yet. Flavien already has an idea for how he wants to implement the initial control scheme and it will be a high priority item after we release the next patch.

A piece of space station geometry

That’s it for this week. Once Flavien gets back and finishes merging the new network code we’ll get that next patch out and move on to more exciting things!

27 Likes

You should avoid talking about the future, past is much more reliable…

Good update, thank you! Love widgets. Widgets are good.

2 Likes

As long as you keep the game DirectX11 compatible, I’ll be happy with it.

4 Likes

I think that there will be more of us that will be happy with it ;).

Backward compatibility is fine, right up to the point where it is merely holding back progress.

Man, we’re not talking about DX9. This is not DayZ, please.
DX11 is very fine as Windows 7 still represents a huge proportion of player’s OS. Plus it’s stable and proven.

Because DX12 is specific to Win10, and because the Microsoft bullying into going Win10 (among other things) triggered so many red flags, I’ll take my sweet time before considering if Win10 is really worthwhile.

3 Likes

I wonder if adding support for DX12 is even worth it? What would it bring over DX11 for instance?

Some say a lot, potentially.

Others are not so sure.

Perhaps these issues can be resolved over time and lead to more acceptable gains. But if you can support both, why not?

Is this @inovaeflavien and @inovaekeith bait by any chance?

It’s shiny and it sparkles, they have to support it.

1 Like

Win10 is already significantly better than Win7 for plenty of reasons other than D3D12.

The reason for supporting it is for performance reasons. The original renderer was written before consumer CPU’s had multiple cores and therefore is severely constrained with what it can do in a multi-core environment. Unfortunately ripping out and replacing that renderer would be a massive job so instead of building more and more systems on top of a legacy system we know we want to replace we’re building them on top of the new renderer and we’ll move over the rest of the engine once we have more time.

I was sceptical at first about Windows 10 but I’ve got to say I’m more impressed with it than any previous version. It has matured nicely and seems to have very few bugs for a normal user like me!

3 Likes

does that mean you’ll switch to dx12 AFTER the release, via a patch or sth.?
so people with win7 buy the game, can play it, but after the patch it’s suddenly not win7 compatible anymore? hm…

btw., i’m a win7 user as well, and i’ll be using it as long as possible.

1 Like

He Keith,

does this mean that you’ll start working on / focusing on D3D12, in the meantime leading up to the “move” to the new rendering system?

or are you going to start work on D3D12 sometime after the game ships to retail?

i’m assuming you’ll be focusing your R&D on D3D12 rather than Vulkan.

also, would you consider moving to Vulkan at the time of release, if by that time it (Vulkan) has matured enough for your purposes?

Just love the look of these!

3 Likes

I apologize this update seems to have created some confusion regarding D3D11, D3D12, and Vulkan. To elaborate on the questions from @Sense and @SpaceJay:

1) Infinity: Battlescape will always support Windows 7 as this is what we promised during the Kickstarter. Windows 7 support can come in two flavors - either D3D11 or Vulkan.

2) When the game ships to retail it will only support D3D11 so you can play on all flavors of Windows version 7 and above.

3) We will patch in support for our new rendering backend sometime after the game ships to retail. This will include D3D12 and/or Vulkan. As of right now the engine supports both.

4) I did the initial implementation of the new rendering backend using Vulkan with the hope that I wouldn’t need to ever implement D3D12. Unfortunately Vulkan’s shader compiler ecosystem is too immature and it quite literally doesn’t work right with some of our shaders. This is why I ultimately decided to bite the bullet and implement D3D12. If the Vulkan shader compiler ecosystem improves by the time we actually decide to move the game over to the new rendering system then it will be patched to support Vulkan instead of D3D12 and D3D11 support will be completely removed since Windows 7 also supports Vulkan.

5) We need a valid implementation of D3D12 or Vulkan to validate the new rendering runtime as we build new systems on top of it. While it also supports D3D11 we cannot use D3D11 for validation because it lets you get away with doing bad things without telling you about it. D3D12 and especially Vulkan don’t let you get away with anything therefore it forces your usage of the API to be correct in every sense of the word.

9 Likes

that’s awesome, thank you for the explanation!
i hope it’s not too much work to have dx11 AND 12 supported simultaniously, but i really appreciate it!

as a non-developer i actually have no idea how difficult it is to “switch” between different environments like d3d11 and vulkan, but i guess it’s a lot of manual work…

edit:
and yes, i love the stations so far :smile:
btw., are these images rendered in-game, or via renderers like vray etc…?

Actually supporting D3D12 is pretty straightforward - it’s more similar to D3D11 than I had expected it would be. The station images are rendered in our editor which is nearly the same as in-game except it uses different depth precision and tonemapping parameters. The image of the land base CoC was rendered using a 3rd party renderer - specifically MODO.

3 Likes

I’m having a hard time expressing my reaction to the idea that a computer game company is posting images that don’t come from its own rendering pipeline. You guys either need to cut that out, or be very clear that the images use some other rendering tool.

2 Likes

Is win10 required to run the game? If thats the case i would like to request a refund. Thanks.

No, Win10 is not required to run the game.

2 Likes

@Enkido Honestly, do your read? at all?

2 Likes