To Vulkan or not to Vulkan, that is the question

After reading the entire thread I am now leaning towards Vulcan and the earlier the better so production won’t get bottle-necked because everything has to shut down until a much bigger game is Vulcanized. :kissing_heart: Sure it’s a gamble but being tied down to Windows10 is probably not in I-Novae’s best interest. Also I can’t help but wonder if contacting Valve may yield some insight or even collaboration of some-kind.

When you have more resources, you just go after bigger and flashier shinies. They’re an issue of psychology, not of resources. There are countless projects that have ended up in the bit bucket because of project managers who couldn’t keep the scope of their project under control.

Stay focused.

Moving the rendering pipeline to Vulkan isn’t “redoing the engine” or anything. It’s changes to the parts that send rendering instructions.
It would take more time, but is a better option than moving to DX12 which is Win10 only. It’d likely open up some new possibilities for high draw counts, a lot more action, VR(low latency between the start of draw call to actually getting it on the screen).

They’re also going with Vulkan with Doom. I mean it really seems like everyone is jumping on board with it over DX12 or DX11.

The worst case scenario here seems to be that there’s a little unfamiliarity(isn’t that the same with DX12, too?), and that it could end up being a little worse framerate in shader-fill limited scenarios.

And the upside is that Vulkan has a lot more to offer for the future and other capabilities that weren’t considered under DX11.

2 Likes

I agree with innociv on this. Building in Vulkan support is not “reaching out for the next big shinies”, it is more likened to “a stitch in time saves nine”, or rather, building (restructuring) in a better foundation for the game to sit on top of.

There have been no new features ever mentioned in this thread for the finished game or game engine. The only time new features have been mentioned with respect to switching over to Vulkan is the following paraphrase “If we got more money, it would be a lot easier to build in future features, effects, and optimizations. Oh yeah, we could potentially support other platforms too.”

2 Likes

The last few points have me agreeing that just sticking with dx11 is the best option for the time being, possibly until release. After battlescape releases and you’ve put forward all your efforts into making the game sell well as a game in it’s own right, you should worry about what happens after with the engine supporting vulkan or dx12 or whatever when you arent risking cutting out huge market segments. If battlescape doesn’t hit the market on it’s release day and make enough revenue to continue development it will all be for nothing.

I doubt that there will be many non-xbox port w10 exclusives for a long time and it never a good idea to voluntarily become target practice because of potential shiny new tech.

4 Likes

What would you estimate the cost (in months of delay) to be, if you:

  1. Switched to Vulkan now?
  2. Switched to Vulkan at the end?
  3. Switched to D3D12 now, and ported to Vulkan later? (This is the most probable of being interesting, as I’ve seen the claim D3D12 and Vulkan are nearly identical.)

What are the benefits we’d see?

  • Better use of hardware should lead to better performance

What are the cons?

  • Windows 7 users get the boot with D3D12, until they either upgrade (Seriously, why are you waiting? 10 is so much better than 7, and if you’re concerned about privacy, there’re plenty of ways to protect against it) or Vulkan gets implemented.
  • 30% frame rate hit with Vulkan, until someone implements a competent compiler

Ultimately, does the cost of development (delayed releases, cons of the new system) outweigh the benefits, or are the benefits more valuable than the losses?

I keep hearing about the privacy thing on the Internet. It really isn’t relevant anymore given the massive data the NSA is compiling. Crap I wish I never typed that…

Out of curiosity, what is the cost in terms of manpower to support DX11 and DX12? Obviously many games over the last few years have maintained legacy support for DX9 to improve compatibility, but I imagine in most cases the implementation of DX11 came later when the code was more or less stable. Additionally most of those games would have been using third party or well-established engines.

1 Like

According to tests from arstechnica and techworm, even when telling it not to, windows 10 still talks to Microsoft. Why?

Furthermore, I don’t want to support a company that blatantly uses it’s own operating system as spyware by using that OS. Using 10 gives my stamp of approval on MS’s policies, regardless if I completely remove it’s spyware or not. There was a reason why it was free. I’m not saying that you shouldn’t have 10, and I’m not saying that at one point I won’t. But I’m not joining this train unless I’m absolutely forced. If IB is going with D3D12, then yes, I would switch.

I would be absolutely ticked about it, but I would do it.

Ultimately, Windows 7 does everything I would do in Windows 10.

So to answer your question, “why am I waiting”, I’m not waiting. Waiting would imply that I’m going to do it, I’m just putting it off. Such is not the case. Ultimately, it’s the principle of the situation. And until there is a legitimate reason to switch, IB being pretty much the only one, there’s no reason in my mind to do so.

6 Likes

I can’t figure that a DX12 switch is much of an option because many supporters might not want to use Windows10.

Given all the vendors and developers going to Vulkan, perhaps Microsoft will cave and bring DirectX12 to Windows7 and Windows8, but that’s a way crazier thing to bet on than the much more likely scenario that some vendor is going to solve the Vulkan shader compile issues and make their knowledge on that openly available.

I can only see the question being sticking with DX11, or switching to Vulkan now while it’s easier to do earlier on, which offers more for the future.

The devs can answer better than I, but it’s my understanding that adding alternate capability of DX11 to a DX9 or DX10 game is much easier as they are incremental changes while DX12 and Vulkan are much different and require you to program at a lower level and make big changes to how the programming for your game’s renderer sends those instructions.
But I’m also on the understanding that that rendering pipeline for Vulkan and DX12 is similar, while Vulkan supports the same hardware as DX11, so adding an alternate DX12 renderer to someone that started on Vulkan may be easier than adding DX12 support when starting with a rendering pipeline built for DX11. With the exception of the shader language being different, but it’s 95% the same and I believe you can pretty much automatically convert from one language to the others? At least you could with DX9 HLSL to GLSL.

