-2
\$\begingroup\$

I cannot comprehend why there are so many games available for windows and so few for linux in comparison. Why is the main reason, is it a technical or business reason ?

Are Windows libraries (directx) better or is it because of the driver support ? Linux have some great libraries like Allegro , SDL and LibGlut. And Android is Linux after all.

Given all that Why are more games in windows than linux ?.

\$\endgroup\$
2

3 Answers 3

2
\$\begingroup\$

Windows has tranditionally been, and still is, highly attractive for Game developers while Linux (except for mobile phones) is highly unattractive.

Love Windows or hate it, but Windows has the advantage that it (well, mostly, if you manage its quirks) just works, and it works the same (well, mostly) regardless of what install you have. I'm running some 12-14 year old AAA titles on my present-day Windows computer, no workarounds or compatibility mode hacks needed. Say what you will, but this is darn awesome.

I'm about to go a bit hyperbole now (please bear with me), but still there's a grain of truth in it... Linux is so much better in theory, but in practice, no two distributions are compatible, and not even different versions of the same distro are compatible with each other. Also, everything is generally designed with "open" and "accountable" in mind whereas game developers generally prefer "obscure". To the typical Linux person, words like DRM and content protection stink whereas the typical big-studio person will likely say they have a fragrance of roses.

Add to that the fact that although Microsoft provides you with arguably the world's worst compiler suite, this is paired with the most bloated, yet most awesome development environment (with IHVs integrating tools) that money can buy. And, um... for free.

Under Windows, you get a new graphics card generation built for the newest DX features to come, with a just works DX installer. They're even called DX-nn class hardware. Under Linux, you get the features as vendor-specific GL or Vulkan extensions if you are lucky, after some time. And maybe, after an even longer time, as ARB extensions which are subtly different and require you to rewrite a lot of code. If you have stable drivers, that is, and if you are able to decipher the gibberish in the otherwise undocumented extension specification.
Under Windows, you and your customers can buy cheap whatever-it-is hardware and plug it in, and it (usually) just works with the well-supported, well-documented API. Under Linux, who knows. Maybe you're lucky and your manufacturer bothered to supply a driver, or maybe a generic one works. Maybe you find a hack that works, maybe you don't.

Yes, the situation has greatly improved since Steam went Linux, but still Linux is definitively a second-class citizen.

Which isn't surprising because the market share is like 2% and to make things worse from an economic point of view, not few Linux users expect software to be free. Which isn't bad per se, but it's not a great incentive for someone who wants to fill his pockets with money.

All in all, it's not very attractive to spend a six-digit amount of money for making a properly working Linux port (which properly works on one distro and skims maybe 0.5% of the market), or a seven-digit amount of money for making a Linux-only AAA game. It's not attractive to write drivers and offer support (which is more expensive than the actual drivers!) for a small minority from whom you can't expect to make much money. It's not attractive to document the intentionally-obscure details of your hardware implementation so everybody including your competitors knows, just so you maybe get another 1% of sales.

Sad, yes, but that's just what it is.

\$\endgroup\$
1
  • \$\begingroup\$ There's also a fundamental issue here which is that Windows/Mac gamers are happy to pay $40-$60 for a high-end game, but Linux users are generally looking to spend $0. If you look at many Kickstarter-backed games, many developers list Linux ports as stretch goals because they want to support Linux. It just makes almost no business sense to actually put the work into it because you are not likely to make any real return-on-investment. Some developers still do it anyhow for the love of Linux, which is why there are not zero games for it -and- because engines like Unity make it cheap to do. \$\endgroup\$ Dec 31, 2018 at 0:45
3
\$\begingroup\$

81.76% of worldwide computers run Windows

13.49% of worldwide computers run macOS

1.68% of worldwide computers run Linux

3.07% - Other/ChromeOS

Take a guess why developers prefer Windows and Mac over other operating systems... Even if Linux was some super OS with magic powers it still doesn't help that less than 2% of the population uses it.

Source: https://en.wikipedia.org/wiki/Usage_share_of_operating_systems

\$\endgroup\$
0
\$\begingroup\$

Yes, Android uses a kernel based on Linux. But from the perspective of an application developer, Desktop Linux and Android have very little in common. Android apps don't communicate directly with the OS kernel like Linux programs do. They run in a sandboxed runtime environment which has an own API. Programming for that API has absolutely nothing in common with regular Linux programming. They are even more different than Linux and Windows. So porting an Android game to run on a Desktop Linux distribution is anything but trivial.

Besides the fact that Windows is still the king of the Desktop operating systems by distribution (with MacOS being the most serious contender at the moment), the Linux desktop community also has a certain property which makes them a bad market segment for games. A lot of Linux users use Linux because they believe in open source software.

Unfortunately open source is not a viable business model for game developers. Open source development is usually funded by companies who either invest their own development resources into it in order to improve a software they use themselves or who pay good money for support contracts. Neither is an option for games. The two standard ways to monetize a game do not work in an open source ecosystem. Pay-by-copy doesn't work because customers are allowed to redistribute your game and microtransactions don't work because open source games can easily be patched to make those items available for free.

What's left are enthusiast free-time volunteers and donations. Creating a high quality game that way is next to impossible. I am speaking from experience here. I was a contributor to an open source game for years which didn't really get anywhere due to the lack of dedicated full-time developers.

But there is hope for Linux as a gaming platform. Steam for Linux was made available a few years ago and game engines like Unreal and Unity make it relatively easy to create a Linux port of a game. The increased availability of high-quality commercial games on Linux might lead to a higher acceptance among the hard-core Linux crowd for proprietary games and also make Linux more attractive for the "average" gamer who doesn't care as much about all their software being open source. But we are still far away from the market situation where it makes any commercial sense to develop a Linux-exclusive AAA title.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged .