Live data from Hacker News

C4 game engine drops Linux support citing frustrations with desktop Linux

terathon.com

61–70 of 88 posts

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#61
post #24

Earlier quoted context omitted.

apt-get also only works extremely well for FOSS releases. If something is closed source (reality check) the developer will need to maintain the a build for each distro+release. The user will also need to add that apt repo and click through Linux's warnings about that. > What a pity they've decided to take a political position rather than a technological one. Ironically, it's the political (rather: religious) position…

If you build your binaries against Ubuntu 12.04 (=glibc 2.15 symbols), chances are, that it will be extremely compatible with many distributions for years to come. Just make sure you know, what API you are really linking against. The resulting package can install the repo by itself - i.e. user downloads the package, install it and suddenly, he has repo for updates installed. Google Chrome does it, for example.

Interesting! I assume you would have to statically link all other libs? Distros often swap out e.g. libfoo for foolib and from my own experience that usually ends up being a rabbit hole of "make."

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#62
IMO, 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.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#63

Earlier quoted context omitted.

For games you don't care about the window system, what's critical is a 3D API, input and sound. MS got this right early with D3D, DirectInput and DirectSound. And MS forced hardware vendors to commit to these APIs which was a good thing. The problem with Linux (above the kernel) is that everyone is pulling into a different direction.

Of couse games do not care about UI toolkits, but the excuse against linux was always Gnome-KDE or Gtk-Qt-Motif-Athena-whatever, even through games do not care about these things (see also your grandparent post). In Linux, there is glx[1]+OpenGL and SDL. The problem (quality of OpenGL implementations) is not unique to Linux. [1] - yes, soon to be EGL.

Yes I remember now that the Valve SteamOS devs recommended to use SDL2 instead of going directly on the OS APIs, since it takes care about a lot of small problems and differences. So basically SDL would take the role of DirectX.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#64
post #53

Earlier quoted context omitted.

If I ever complain about needing weeks to do something as simple as installing a Linux distro and creating a development environment, feel free to say it.

I'm just curios, how would you imagine the dev environment for C4 would look like?

Autotools, gcc, needed libraries, binary blob drivers for the video card, a terminal emulator and vim with a bunch of scripts.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#65

Earlier quoted context omitted.

> 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.

Actually, Eric Lengyel is a well-respected guy and programmer. If an OS takes him long (and by long I mean more than 10 minutes) to install and configure, that doesn't speak all-too-well for that OS.

Have you seen his coding conventions?

http://www.terathon.com/wiki/index.php/Coding_Conventions

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#66
post #61

Earlier quoted context omitted.

If you build your binaries against Ubuntu 12.04 (=glibc 2.15 symbols), chances are, that it will be extremely compatible with many distributions for years to come. Just make sure you know, what API you are really linking against. The resulting package can install the repo by itself - i.e. user downloads the package, install it and suddenly, he has repo for updates installed. Google Chrome does it, for example.

Interesting! I assume you would have to statically link all other libs? Distros often swap out e.g. libfoo for foolib and from my own experience that usually ends up being a rabbit hole of "make."

You need to be able to make call, which libraries you are going to link dynamically. LSB libs, X11 and other parts of the infrastructure with staying history are safe, some random foo library is probably not.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#67
post #2

While 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…

"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...

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#68
post #16

Earlier quoted context omitted.

> 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.

You've described the problem that a lot of developers I know have. Linux just isn't easy to understand, even for programmers, if they don't have a *NIX background to start with.

Linux is made by programmers, for programmers. If someone can't understand it, maybe it's not Linux's fault.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#69
post #56

Earlier quoted context omitted.

"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.

Why? 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.

A 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.

Re: C4 game engine drops Linux support citing frustrations with desktop Linux

#70
post #53

Earlier quoted context omitted.

I'm just curios, how would you imagine the dev environment for C4 would look like?

Autotools, gcc, needed libraries, binary blob drivers for the video card, a terminal emulator and vim with a bunch of scripts.

I like how you gloss over the "needed libraries".

But seriously, let's take a quick look (here)[http://www.terathon.com/architecture.php] and think, what might be a clear pain point in Linux, even if the "needed libraries" worked perfectly with all the hardware and all distros and the blobs were perfect.

Did I hear someone say "Linux sound support"? Yes, that is a correct answer. Sound in Linux is a know clusterfuck.

What else might be not as trivial? Did someone say support for multiple graphic cards? Yes, even with OpenGL it might be an issue.

Not to mention all the GUI tools.

So yeah, those all things obviously would never have any less than functioning dependencies on Linux...

Post reply on HN