That does mean it’s going to be work to take the current DirectX11 rendering to use Vulkan instead. But all that rendering isn’t finished anyway, so perhaps now is the time and it would make going to DX12 easier later on? Or to save the most time, but be limited both in capability and to Windows(no Linux or Mac down the road), just stick with DirectX11. Though it also can mean that Vulkan eventually makes things easier down the road to get the performance and capabilities that are sought (assuming shader fill issue being resolved, which seems like the only big thing here while other vendors are showing huge performance increases, especially with AMD GPUs).

I think a lot of people are confusing Vulkan as being a snazzy new bleeding edge thing that’s unstable and might not stick around, but it’s not. It’s really like a more mature version of Mantle, which is what, two years old? And that’s going to mature more. And it supports all of the same exact hardware DX11 supports, if I’m not mistaken. It’s a new way of doing graphics programming to have the programming fit the way the hardware works, while DX11 and earlier were all based on like 7+ year old GPU architectures. Both Vulkan and DX12 are things that were talked about for a while, and gone through a lot of development to catch up to match the capability of the incremental graphics APIs.
They’re the beginnings of the new and hardware has been long since out to support this way of programming, while DX11 was the last crutch of the old.

2 Likes

In reality, I believe trying to get everyone to move to win 10 is a long term cost savings measure. If they can retire all those previous OS versions and move to one architecture that’s multi-platform, then they will save a boat-load in resources moving forward.

The whole spyware part is likely an effort to mitigate the revenue losses by selling statistical information to companies & advertising agencies.

I’m not giving them a pass on their policies, but I don’t think spyware was the initial reason it was free. While it will mitigate the revenue loss, if it turns into a revenue stream, then it will become a permanent feature. This might dictate whether they continue with a free OS, go to a subscription-based service, or even offer both. It really depends on what they can get away with, and what consumers are willing to stomach or remain blissfully unaware of.

I think Vulkan actually has the potential to upset Microsoft’s OS dominance. The gaming industry is rather large and if enough developer’s and consumers drop Windows in conjunction with switching to Vulkan, then it could start a serious trend in the entire market. Mind you, this wouldn’t happen over night, and there would have to be a lot of other incentives to doing this.

2 Likes

Same difference. Spyware = spyware.

If someone was stalking you, and you confronted that person, would you feel better if that person said that he was researching your shoe preferences or that he was waiting for you to drop your wallet? I’d personally wouldn’t care why he was stalking me, just so long he stopped.

Well, this isn’t a windows 10 discussion thread, but I would strongly discourage INS to from going to DX12 exclusively at least right now before the game ships as a finished product. Windows 10 supports DX11, and in this regard it is my opinion that no change is better than changing to DX12.

1 Like

Clearly you missed the point of my post. You seemed to have implied the reason why the OS is free is because it has spyware on it. I simply inferred a more obvious business related reason. Get people off of legacy OS so they can stop supporting it and reduce the company’s overhead in the long term. At no time did I excuse the behavior of using spyware, even to mitigate their revenue losses.

1 Like

I think implementing Vulkan should be done but I can’t help but wonder why shading wan’t resolved in the first place? DX12 doesn’t have this issue. Is it really just a question of not getting to it and still in development or is there something hindering improved shading that we haven’t heard about?

User telemetry. Everyone is doing this now. Android, iOS, even the bloody clock app on your phone is probably doing it. If it connects to the Internet at all, the developers are collecting your usage habbits. When you launch it, what screens you access, how long you sit on any particular screen, what order you access different features in, how long it is between sessions. What country you’re in, when you first installed, if you’ve ever uninstalled And reinstalled. If the developers are scrupulous, the data is anonymous, and limited to your actions or behaviour. If they’re not…

Google and Microsoft both run large ad networks, and they use this data to help them target the ads you see. Apple has backed away from running ad networks, but they along with Google and Microsoft use the telemetry to help figure out which apps your likely to install or buy from their respective app stores.

Plus, they use the information to help determine which features to focus on and which to depreciate in upcoming releases of their OSes and services.

Microsoft has been doing this with Windows 7 for years, by the way. It’s just that it was an opt in programme. Now, it’s just flat out part and parcel of Windows 7 - 10. They were given the social license to do this by Android and iOS. No one even bothered to yawn when Google and Apple just started tracking their users behaviour. Microsoft saw that and said “me too”.

Edited to add:

No, Microsoft (and Google, and until recently Apple) have been the “advertising agencies” that are interested in accruing user information. They’re not selling it to others (and if you read their EULAs, they each make that very clear). They’re keeping it for themselves, and are likely trying to accrue additional user telemetry from other partners. It’s the same deal as with Facebook – Facebook doesn’t sell your user information, because it’s more valuable to them if they keep it to themselves.

1 Like

This is why I use Sailfish OS on my cellphone.

1 Like

meh. you’ll go Android eventually.

1 Like

I actually steered away from android after my first phone. The carrier/manufacturer dropped support for the phone after less than a year of it being out and so the OS was no longer getting updated.

Yes, I could have jail-broken the phone, but it felt stupid to support such a closed implementation of what is supposed to be open source software.

It seems a bit unfair to make a judgement on an OS based on the bad behaviour of one manufacturer. If having regular software updates and monthly security patches is important to you then you can buy a Nexus.

Its not one manufacturer. A lot of them do it because they code for proprietary hardware. They will then drop support for older models and essentially force people into upgrading their phones.

I have no problems with the OS. I would want an open source OS on my phone that I can upgrade and manage myself, as well as tinker with, but the current arrangement with manufacturers and carriers is,in my opinion, antithetical to the entire point of having an open source OS. It’s not actually open.