9 ms·
C4 game engine drops Linux support citing frustrations with desktop Linux
- Arelius 12y agoWhile Linux development, especially for game development, does has it's fare share of pain points. I don't think this should be interpreted as any more than it is, a single developer deciding he wants to stop supporting, one specific platform. Eric is indeed a very skilled programmer, but this engine is very much developed to meet his whims. He hasn't yet released any games on it, and the vast majority of his engine licensees are hobbyists, who quite frankly are also unlikely to release a game. So while Linux was a nice-to-have earlier on, and likely sold him a few licenses, with UE4 heading to Linux it's unlikely to give him many more sales. And I suspect he's used to developing in Windows, likely with visual studio, and in comparison, Linux can feel quite archaic. And in that context, maintaining Linux build systems can seem quite painful, likely the primary reason it's getting dropped. On the contrary, with Valve's current and monumental efforts, I suspect we're going to see a lot of games continuing to be released on Linux. And the tools are improving vastly, and some rather nice tools, vogl for instance, are only fully functional on Linux, which provides a strong advantage. I'm personally pretty excited to see what comes from AMD being much more open with their ISA, and related documentation. I'm pretty hopeful for a very open and fast graphics API, OpenGL in my opinion is the worst part of working on Linux.
- pjmlp 12y agoI still haven't see any of the Steam machines on the wild. Frankly I doubt I will ever see them.
- darklajid 12y agoNeither have I, if we're talking about the 'console' style Steam OS things. But I'm playing on this Thinkpad running Arch, using my Steam account. I tend to ignore games that aren't cross platform (although I have a gaming box running Windows 8 as well). It helps that a lot of games that I like (Awesomenauts for example) are available and work amazingly well.
- thirdtruck 12y agoI was running Steam in Big Picture mode on my Linux laptop only minutes before reading your comment. It's not a true Steam Machine, but neither is it that far off. :)
- jiggy2011 12y agoWhat is the specific difference between a true Steam Machine and a PC with Steam installed?
- rjaco31 12y agoWell they use the SteamOS as an operating system
- jiggy2011 12y agoI don't think that is a requirement though, realistically the cost saving on a Windows OEM license will be eclipsed by the reduced game catalog for quite some time.
- thirdtruck 12y agoBesides Steam OS, mentioned earlier, people also expect them to be console-like in their compactness and portability, but that's not a hard requirement.
- baldfat 12y agoWith Microsoft and Windows 10 having an App Store will certainly cause Steam OS to continue to Develop. The longer it is being baked the better it will be in the end. Certainly people still need the need for Linux as an alternative to Windows and I have so little hope that OS X users would also see the need. Looking at you HTF+.
- simonh 12y ago> The longer it is being baked the better it will be in the end. Gnu HURD Forever!
- not_with_retard 12y agoDoesn't surprise me, since none been officially released yet.
- restalis 12y ago"I suspect he's used to developing in Windows, likely with visual studio, and in comparison, Linux can feel quite archaic. And in that context, maintaining Linux build systems can seem quite painful, likely the primary reason it's getting dropped." That's not it. Eric explained it in here: http://www.terathon.com/forums/viewtopic.php?f=2&t=14050&sid=7b0525a1f9271a349bbb38c66c047b26&start=25#p127661 http://www.terathon.com/forums/viewtopic.php?f=2&t=14050&sid...
- Arelius 12y agoThanks, I tried to search for more info but couldn't find it. I can't read this right now since it seems that Terathon.com is down, but will check it out.
- CmonDev 12y agoI think it's better to hand over the platform support to experts (Mono/JVM) and just focus on the engine.
- fit2rule 12y agoWhat a pity they've decided to take a political position rather than a technological one .. plenty of other game engines work just fine on Linux (my personal example is MOAI) and so it seems to me what was needed was to just learn a little more about how to support Linux properly, and stop complaining about it. The fact that other game engines have no problems with this speaks volumes about the author. I respect his 'personal choice' in the matter - but removing working features from the release just seems like politics as usual..
- stinos 12y agoWhat a pity they've decided to take a political position rather than a technological one . Not sure if that really is the case - to me it reads like "I spent so much time getting this thing to work and it still doesn't work properly now, so I just give up" Yeah sure, the underlying reason for this might be that he doesn't know how to properly do it (and the reason for that in turn might be that it is hard), but how is not wanting to spend any more time on it purely a political position rather than a technological or business decision? Especially the latter, which is also explained again by Eric: I cannot afford to spend weeks at a time just trying to install Linux, get it to boot, and get a development environment working. I simply don't have the funding to justify letting the engine stagnate while I mess around with an OS that should just work. It's extremely wasteful and unfair to users who are waiting on new features.
- stefantalpalaru 12y ago> spend weeks at a time just trying to install Linux, get it to boot, and get a development environment working I think we found the problem. It's between chair and keyboard.
- thirdtruck 12y agoMakes me wonder which distro he's trying to use. My recent install of Mint Linux (on my primary dev box) was a breeze.
- jevgeni 12y ago
- Cthulhu_ 12y agoWhoa, blast from the past; I did a minor game design using this engine. I spent most of the time refactoring the demo game code to something a bit more OO / to my style though. I don't know if that was good for performance, but it pleased me. But yeah, as another commenter stated, it just doesn't have the leverage as the bigger engines have (U4, Unity, etc), and those have very competitive pricing for hobbyist developers nowadays. Not to mention the financial means to have their developers also support Linux, with all the headaches that may incur.
- emsy 12y agoFrom a consumer point of view, everything above the Linux Kernel is a mess. A mess means actually choice where the consumer doesn't need one. I had hopes that Steam Machines may leverage Linux to consumers but trying to configure my father's Linux machine to his needs brought me back to reality. I even think that the consumer perspective is the one that hinders Linux. Want to develop something for Linux? What's the display server? Proprietary or free drivers? What Desktop Environment? QT or GTK Application? All those things are fine to develop for, but what do you develop for when you don't have time to test and support every existing configuration.
- icebraining 12y agoI had hopes that Steam Machines may leverage Linux to consumers but trying to configure my father's Linux machine to his needs brought me back to reality. I don't see why. A Steam Machine would solve exactly the problem you point out: it would set a fixed configuration that developers could target. Then other distros would have to adapt themselves if they wanted to run those games, and not the other way around.
- qznc 12y agoI like your definition of "mess". It clarifies but is still subjective. :) The answer in my opinion is "develop for Ubuntu LTS". Non-LTS changes too fast. In contrast to Debian, you can assume proprietary nVidia/ATI drivers. If it works on Ubuntu, it (usually) also works for Debian and Mint, although you don't have to explicitly support them. Arch users are probably used to and savvy enough to port stuff from Ubuntu. It implicitly means GTK/Gnome/Unity, although games probably just use SDL and OpenGL.
- kbart 12y agoI hate to admit but graphics part of Linux is really a big mess. I hope Valve will not abandon their efforts and succeed in making useable 3D platform/API running on Linux.
- Zardoz84 12y agoWorst for him. I personally feel that C & C++ develop on Windows is ANAL. Installing libs and detecting isntalled libs, it's very problematic, when on my GNU/Linux desktop I only need to do a : sudo apt-get XXX or git clone XXX & make & sudo make install
- unsigner 12y ago"Easy to pull 3rd party libraries" is not particularly positive for a engine/library developer; ideally, you should incur as little dependencies on your users as possible.
- bmn_ 12y agoWhy? There are outstanding ecosystems for packaging and dependency management in place. That makes it easier to embrace than to avoid dependencies as a library developer.
- kedean 12y agoA library can't depend on other libraries unless there's a strong guarantee that those other libraries will work everywhere. If you go using tons of dependencies, you limit yourself on porting. If you go crazy with apt dependencies, you've probably just limited yourself to Linux, and end up with the opposite problem as shown in the article.
- fsloth 12y agoI would suggest that on windows you copy all the relevant libraries and headers to your project root and use those, rather than try to "install" them.
- Arelius 12y agoThat's true, honestly, library installation is a pain on Windows. Sadly, the problem on Linux is often Driver installation, which is more problematic to be missing.
- pja 12y agoThe answer to this developer's install problems are a VMWare virtual machine running on his usual Windows setup. By his own account his actual Linux code works just fine - the only thing that was in his way was his inability to install the OS in the first place. It seems a shame to throw out all that working code over such a trivial & easily solvable problem. Wrestling with weird stability problems (which might be a hardware fault, might be buggy display drivers, who knows?) for weeks on end before flouncing out stage right promising never to return is the mark of someone who hasn't really thought things through.
- flohofwoe 12y agoVMs just add another dimension to the pain of incompatible or buggy components. I don't know if VMWare provides modern OpenGL support (3.x or better). I have only experience with Virtual Box, and only ever got OpenGL 2.1 (8 years old) without extensions running with hardware acceleration, but with bugs (e.g. vsync never works). Right now I can't update to the latest VBox version because its display driver is incompatible with my Linux version. I work on Linux running in VMs every day, but can't recommend this setup at all for OpenGL development.
- _pmf_ 12y agoFragmentation still continues to increase; see the recent systemd debacle and the ALSA vs Pulseaudio farce. A veritable shitfest of useless and downright poisonous changes that alienate users and non-core developers. "Oh, you have this thing that works perfectly? Well, here's a shitty idea with a shoddy execution that is the new standard. It supports this feature that 1 percent of users like and no longer supports this other feature that 99 percent of users actually care about."
- jokoon 12y agoMy 3 cents: Maybe a possible alternative would be to focus on one particular linux distribution, like ubuntu or debian, with certain dirty intall scripts ? Or go all the way and just deliver a bootable CD or USB drive that install the games somewhere, and then boots up a certain linux kernel configuration with specific, working nvidia or amd drivers. Honestly if I had a successful game I could sell, I'd try to sell it at half the price by packaging it with some linux distribution the game works on, just for promoting linux to show the consumers that developers appreciate it. Maybe another other alternative would be to offer games on certain hardware which is supported, and not to other types of hardware. But obviously, as long as hardware vendors don't give a damn about linux, I won't be surprised reading those posts. Game developers should not expect being able to use the latest graphics features on an open platform. It just won't happen. The 3D hardware industry always adds new things, it's impossible to keep up unless you had engineers working tightly with nvidia or AMD. So drop the support of high end 3D features, only keep the core ones that have been working for a long time (do you really need that shader ?), focus on other basic things (like scriptability and other libraries, there is so much stuff to put in a game engine), and deliver a working 3D engine that is easy to use and program with. I don't think any small developer who wants to release on linux can really compete with AAA, high end graphics titles. The only possible way to compete is to bring something new in term of gameplay, stop focusing on the graphics and the bells and whistles, it just won't happen. TLDR: gaming is obviously anti competitive if you want to release on linux. what to do: don't try to compete with what other games have already done, and focus on things that are doable and have been done well for a long time. There are many existing game concept that could be improved if you stop wasting time on the graphics. Having basic 3D rendering is already awesome in itself.
- flohofwoe 12y agoUnless SteamOS and Steam Boxes becomes a thing releasing native games on Linux doesn't really make sense unfortunately, cost of customer support alone would be prohibitive, and the negative backslash from the Linux community if Linux distro X on hardware Y is not supported would do the rest to drive devs away. The most realistic distribution platform for games on Linux (unless SteamOS takes off) would actually be HTML5 games using WebGL for 3D rendering. In this case the browser vendors do all the hard work to provide a unified platform wrapper (not that I ever got WebGL support working on Linux in a VM though).
- unseraphim 12y agoTRUTH! TRUTH! Finally someone speaks the truth. "Linux has proven to be Frankenstein OS assembled from a disparate array of barely functioning parts with horrible reliability and little potential for future improvement." The reason for this is that contributors to Linux are driven by ego and self-aggrandizement more than technical ability, and there is no benevolent dictator to say, "take your shitty code and shove it up your ass". It is my fantasy to start an open-source company so I can spend all day yelling at developers. It would be a short term joy, since I would probably die of a brain hemorrhage in the first 24 hours, but somebody needs to do it.
- Shorel 12y agoIMO, the biggest issue with Linux gaming is not OpenGL, as others claim, but input support. Specifically, advanced controller support. SDL2 is far from enough. For windows, there's no issue adding support for Logitech G25, G27, F710, Microsoft gamepads and Joysticks (the best joysticks ever made), and several other wheels like Fanatec. In Linux it seems that only XBox360 compatibility is possible and everything else requires a huge amount of refactoring. Also, raw keyboard and mouse support requires having root permissions and whatnot, something users can't be expected to set up themselves. So, OpenGL has some performance issues but it works, input programming is actually a nightmare in comparison. Still no Steam game works with the G25. Euro Truck Simulator 2 can't read it right, despite having kernel support, and the game is simply boring with a controller instead of a wheel.