That's only if your business model only looks at the next quarter, and if you don't care about your brand.
Amazon, and department stores before it, became huge because they made an effort to cater to all needs. That allowed them to be the go-to brands for people looking for things.
Imagine if in its early days Amazon ran the numbers and discovered that textbooks were only a small portion of its sales, so it stopped selling textbooks. Then it noticed that cookbooks were only a small part of sales, and those were cut. Then it noticed that mysteries were only a small part of sales, so they went out the window. Next thing you know, nobody shops at Amazon because its focus on the big numbers turned it into a niche provider.
If a games publisher chooses to restrict its platforms, that's its business. But I won't think of it for "games" in general when I want to find a game.
If Linux were just a niche platform, that would be fine. But supporting desktop Linux systems is disproportionately difficult -- it's a small niche, but it's a lot of effort. Userland APIs break all the time. The constant churn in the graphics and desktop space leads to a lot of instability and bug reports. Between Wayland being default on some distributions, unstable graphics drivers, and the umpteenth rewrite of God knows what other component in Gnome or KDE, you get to deal with the sort of bug reports and crash dumps that used to pop up fifteen years ago when a Longhorn beta was leaked and everyone tried to run their games on it for shits and giggles. Linux desktop is basically a neverending beta. People don't write games (or software) for it for the same reason why you don't write games for a leaked Windows beta.
It's no coincidence that Linux is such a big player in the embedded and server markets, but not in the desktop market. Writing desktop software for Linux in 2020 is about as enjoyable as chewing nails. It's an unstable and flimsy platform to target, and not a very profitable one, either. I can't blame any company for skipping it.
Edit: someone else posted this here and yep, it's spot on: https://twitter.com/bgolus/status/1080213166116597760 .
First of all, there's no "Linux API". The kernel does expose a stable interface but you're not going to write a game just by issuing system calls.
But the kernel is pretty much the only piece of this tech stack that exposes a stable interface. Pretty much everything else changes a lot. There are exceptions -- SDL2, for example, is great to write against. But most things aren't -- they change a lot, and they're undocumented. This tends to result in duplicate code that goes out of date and results in all sorts of strange quirks and bugs. phk has a good summary of this here: https://queue.acm.org/detail.cfm?id=2349257 .
As for drivers: there's one set of drivers that aren't baked in and they're critical for games, namely nvidia drivers. Anyone who's done graphics programming on Linux has their own horror stories about nvidia's stack. I won't bore you with my own, suffice to say that things are never, ever as easy as "you just write against the OpenGL API and you're set".
"Historically", I'm not aware of any major console that's built on top of a stripped Linux kernel. Sony has been using their own franken-BSD since at least the PS3. Don't know about Nintendo but given how much effort has gone into the occasional port for Nintendo hardware, I doubt they're using Linux.
Linux has been only recently adopted by some console devices, and those are basically embedded systems. You target a single hardware platform (with a single, known set of quirks), a stable kernel, a stable driver, a stable set of userland libs. It's not great -- backporting kernel fixes is notoriously finicky, for example. But it's a scheme that, at the very least, allows you to write code to implement whatever functionality you want to implement, instead of wasting time impedance-matching between userland APIs.
A prominent indie dev on twitter once said, of his game that has sold at least several hundred thousand copies, that only 100 people will buy your game on Linux and every single one will email you to tell you that they did. That they are technical and vocal doesn't make the playerbase any larger.
https://store.steampowered.com/hwsurvey
It's simply not a sensible economical decision to invest serious dev time for 3% of your potential players.
Market growth potential aside, a small portion of users doesn't necessarily equate to abandonment="sensible economical decision." If that small portion is more profitable than the majority, then it's worth serving. That's pretty much how Apple got to be where it is today.
They didn't, they developed for DOS well into the Windows 95 and 98 era, at which point Windows had captured the PC market.
Indeed, but that's not the case with macOS and Linux players.
But... it's not. Not even close. It's tiny and Linux costs far more to support due to variations in configuration and flaky APIs.
The difference being that Microsoft went all out in building subsystems (WinG and later the various DirectX technologies) for gaming and courting game developers to target it while Windows 9x was still new and popular.
Nothing similar has occurred for any of the Linux distributions nor is that likely to occur.
But nearly everyone else will, so why would they care about you? No game developer has failed because they lack Linux support.
Linux has a tiny portion of the desktop market, and an evern tinier portion of would be Epic customers if only they could play their games on their preferred OS. It's not like Linux has 30% of the desktop market and people are out there demanding support. Linux support makes no sense.
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.
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.
[1]: https://arstechnica.com/gaming/2020/01/rocket-league-will-dr...
If I bought that game, because it means I could play multiplayer with my friends and now they are removing that feature <3 months after I bought the game, then I would not be a happy camper.
I don't think anyone truly expects a game's multiplayer should last forever, but it should last while the game is still popular and releasing updates.
There are other reasons to support linux:
- Game devs are usually a fan of linux / vulkan / open source (windows is bad for developers, it's closed source everything) - Linux is still a market portion. Some engines like UE4 support cross-platform builds with minimal work - Supporting competition to microsoft, and the really poor DX software
How very rational. I wish HN had the same attitude each time Google sunsets a well-loved, but little-used product.
The question is, how high or low is the demand for a equally performing alternative “pc gaming” platform? I personally would banish everything windows-related forever.
EDIT: I know the gap is small, less than 1% but it is still a gap. If a competitor could emerge in a small gap like this is a question I cannot answer. There is potential for growth (especially if Microsoft slips up heavily which they almost did) but so far that growth hasn't happened and the future is hard to predict.
Games cost money to make. If a game doesn't have a chance at breaking even, it needs external funding or free labour to get it made. This is the economic reality of how games get made.
That's probably not enough for a competitor to make any money, especially since they could only catch a part of these users.
[0] https://www.gamespot.com/articles/as-rocket-league-turns-one...
Steam heavily supports Linux and in their numbers are 0.67% Linux users: https://store.steampowered.com/hwsurvey/Steam-Hardware-Softw...
It is rumored that Steam uses Linux for leverage in negotiations with Microsoft. Therefore it may have a big strategic value for them even though the numbers are still so low.
However, Bungie started as a Mac shop, and Stardock started as an OS/2 shop. It's possible to make the claim that had more commercial games been available to these relatively small platforms in the 90s, there wouldn't have been enough space for these game companies to emerge.
As I said, I can't prove that. It's quite possible these companies would have been successful anyway.