I share your criticism, but just "Create a standard" is maybe a bit hard to do. Game devs need a market. The linux market is not really the biggest one, neither in numbers, nor in money. It only became a bit relevant, because Valve used linux, to threaten Microsoft, as they tried to get a big cut of game sales, with their own market. So good for linux, yes, but the normal linux game market is still quite uninteresting (mildly put) for publishers.
> I share your criticism, but just "Create a standard" is maybe a bit hard to do. The linux market is not really the biggest one, neither in numbers, nor in money.
I know of at least one game that's regularly in the Steam top 10 (Path of Exile) that is doing a port from DirectX to such a standard, Vulkan.
Not to support Linux, but because Vulkan is cross-platform, allowing them to reuse their code base for a mobile game, and also to be able to potentially support things such as Stadia. They also said this will lead to a mac port and may lead to a Linux port.
So there might actually be incentives already for game devs to use cross-platform tech, which could lower the barrier for Linux ports significantly and make it worthwile.
Sure thing, and they are not the only one. And it is good thing. Star Citizen for example is a very big one, who will use vulkan (so probably around 2030+, when the game is finally somewhat finish ...)
But my criticism to the comment above was about "just create a standard" for the linux world, as it is something trivial to do. But yes, with vulkan there now exists a standard for graphics, that can compete with DirectX again. (even though linux-foundations are not really involved directly in the Vulkan standard)
But games are more about the graphic layer, because with OpenGL there was a graphic standard before, yet still allmost no one bothered to port to linux.
That changed, for various reasons. (mainly Valve and Android, I think). Also it helps, that unity for example can target linux, and their editor also now runs on it (but I don't know, how well).
The thing is it's not that hard to write cross-platform games. Compatibility layers like SDL2 make it easy to target a platform agnostic system interface. Vulkan enables high performance graphics on most platforms.
Just out of curiosity, do you speak out of first hand experience, that it is not hard?
When you sell a game, people expect it to just run. Windows only games have already countless bugs, making it impossible to start for quite some people. Now add to that Android (with all its different versions and vendor specific implementations) Apple with a slightly different ecosystem .. and then Linux Desktops.
Lets just say, that I am making a game. Even open source. And I want cross-platform, but don't want to get mad along the way and I want to focus on the gameplay and not platform specific code. (and did not want to use unity for various reasons)
> And I want cross-platform, but don't want to get mad along the way and I want to focus on the gameplay and not platform specific code. (and did not want to use unity for various reasons)
Which platform specific code? With a compatibility layer and a cross-platform graphics API we're talking about a vanishingly small amount of code.
"Which platform specific code? With a compatibility layer and a cross-platform graphics API we're talking about a vanishingly small amount of code."
Again, do you have really first hand experience, how "vanishingly small" that amount of code is?
I have not much experience in that area, as I specialiced on the web years ago, BECAUSE I heard too much horror stories about the difference in "theoretically cross plattform" and reality.
I have not released a commercial product, but I have worked quite prolifically with these tools and the experience is very good.
Web is an interesting value proposition because somebody else is worrying about portability, but it's quite limiting isn't it? I mean you're limited to webGL and a single-threaded host environment. It's certainly possible to make some nice experiences within those limitations, but you're not getting anywhere close to the full capacity of a user's hardware.
Good luck, if you do. I am serious. I also think the waste of the millions of layers of the web to the hardware disturbing, but it is the best compromise I see.
"but you're not getting anywhere close to the full capacity of a user's hardware. "
Certainly not. So no, doing a graphical bombastic AAA game is not possible, but the vast majority of games is today quite doable on the web.
"a single-threaded host environment"
And fortunately today this is not true anymore. With web workers and various other approaches, you can have costly calculations in the background, but sure, this is still not the same as real multi-threading.