The thing about Carmack and Linux is, that everything he says is based mostly on the QuakeLive port id did a while back (edit: he says this here http://youtu.be/wt-iVFxgFWk?t=45m26s). The port was released as an afterthought and quite a while after the Windows version), it wasn't publicized anywhere so naturally, people ignored it. From this experience he concluded that Linux isn't financially viable and/or there are no people interested in gaming on the platform.
Now I'm not saying that Linux is financially viable, I don't know that. I just think that
- a lot of people do pay for games on Linux (look at Humble Indie Bundles, look at the indie titles or the recent titles on Steam)
- I know people who pay for games but are stuck on Windows because they play games. My guess is that these people would ditch Windows in a heartbeat if their games were playable under Linux.
The dualboot issue is important here. Since most people who go out of their way to install linux on a computer are probably savvy enough to setup a dualboot it removes a lot of the economic incentive to port games to Linux.
This is because they know that most serious Linux using gamers will probably dual boot anyway so a Linux port of a game is a "nice to have" but won't stop somebody buying a game.
To play devil's advocate - Linux users may pay more for the Indie Bundles, but there are only a few tens of thousand Linux users paying anything at all. The proportion of Linux users who buy the Humble Bundle is probably much much higher than the proportion who would buy a AAA game (for a number of obvious reasons). Games like CoD need to sell at least hundreds of thousands of copies for it to be worth the support costs.
I don't think it would hurt the game industry to do more projects which cost less than $50 million to produce, and sell for less than $60. Deer Hunter and Barbie type games (accounting for a huge proportion of US sales) sell for more like $20. And iOS games sell for more like $1-$5. But for some reason the latter causes people to ask where they can find the opportunities more than to sit around complaining about how iOS users are cheap and their data doesn't count because they aren't paying $60.
Are you referring to this quakelive.com? He said it's a failure as a free 2 play game online. What does that have to do with Linux? I don't think it even works on Linux, actually.
There is an offical, native Linux client that no one knows about. It was released in 2009. And because no one actually bothered with it, he concluded that the WHOLE platform is disinterested. http://youtu.be/wt-iVFxgFWk?t=45m26s
That isn't all he based it on. id games used to be available on Linux, with ports produced by Loki or with unofficial binaries by staff. They never brought in enough money.
He says "We have made two forays into the Linux commercial market, most recently with the QuakeLive client and that platform just hasn't carried it's weight." Watch the video I linked to.
And if Loki hadn't died around 2002, there would be many excellent Linux games to sell on Steam today, which is a much better platform for promoting, updating and DRMing the games. Bad timing.
I can't remember the exact quote but he said something a long the lines of "we tried porting quake live to linux and nobody played it". Which I'm sure is true, but the way he said it seemed to imply that this was adequate evidence that supporting Linux was probably a waste of time.
I think focusing on WINE style emulation sounds like a very sensible way forward. The thing for me is, though, that it would be great if more games came pre wrapped in some sort of emulation with all the relevant settings tweaked.
I don't want to buy a game and then spend hours messing around to get it to work.
Having a big library of emulated games is more important (in my opinion) than squeezing every last frame rate out of a small number of native ports.
So setting aside people's emotional considerations of Linux being a second class citizen, a library of games in Steam and DVDs including alternative executables using Winelib seems like a great way forward.
Most games these days are designed to run on a range of graphics detail settings, and it's not a big deal if you just have to turn a few things down a little on the latest games.
Although I can understand why some on PC would consider Linux a second class citizen for gaming, the larger issue that matters more is PC in general typically being a second class citizen for games through lack luster console ports. I would much rather see developers focus on making quality games for PC in general than worrying about porting it natively to Linux or OSX instead of just assuring it works well in Wine.
It would be nice to just see everyone behind that more than complaining about whether something is native or using wine. A lousy console port that works natively is still a lousy game.
> The thing for me is, though, that it would be great if more games came pre wrapped in some sort of emulation with all the relevant settings tweaked.
For example, http://transgaming.com/cider. Notice, though, the high-touch sales process--that's unfortunately necessary, since "relevant settings tweaked" can actually sometimes mean "relevant DLLs reimplemented by us, as part of the 'sales-engineering' process, specifically to make your software work."
Cider is, IIRC, regularly used to port games to OSX, but the results are pretty poor in my experience.
The winelib/cider method of porting raises an interesting question, should I as a mac/linux user have to pay the same price as a windows user for an objectively inferior product? (In the case of steam I think this is fine, because I get access to all three versions of the game)
So he is actually saying that too few people use Linux. And few people use Linux because it has so few good games. What surprise.
P.S.: I'm really happy how Valve pushes forward with Steam and am surprised to "already" see some bigger games like TF2 and CS:Source available in Linux. All that with games i bought many many years ago and now can play in Windows and Linux (and i suppose Mac as well), nice!
I'm a programmer, albeit not a game one. I have an honest question: How difficult is it to write a game whose source code is portable?
I understand that Carmack and Id work on the kind of game which needs very strong optimizations, and I can imagine they need OS-specific system calls or to manipulate the hardware immediately. Porting a game like Quake to Linux is obviously a lot of work, and the reward seems low compared to the investment.
However, I doubt most game programmers need the same level of optimization. Is it that difficult for them to write their code once and compile it separately for each platform?
He doesn't argue that porting the game is too difficult - in fact he implies that porting games to linux is pretty straightforward. He's really arguing that supporting the game after release is too expensive.
You have patches, and compatibility issues, and a thousand video cards with potential incompatibilities; customer service questions, system updates, and that one dude in Kansas running a custom version of linux that cant quite get your game to work, so he keeps calling and bugging you and taking up support time.
Edit: Found a relevant quote:
This may sound ridiculous – “Who would turn away $20,000?”
but the reality is that many of the same legal, financial,
executive, and support resources need to be brought to
bear on every single deal, regardless of size, and taking
time away from something that is in the tens of millions of
dollars range is often not justifiable.
A have a colleague who has worked a few times selling games ported to Linux, and it leads to all sorts of hate mail when things don't exactly right. And people who use Linux tend to think you never have to pay money for software so your market is that much smaller.
> And people who use Linux tend to think you never have to pay money for software so your market is that much smaller.
I'm not sure that is fair. Linux users, when faced with the choice of a free open source tool or a paid proprietary one usually tend to go for the free one. But things like the Humble Bundle show that there are plenty of Linux users who are willing to pay for content. It's just that there aren't that many Linux users compared with Windows.
I get so tired of hearing people trot out the humble bundle example. Linux has historically been mostly ignored by game devs. Of course linux users are going to (initially) earnestly support developers in the hope that more games/devs will start coming their way.
Lets say the humble bundle worked as a means to encourage a non-trivial amount of indie devs and publishers to build for or port to linux. Lets say this trend remains significant for more than a year or two. I don't for a second believe you'd see anything close to the same level of support. Right now games on linux are a commodity.
I defy someone to find another software category... hell, an individuel piece of software that has enjoyed any real, monetary support from the linux community. You don't get to argue enterprise support for distro X or open source framework Y from Z corp. Show me end users purchasing software for linux.
Don't get me wrong, I used linux as a desktop for years and still use it every day on the server. I'm a fan but the desktop community? As a developer, I wouldn't waste a second of my time building something for linux unless it was purely an open source passion project. Linux desktop users seem overwhelmingly more than happy to eschew a paid product for a free one even when the free one is absolute crap by comparison. <Insert snide comment about linux desktop users not valuing their time as evident by their use of linux as a desktop in the first place.> I hate to use the term freetard but as someone who makes money from building things, that's how I largely see the linux desktop community. To put it bluntly, there isn't much evidence that they are worth the time.
> linux desktop users not valuing their time as evident by thier use of linux as a desktop in the first place.
You lost me here. I dual boot Windows and Linux - Windows is currently the best platform for games, Office, and a few legacy and specific apps; Linux is the best platform for programming (unless its for Windows or Apple specific programs)
This was mostly a joking jab and honestly not as true today as it used to be. I spent a lot of years fighting just to get a gfx or network card working with any distro but that was honestly a long time ago. Linux has come a long way.
I'll agree that linux is a fine development platform. I might well switch back if the direction OSX/Apple goes continues to be questionable.
Well ... first - games are different type of code than Photoshop. If you want to see whether Linux people like to pay for content - you better check their video rental and music histories.
Second - there is good portion of linux users that are not die hard Stallman followers. They are just not the vocal ones. Some people know that you sometimes just have to ship the binary for various reasons.
The fact that Sublime Text has version for linux that is supported, means that it is profitable enough to do so.
People don't mind paying for good software. They mind being ripped off and feeling powerless. And there is sizable group of people for which the games are the only major dealbreaker of switching to Linux.
Specificially, they consistently paid the most, out of all three operating systems, sometimes double the amount of the amounts payed by windows users (and we are talking average prices here!)
> And people who use Linux tend to think you never have to pay money for software so your market is that much smaller.
As an avid Linux/OSS fan who has spent a fair amount of money for applications that I use in Linux and Windows (ST2/ST3/IDEA-J, others), as well as hundreds (if not more) on games that I'm enjoying Linux native ports of... I'm so damn tired of hearing this stereotype.
At best there can be an argument made for wanting to support OSS software over paid alternatives, and that IS true. There are times that I will use a slightly inferior application because it is OSS. It's almost never a price thing. Even now that I've paid for ST2, I still find myself wishing that I liked Vim/Emacs more because they fit more with my OSS-love and the advantages that come with it (WinRT/ARM port, Linux/ARM port for the Exynos Chromebook, etc)... but please stop acting like that means I expect to get everything for free. It's really insulting.
edit (Ironically, games are probably one of the more obvious places that "you get what you pay for". I'm not the biggest hardcore PC gamer, but I really don't care to play any of the OSS games available for Linux. On the other hand, even though I'm terrible at them, TF2/CS/CS:S/HL/etc are fun even for me, and I'm very happy to pay for that entertainment, especially when Steam makes it so easy to buy/redownload/etc)
> Is it that difficult for them to write their code once and compile it separately for each platform?
Yes if you start out writing it in "Visual C++" targeting Direct3D. Less so (but still somewhat painful I imagine) if you start out compiling with GCC and targeting OpenGL.
In theory, these days C++ compilers are cross-platform, OpenGL is cross-platform, windowing-integration libs like SDL/GLFW/etc. are cross-platform... but the best engines for one target primarily Direct3D and their OpenGL path might be non-existent and/or sub-standard.
I think people starting from scratch today probably look around, notice OpenGL runs anywhere in some form, and start learning this path. But until just a few years ago, OSX and Linux were much more fringe, Windows was the only realistic place to be, and back then, OpenGL on Windows was a really vastly inferior option to D3D. The game-devs who started out learning their craft back them, I think, come from that background.
If you start from scratch today, cross-platform support is quite a lot easier than it used to be and you don't need the JVM to "write once run anywhere".
Trouble is, though, if you were to start from scratch today, then you're also probably not gonna launch a big title this year or next...
A friend of mine worked for EA and he kept on complaining how it wasn't possible to write reasonable portable code that supports PS3 without negating performance benefits of its 1 principle / 6 satellite CPUs architecture. Technically, it is possible to abstract it, but the abstraction layer would end up absorbing a lot of game code and thinning the portable part considerably.
In other words, you want good performance - you will have to write thick abstraction layers.
It is usually not so bad to make it cross-platform, but just as an example, the direction of the z part of vectors is into the screen in D3 and out of the screen in openGL (or it is the other way around) which means that if the game wasn't meant to be portable, it most likely won't be.
I remember how 10 years ago I thought that it would be the answer to help bring Linux into the mainstream. No, native Photoshop? Not a problem. Unfortunately, the problem has turned out to be much harder to solve.
He is right, but I"m not sure for how long. Right now there isn't a huge market for Linux games, especially big budget ones. Smaller games might see good ROI, but I don't know.
When a real Steam Box happens running Linux, things might change quite a bit, but it needs to sell in the millions of units before it starts being a big deal.
If Valve releases the Steam Box and ends up selling at least 10 million of them, Carmack will come around to it (considering Valve's own Steam Box will be based on Linux). Valve even said Steam for Linux will have more titles than Mac.
Steam's potential success on linux is part of his thought process. From the reddit thread:
>I truly do feel that emulation of some sort is a proper technical direction for gaming on Linux. It is obviously pragmatic in the range of possible support, but it shouldn’t have the technical stigma that it does. There really isn’t much of anything special that a native port does ... Ideally, following a set of best practice guidelines could allow developers to get Linux versions with little more effort than supporting, say, Windows XP. Properly evangelized, with Steam as a monetized distribution platform, this is a plausible path forward.
10 million is massive install base. And while half life 3 and portal 3 may have the muscle to move 10 million units, you will also need to provide some form of compatibility current steam catalogs. Which Carmack solution allows.
Wine is great, it comes really close, and then it breaks overnight for no reason. I was playing CS:GO and playing it rather frequently and then all of the sudden it has simply stopped working. On the other hand, all of the Steam games with Linux native ports work great on both my Intel and Nvidia graphics setups.
I hope Carmack is wrong and I hope Steam for Linux will drive the point home.
Also, the whole "support" point is lost on me. If the impetus is really post-release support, I can guarantee you going through Wine is going to complicate things greatly... and you still have the same supposed moving target of Linux underneath. It's not as if using Wine normalizes sysv init vs systemd vs upstart or pulseaudio vs oss vs alsa. Those issues are still there and anyone who games on Wine seriously knows that those issues are MORE present with Wine than they are with the native ports.
Looks like the "one OS fits all" concept has proved to be flawed.
Windows is great for corporate end-user workstation s (desktop, tablet...) but not for servers. Linux is great for servers, and highly skilled computer users (aka hackers/programmers) but not for corporate users. Mac OS is great for hipsters.
Games are somewhere in the middle of all this, including the consoles. Looks like there is no perfect solution and for sure, a good strategy could be to replicate what's have been working until now.
- a lot of people do pay for games on Linux (look at Humble Indie Bundles, look at the indie titles or the recent titles on Steam)
- I know people who pay for games but are stuck on Windows because they play games. My guess is that these people would ditch Windows in a heartbeat if their games were playable under Linux.