Game Development Linux Game Development Personal Development

Thousander Club Update: March 31st

For this week’s Thousander Club update:

Game Hours: 409.25(previous two years) + 37 (current year) = 446.25 / 1000
Game Ideas: 710 (previous two years) + 35 (current year) = 745 / 1000

I tend to hear a lot of excuses for why people won’t develop games for a Linux-based platform. There’s too many different distributions, and it would be a nightmare to support them all. Why would I go through the herculean effort to port a game for such a small market? Linux users don’t pay for software.

To answer the last two questions, read Why Aren’t There More Linux Using Gamers?. To summarize: they exist. They just need more games.

So if the porting effort is worth it, the big issue is supporting all of the different distributions. If we take a look at, you’ll see over 300 different names for distributions! Even a major publisher wouldn’t have the resources to test their games against each one, especially when you take into account the different hardware combinations running all of them! It’s enough to make people thankful that there are only 5 different versions of Windows Vista!

The truth is, though, that each of those distributions is just a name for the same OS in different configurations. And you don’t really need to make sure that your game runs on Debian, Mint, Ubuntu, Kubuntu, Xubuntu, Fluxbuntu, Mythbuntu, and Edubuntu. You don’t need to worry about the differences between Fedora and Mandriva. You don’t need to worry about someone rolling their own. If you really want to worry about the differences between distributions, then focus on the types of distributions, such as dpkg/apt-based distros versus RPM-based distros.

If you think about it, if you are making your game for Windows, you’re not concerned about WindowsCE usually. No one freaks out that they won’t be able to support it. They just don’t. For some reason when it comes to porting to Linux, all of a sudden they are including distributions that are meant to run routers or embedded devices when they complain about supporting too many distros. It’s silly.

In my own experience with my current beta testing of Killer Kittens from Katis Minor, I’m finding that most of the problems with making sure my game runs on everyone’s systems are bugs. Not their bugs. My game’s bugs. My game had a dependency on a library on MY system when it should either provide that dependency or not depend on it at all. My game assumed that the dimensions of the screen would be large enough to support it in windowed mode when some people had desktops with the same resolution or smaller.

These kinds of problems aren’t unique to GNU/Linux, either. Windows games that run at 1024×768 won’t look right on systems with a max resolution desktop of 1024×768 unless the game supports fullscreen mode. How many times have you seen someone pass around a work in progress game only to find that it won’t run because it wasn’t able to find MSCVC2005.DLL or some other DLL?

That isn’t to say that developing for Linux-based platforms doesn’t have its own unique challenges. But then, so does the Mac, and people have no problem porting their games there. After all, Mac users pay for software.

But we already pointed out that Linux users do, too.

I’m not saying that making your game portable across three systems is easy, but if you can already acknowledge that making it portable between Windows and Mac is worth the effort, how much more effort can it be to make it work on a third platform? It seems to me that it isn’t that much harder to make a game portable between all three systems, especially from the beginning. So why not?

In any case, I’m getting plenty of feedback from the beta testers. Some of them are using Debian and Ubuntu. Some are using 64-bit versions of these systems. Some are using Slackware. Some are using Red Hat. One person built his own distro. When I find out that my game doesn’t run on one of their systems, I just fix the bug. I’m trying to make this game so that it Just Works, and I’m not going to whine about how hard it is to do it. Whining isn’t very productive. I’ll reap the rewards for my efforts. Whiners will just have a significant number of people who can’t play their games.

[tags]game, game design, productivity, personal development, video game development, indie[/tags]