4 ms·
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 Carmac
by babarock 14y ago
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?
- 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.
- rednukleus 14y ago> 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) I don't think using Linux is a waste of my time.
- venomsnake 14y agoJust check the humble bundles. Linux average purchase is the highest and their total is way above their OS market share. So linux gamers don't mind (over)paying for games. The problems come from support and the fragmentation of the platform.
- rmk2 14y agoSpecificially, 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!) http://cheesetalks.twolofbees.com/humble/ http://cheesetalks.twolofbees.com/humble/
- dickbasedregex 14y agoSee my comment re: humble bundle. http://news.ycombinator.com/item?id=5193118 http://news.ycombinator.com/item?id=5193118
- drivebyacct2 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. 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)
- VMG 14y ago>> [...] tend [...] You're the exception.
- drivebyacct2 14y agoI genuinely don't see how that's a foregone conclusion.
- pekk 14y agoPlease don't confuse the market which can be built on Linux with your colleague's subjective, snarky opinion of current Linux users.
- mikevm 14y agoIsn't this why Valve is only officially supporting Ubuntu? I thought that it was a very sensible choice on their part.
- 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.