Recently I’ve been trying out a bunch of “Free and Open-Source” (FOSS) games. Or rather, I’ve been trying to try out a bunch of FOSS games. But let’s not get ahead of ourselves: unlike those that are (eventually) ported to Linux, FOSS games are quite often made by Linux users for Linux users. As such they are something we can be proud of, which is a change from having to be meekly grateful to the one guy in a hundred who actually bothered to do things by the book and make his code platform-independent (the book in question is called: “How not to be Microsoft’s gimp”).
Previously I did a short series of posts about good FOSS games for Linux – check them out if you haven’t already:
I’ve actually played a few more since then (I’ll post another lot of suggestions at some stage): the point being that there’s no shortage of such games. But I get the feeling sometimes that the crème-de-la-crème of Windows gaming, even free gaming, is “better” than the best Linux has to offer. So what’s the problem with FOSS gaming?
I – Technical issues
I don’t know how many times I’ve naively clicked on a binary and had it do nothing at all. Windows tends to come up with a big fat error-message, but unless you run the program in the terminal, Linux software generally won’t give you the slightest idea what went wrong.
To get “Frogatto” working I had to chase up a bunch of packages that weren’t in the repositories. To its credit the game was more than worth the effort ![]()
Most often, when it comes to games, the issue turns out to be a missing library, but solving this can often be easier said than done. If you don’t have the library you may find it on Synaptic or Aptitude if you’re lucky. But the program may be looking for an out-of-date library, so if you have a newer version you’ll sometimes need to use a filthy hack to get it working (eg – spoof the old version by creating a symbolic link to the new one). Alternatively the program may want a newer version of the library than the one in the repositories, in which case you need to find the package yourself on-line and manually chase down all the dependencies. That is, if you’re lucky enough to even find a pre-packaged DEB-file (or similar): you may well end up installing everything by hand as well, which takes a long time and is prone to human-error. Granted there’s probably a better way of doing these things, but I’m not exactly a brand-new Linux-user so there are going to be people are lot more ignorant than I am.
Windows games generally “ship” (I’m talking about indie games here, so by “ship” I mean, “zip”) with all the necessary DLLs. It may be an insult to one’s intelligence that you’re seen as incapable of finding them yourself, and it certainly makes the downloads a lot larger, but at the end of the day you’ve got a program that will work out of the box, full-fricking-stop. On a side note in the future I may start including shared-object files with my games, just to make sure that everything works (previously I’ve blindly obeyed the conventions and only included the necessary libraries for the Windows versions).
Lately the only FOSS game that’s worked first try was “Buggy Race“. It came with a functional installer and ran just fine, but the sound won’t work for some reason…
All this without even talking about bugs. Before Pulseaudio all was well for Ubuntu gamers, but now many games will either run in deathly silence, deafen you with static or crash out-right!
II – Lack of originality
One of the most active/promising/exciting FOSS games right now is probably “0 A.D.“, but when you think about it it’s nothing all that new or different: it’s an “Age of Empires“ clone. Let’s be honest with ourselves: aside from a few examples we are not a really centre for gaming innovation here at Linux-HQ. The rest of the indie crowd are racing forward breaking land-speed records but Free (as in Freedom) gaming is miles behind still trying to reinvent the wheel. Over and over again. It’s a sad truth that many FOSS projects are clones that diverge very little from the source material. The line of thinking goes something like this:
“I loved to play X when I was young but it doesn’t run natively on Linux; let’s do a remake!”
Or, if you’re very lucky:
“X was good but had a few problems; let’s try to improve it, and port it to Linux while we’re at it!”
I’m actually pretty psyched about “FLARE“, but if I was a Windows user I’d probably be thinking “why not just reinstall “Diablo“?
This is all very well, but it does mean that this sub-group of the independent developers gets little or no attention from the rest, who only see inferior copies of something that’s probably Abandonware by now anyway. Just look at the list of articles with a “Linux” tag on TIGsource: almost all of them are commercial products that happen to have been ported to Linux, and only one is also tagged “Open Source“. Same story over at indiegames.com/blog. This is a crying shame in my opinion!
I’ve developed this vague impression that most artists use Mac, most programmers use Linux and almost everyone else uses Windows. We have this incredible technical proficiency in our camp, but I think we have a serious lack of right-brained people: the creative sort with a humanistic education, who don’t even know their arrays from their pointers (tee-hee). In other words: we need “Game Designers”. I’ll admit that I’ve often been sneered things like “design is the programmer’s job”, but in truth when I put down my notebooks and put on my programmer’s thinking-cap, I tend to find reverse-engineering an existing system to be a lot more palatable than building an entirely new one.
Don’t get me wrong: I’m not saying that Alien Arena isn’t awesome, but is *is* clone…
Simply put, programmers like making clones because we know where we’re going and when we’ll have arrived. We want to get into the nitty-gritty of programming without having to think about design, and stealing someone else’s design is the quickest way of doing so! This is why we programmers should probably not be in charge, even if we tend to think we should
For the record I’m not entirely sure what I am these day: I plan, I code and I draw, all… “passably” I suppose. So I think I’ve chosen to be mediocre across the board rather than specialising in any one field. But this is probably not the way to go guys
III – Lack of personality
Here we’d best go with an example. In 2004 Gamespy publish a list of their “Top 10 Real-Time Strategy games of All Time”. “Starcraft“ came second. “Total Annihilation“ came first. The author notes:
“In any given Internet popularity contest, StarCraft would win hands down. But a full year before StarCraft, the first “modern” RTS was unleashed to the world, and it was years ahead of its time.”
TA was a bit of an obscure cult-hit, adored by its fans and by reviewers but mostly ignored by everyone else. It may be a infinitely deeper, more complicated game, but it never caught on in the way that Starcraft did, because of one serious issue. Years later Chris Taylor‘s Gas Powered Games released a spiritual successor, “Supreme Commander“, which while impressive failed to correct the flaw that had so plagued the original (more importantly even today it won’t run on anything short of a super-computer). And as I mentioned previously, TA now lives on through the FOSS “Spring Project”, which has likewise inherited the thorn in its grand-father’s side.
I’ve talked about “The Cursed“: finally I’ve got a video to show you
“What thorn?” I hear you ask. Why, a complete lack of personality! Just look at the two games’ boxes (wikipedia links above): would you rather pick the one with the blocky robots or the one with the three faces staring at you? We Human-beings have evolved to love eyes and voices, but TA and its offspring have you spend your whole time moving faceless, soulless tanks and robots around and listening to them go “click clunk“. Compare that to any of the -craft games’ units, which are cute, full of character and brilliantly -and often hilariously- voice-acted (“rape the waiting lunch-orders”). Starcraft even had animated face-portraits!
There was also an interesting story with characters you could actually care about in Starcraft, while on the other hand Taylor admits that TA‘s story added as an after-thought. Things weren’t really improved with Supreme Commander (despite a clear effort): the plot of which was pretty irrelevant (it was too cut-off from the gameplay). Worse still, the Spring project‘s are collectively non-existent, which is really not good for a RTS game: generally a campaign-mode is a must to ease the player into competitive online-play, especially if your game has literally hundreds of different unit types.
It seems that many FOSS games, while deep and technically impressive, lack polish and personality. There something called “juiciness” in Game Design, but I’d humbly propose that a game needs “cuteness” too. And I don’t just mean big-eyes and squeaking as in “Lemmings” or “World of Goo“ (though it certainly helps), I mean some kind of human contact. If Blizzard were once the king of RTS gaming it’s because they used caricature, exaggerating proportions and pumping up the charm rather than letting the units become irrelevant canon-fodder stick-figures.
Some ease-of-entry would be nice too…
IV – Design by comity committee
Roger Ebert suggested that games were not and could not be art because they have no author. While I disagree with him for a number of reasons he might well have a point when it comes to projects with a lack of strict hierarchy and hundreds of contributors coming and going over the years. It works great for “boring” software (think of GIMP or Firefox), but games are entertainment. They need some kind of authorial artistic vision or they’ll come across as unfocused. This is not to say that it’s impossible to make games using this development paradigm, but I do think that one needs to be extra-careful!
Keith Fulton on “being extra-careful”.
This is another problem with design by comity committee. The Japanese say “your garden is not finished until there is nothing else you can remove”. I think this applies to Game Design too, but with everyone and his mother adding features it’s very difficult to keep the game lean and mean. FOSS games are vulnerable to feature-creep and in many cases just don’t feel “finished” because they never really are. There will always be new stuff you can add to a game but that’s not to say you should. This is what I learnt from Supersoldat: it may be more fun to add new features than it is to polish those you already have, but polish is far more important if you want your game to be any good.
Probably the best piece of game-design advice I’ve ever read comes from Derek Yu: “finish your damn game!”
Now if you’ll excuse me, I have to get back to my Cyberdogs/Doom clone
Pingback: Where there's a will, be fast » On Originality
Pingback: Where there's a will, be fast » Sorry Derek, I’ve failed Yu!
Pingback: FLARE leaping forward to 0.11 .. and problems with FOSS games | Spot-id Info
Pingback: Where there's a will, be fast » Design vs. development
Pingback: Where there's a will, be fast » Design vs. implementation