6 ms·
"Years ago we stated our intention to support DX12, but since the introduction of Vulkan which has the same feature set and performance advantages this seemed a
by hacker_9 10y ago
"Years ago we stated our intention to support DX12, but since the introduction of Vulkan which has the same feature set and performance advantages this seemed a much more logical rendering API to use as it doesn't force our users to upgrade to Windows 10 and opens the door for a single graphics API that could be used on all Windows 7, 8, 10 & Linux. As a result our current intention is to only support Vulkan and eventually drop support for DX11 as this shouldn't effect any of our backers. DX12 would only be considered if we found it gave us a specific and substantial advantage over Vulkan. The API's really aren't that different though, 95% of the work for these APIs is to change the paradigm of the rendering pipeline, which is the same for both APIs."
This feels like a pretty handwavey statement. For one, all shaders would need to be converted from HLSL to GLSL, which could become quite a big task depending on the amount of shaders, and testing of all changes.
Secondly as I understand it the Vulkan API is much more low level and barebones than DirectX, meaning it'll be a lot of work to shore up the differences. I may be wrong here, but it seems to be like the developer is saying that a DirectX -> OpenGL change is no big deal, but swapping out your foundations is a major big deal. The concepts may be the same but the APIs are still hugely different.
And why is this even a concern for a game started in 2011? It's mind boggling that they are making these kind of decisions 6 years into development, surely just finishing the damn gameplay should be the focus?
- karyon 10y ago> For one, all shaders would need to be converted from HLSL to GLSL There are transpilers (cross-compilers?) that translate from HLSL to GLSL and back and into every other shading language out there, there's really a lot of such tools. > Secondly as I understand it the Vulkan API is much more low level and barebones than DirectX Vulkan is about as low-level as Direct3D 12, which has not much in common with Direct3D 11 and lower, just like Vulkan has not much in common with OpenGL. OpenGL is (very roughly) equivalent to Direct3D 11, and Vulkan is more like Direct3d 12. The thing is that switching between the similar APIs is a lot of work, but does not require large refactorings, whereas switching from OpenGL/Direct3D11 to Vulkan/D3d12 requires more fundamental work.
- wolfgke 10y ago> For one, all shaders would need to be converted from HLSL to GLSL GLSL is just one option to write shaders for Vulkan (the only inmportant thing is that SPIR-V code can be generated). I can even imagine quite well that one could write a compiler which generates SPIR-V code from HLSL shaders. > Secondly as I understand it the Vulkan API is much more low level and barebones than DirectX, meaning it'll be a lot of work to shore up the differences. DirectX 12 is similarly low level. > I may be wrong here, but it seems to be like the developer is saying that a DirectX -> OpenGL change is no big deal DirectX 11.x is similar in "level" to OpenGL 4.x (though the difficulties are a little different - I don't want to go into details here). Similarly DirectX 12 and Vulkan are similar in level (much more low level than their predecessors). No wonder since both Vulkan and DirectX 12 are "strongly inspired" by Mantle. Additionally Vulkan was intended as the succesor of OpenGL and DirectX 12 as the succesor of DirectX 11.x. > surely just finishing the damn gameplay should be the focus? That is what you wish. :-)
- FLUX-YOU 10y ago>That is what you wish. :-) Star Citizen definitely appears more like an ongoing crowd-funded video game research and graphics research project at times.
- jsheard 10y ago> I can even imagine quite well that one could write a compiler which generates SPIR-V code from HLSL shaders. Khronos are working on building this into the official SPIR-V compiler: https://github.com/KhronosGroup/glslang/issues/362 https://github.com/KhronosGroup/glslang/issues/362
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- hutzlibu 10y ago"And why is this even a concern for a game started in 2011? It's mind boggling that they are making these kind of decisions 6 years into development, surely just finishing the damn gameplay should be the focus?" Well, I would say, it is not a ordinary game. And even though I don't know about their Engine, but normally it should be possible to make those changes on the engine without any effect for the gameplay, since they wanted to support OpenGL before.
- throwanem 10y ago> Well, I would say, it is not a ordinary game. No indeed. Neither was Duke Nukem Forever.
- jamesfmilne 10y ago"For one, all shaders would need to be converted from HLSL to GLSL, which could become quite a big task depending on the amount of shaders, and testing of all changes." Ironically Microsoft have open-sourced a Clang-based HLSL compiler that could be used as a front-end for a Vulkan backend. https://github.com/Microsoft/DirectXShaderCompiler https://github.com/Microsoft/DirectXShaderCompiler https://blogs.msdn.microsoft.com/directx/2017/01/23/new-directx-shader-compiler-based-on-clangllvm-now-available-as-open-source/ https://blogs.msdn.microsoft.com/directx/2017/01/23/new-dire...
- mtgx 10y agoIf Vulkan was "much lower-level" than DX12, then DX12 performance wouldn't even be in the same ballpark as Vulkan performance. Both Vulkan and DX12 were made more "lower-level" to gain that extra CPU and multi-core efficiency. I think Vulkan still beats DX12 in performance, if all else is equal, but I don't think the difference is huge. DX12 is not DX11+1. It's a clone of AMD's Mantle, which was eventually given to Khronos, so they make it into Vulkan. The main advantage of Vulkan is that it runs almost everywhere. DirectX 12 doesn't.
- wolfgke 10y ago> The main advantage of Vulkan is that it runs almost everywhere. DirectX 12 doesn't. DirectX 12 runs on XBox One, while Vulkan does not: > http://www.redgamingtech.com/directx-12-for-xbox-one-is-here-star-wars-battlefront-first-dx12-x1-title/ http://www.redgamingtech.com/directx-12-for-xbox-one-is-here... And for OSX/iOS, you have to use OpenGL or Metal.
- ekianjo 10y agoand Vulkan does not run on windows uwp apps, which MS is strongly pushing forward.
- yulaow 10y agoand everyone else ignoring
- mixedCase 10y ago> DirectX 12 runs on XBox One, while Vulkan does not: And the Switch uses Vulkan; while Vulkan on top of Windows (including 7 and 8/8.1) supports Linux and Android. For iOS and macOS there's MoltenVK, but I can't speak for its quality.
- pjmlp 10y agoWhile the Switch supports Vulkan, it isn't the main graphics API, that role belongs to NVN. https://blogs.nvidia.com/blog/2016/10/20/nintendo-switch/ https://blogs.nvidia.com/blog/2016/10/20/nintendo-switch/ So it remains to be seen which one gets the love of game developers.
- andromeduck 10y agoVulcan doesn't have a shading language. It has a shader IR.
- shmerl 10y ago> For one, all shaders would need to be converted from HLSL to GLSL Not necessarily. Vulkan now supports HLSL input too, which is compiled into SPIR-V, same way GLSL is. You don't need HLSL → GLSL translation step.
- caseysoftware 10y ago> And why is this even a concern for a game started in 2011? It's mind boggling that they are making these kind of decisions 6 years into development, surely just finishing the damn gameplay should be the focus? That would force them to show the results of the effort and the $texas-sized dollars contributed. As long as they can keep pointing to "well, we had to make a major architectural change.." they can continue pushing the idea that they'll deliver. Dig into the criticism of them the last couple years. This one is from ~20 months ago: http://www.pcgamer.com/derek-smart-star-citizen/ http://www.pcgamer.com/derek-smart-star-citizen/ or ~4 years into development.
- wlesieutre 10y agoAh yes, the neverending criticism from Derek Smart, who was so sure the project would completely fall apart in "60-90 days" back in September 2015. He has this really weird obsession with wanting the project to fail. https://archive.is/y1kMK#selection-3799.0-3964.0 https://archive.is/y1kMK#selection-3799.0-3964.0 Not to mention his even weirder obsession with Sandi Gardner, Star Citizen's community manager. https://www.reddit.com/r/DerekSmart/comments/4w0w51/has_doctor_doctor_smart_gone_over_the_line/ https://www.reddit.com/r/DerekSmart/comments/4w0w51/has_doct...
- throwawaysbdi 10y agoWow. Okay that guys is nuts. Still, star citizen is a train wreck. Wasn't the big thing last year to "rewrite all the net code". They're just rearranging the deck chairs over and over waiting for the company to go under
- wlesieutre 10y agoAdmittedly, "rewrite all the net code" is still a thing. Part of this is supposed to land in 2.6.2 ("soon"), while the bulk of it is targeted at 3.0 later this year. They're perpetually behind schedule in a lot of areas, but at the same time they're showing of some pretty impressive stuff. I was a $20 backer on the kickstarter campaign and have since gone in for about $100 total. Obviously I wish it had come out years ago, but I'm still optimistic about the project, and fine with the drastically expanded scope. The alpha releases are far from perfect, but I've already had more fun with it than some other games that I paid much more than $20 for. That's what pushed me to back it further. There's just something incredible about the level of detail of the world, going from first person through a space station, out the airlock, walking over to the landing pad, hopping into a fully detailed spaceship (not just a disembodied camera in a cockpit), and flying off to fight space pirates. This is a game that wouldn't be possible to make with the traditional publisher driven funding systems. Maybe it'll turn out to be impossible to make this way too, but I don't think so. If you have a couple of hours to put videos on in the background, the last three "Around the Verse" studio updates have been pretty good: March 2 (Frankfurt) - Hurricane and Character Customization https://www.youtube.com/watch?v=NGzDI2wUqf0 https://www.youtube.com/watch?v=NGzDI2wUqf0 March 9 (Austin) - Weapons: The Game's Arsenal https://www.youtube.com/watch?v=c_v-hMu_h5s https://www.youtube.com/watch?v=c_v-hMu_h5s March 16th (Manchester) - Level Design https://www.youtube.com/watch?v=-c2DogQL95o https://www.youtube.com/watch?v=-c2DogQL95o (watch past the credits for in-progress ships) Or for a quicker coverage, here's a list of short excerpts from the last video. Quality isn't great, but it gets the point across: https://www.reddit.com/r/starcitizen/comments/5zu3of/atv_gfycats_compilation/ https://www.reddit.com/r/starcitizen/comments/5zu3of/atv_gfy...
- moomin 10y agoTrying to remember the last time a game deep in development announced something like this. Oh yes, Duke Nukem Forever and Daikatana...
- Asooka 10y agoYou shouldn't be downvoted - that is a legit criticism of a game that has been rather long in development. At least it's not development hell like DNF or Daikatana, the people building it seem to genuinely make progress, even if they rebuild parts more often than might be necessary. The question is if these symptoms will sink the ship before they reach shore - their situation is obviously different, but no matter whether you throw a bowling ball, or a paper airplane, both eventually hit the ground.
- shmerl 10y agoThey announced plans to use new generation of graphics APIs a long time ago. It's only now they made it clear they prefer Vulkan to DX12. So I'd say it's their work as usual, except they at last made the clear choice (or at least made it public, they probably chose Vulkan in the past already).
- z3t4 10y ago6 years into development, rather huge tasks will feel like weekend projects ...