John Carmack Argues Against Native Linux Games
escapistmagazine.com
escapistmagazine.com
- 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.
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.
My point is that Linux users are willing to pay for games, if they know about them.
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.
The results can be very good, an example is Picasa.
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.
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.
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."
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)
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 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?
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.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.
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.
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)
I don't think using Linux is a waste of my time.
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.
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.
So linux gamers don't mind (over)paying for games. The problems come from support and the fragmentation of the platform.
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)
You're the exception.
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...
In other words, you want good performance - you will have to write thick abstraction layers.
http://en.wikipedia.org/wiki/Wine_(software)
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.
so they benefitet from linux and windows does too...
Oh a few people use tool X so tool X must be bad!? strange kind of logic...
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.
In the short term OUYA is more interesting.
>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.
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.
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.