September 1st, 2004


open-source and gamedev

There's a story on Slashdot right now about open-source games. They're saying that the future of games is open-source, yadda yadda yadda, it's Slashdot so what do you expect.

In any case, they're wrong, for one simple reason: Games aren't fungible.

See, with something like a word processor, you buy it based on its features. You know what you need from a word-processor, and it probably hasn't changed in a while. For a long time this meant you got Microsoft Word, but now it's turning out that OpenOffice is almost as good as Word, and, hey, it's free! So now people get OpenOffice, and it's all good. Except, of course, people who have old copies of Word - there's no reason to upgrade, it still does what they want.

Games, however, aren't like this.

Imagine someone writes OpenHalo. It's like Halo in every way. I mean it's the same game. Identical. Utterly 100% identical. And then Bungie releases Halo II.

Whoops! Turns out Halo II isn't just an incremental change to Halo. It's not just "Halo with an extra map or two, plus a new weapon". It's essentially an entire separate product. Sure, you've got OpenWord, but do you have OpenExcel? Well, fuck. Guess you don't.

So now they do make OpenHalo II . . . and meanwhile, Bungie's working on Halo III . . .

The fact is that games are still evolving. While you could argue back and forth on whether this will continue indefinitely (I believe it will, but I could be wrong), the fact is that we aren't there yet. And the open-source projects can't compete in games until they start innovating - as far as I know, the *only* innovative open-source games are Nethack and Netrek.

Even then, they won't be superior until they can:

1) Develop fast enough to stay ahead of the technology curve
2) Include an enormous amount of pure raw content
3) Come up with new play styles before other games have made them popular

And that takes too many people, too much time, and too much coordination. It's just not going to happen.

There's also another point that I'm slowly realizing: game programming is really fucking hard with an assortment of truly ghastly painful requirements that most businesses don't even have to worry about, and therefore, don't even realize game designers are tangling with. But that's a rant for another time.