Hacker News new | ask | show | jobs
by Pfhreak 2339 days ago
Typically a DirectX revision bump would be less work than a totally different API.

To answer "How hard could it be?", the answer is, "Surprisingly hard". Games rely on weird interactions with hardware and need to smoothly render at a consistent FPS. Often a revision bump in a library might introduce subtle changes (for example, a difference in how numbers are rounded might cause z-fighting or change the way shadows are rendered). All of those need to be discovered and fixed. Not to mention that DirectX uses a totally different shader language than Vulkan, so you have to get in there and translate all that code over.

It's definitely non-trivial. Doable, but non-trivial. I don't blame the devs for making a cost/benefit analysis and realizing they would never recoup the cost.

Given the economies of the games industry (where studios are basically always one step away from complete failure and being dissolved into nothing), I appreciate the need to focus on not losing money in this way.

2 comments

> Not to mention that DirectX uses a totally different shader language than Vulkan, so you have to get in there and translate all that code over.

Vulkan doesn't really have a shader language unless you want to write SPIR-V assembly. Thus you'd use either GLSL or HLSL. Microsoft's own DirectX HLSL compiler[0] supports SPIR-V as a target in addition to DXIL.

[0]: https://github.com/microsoft/DirectXShaderCompiler

Consider me corrected! I had done a quick google and saw GLSL listed in the top results and made an incorrect assumption.
Thanks for the explanation. I guess part of why I'm confused is that they have not stated any plans to stop supporting Switch and Playstation 4 versions of the game and in my mind those are probably just as difficult to maintain as the macOS and Linux version. Do Nintendo and Sony provide support here that make it easier for Psyonix to port to their platforms, or are there just so many more players on those platforms that it is worth the investment?
Switch and PS 4 are easier to support than Linux or MacOS because there's only a few hardware variations for Switch and PS 4.
Good point! I mostly deal with embedded systems so I often forget the difficulty of maintaining a piece of software that needs to run on basically innumerable hardware and software configurations.