8 ms·
John Carmack Argues Against Native Linux Games
- craftman 14y agoLooks 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.
- kzrdude 14y agoEverything has to be formulated through clichés?
- babarock 14y agoI'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?
- xionon 14y agoHe 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.
- danielweber 14y agoA 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.
- rednukleus 14y ago> 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.
- danielweber 14y agoOh, I'm sure there are plenty willing to donate as part of a charity drive. What happens when you just start selling the game straight out?
- pekk 14y agoWhy would you ever need to when you can frame it as a charity drive forever?
- dickbasedregex 14y agoI 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.
- the1 14y agoas difficult as writing a web browser that runs on different operating systems.
- dualogy 14y ago> 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...
- deleted 14y ago[deleted]
- huhtenberg 14y agoA 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.
- tomjen3 14y agoIt 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.
- dimitar 14y agoDoes testing on Wine complicate the development of a game?
- rednukleus 14y agoI 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.
- lucian1900 14y agoWinelib can be used by game developers to link their games against, to just provide them with Windows APIs their games expect. The results can be very good, an example is Picasa.
- rednukleus 14y agoSo 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.
- yareally 14y agoAlthough 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.
- derefr 14y ago> 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 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."
- buster 14y agoSo 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!
- lampe 14y agothis is why valve says this: Faster Zombies! http://blogs.valvesoftware.com/linux/faster-zombies/ http://blogs.valvesoftware.com/linux/faster-zombies/ 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...
- adamors 14y agoThe 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 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.
- mtgx 14y agoAre 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.
- danielweber 14y agoQuakelive worked under both Windows and Linux last time I checked.
- adamors 14y agoThere 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 http://youtu.be/wt-iVFxgFWk?t=45m26s
- cma 14y agoThat 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.
- melling 14y agoWINE is 20 years old. http://en.wikipedia.org/wiki/Wine_(software) 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.
- mtgx 14y agoIf 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.
- venomsnake 14y ago10 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.
- rm999 14y agoSteam'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.
- drivebyacct2 14y agoWine 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.
- deleted 14y ago[deleted]
- programminggeek 14y agoHe 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. In the short term OUYA is more interesting.