April 18, 2002

Interview: Developing Open Source games

- By Peter Gebauer -
What Open Source projects exist? What are their goals? How are they financed? What are the common pitfalls of developing Open Source games? These questions have many answers depending on who you ask, and it's an enormous task to evaluate the current situation for Open Source games. So, to help me out, I took a quick glance at current projects and humbly asked two developers currently working on Open Source games to answer a few questions

The projects

The projects I selected were EgoBoo and
FreeCraft, Open Source implementations of two very popular
game types; MUD (Multi User Dungeon) and RTS (Real Time Strategy).
There are tons of excellent Open Source implementations of other game types, but these two are my personal favorites.

EgoBoo is a MUD game with good-looking 3D graphics. It has a mission engine and networking is underway.
FreeCraft is an RTS game currently without good graphics, although the idea is that you can use this engine
together with your custom graphics and sounds or from your purchased copy of the popular game WarCraft II.
The developers were
Benjamin Bishop from the EgoBoo-project and Lutz Sammer (aka Johns) from the FreeCraft-project.

Question: How come you got involved in game development?

Ben:
It's interesting. My brother wrote all of the original code for EgoBoo
during his last year at college. At one point he got burned out and was
ready to just erase the whole thing (he was planning to market the game
in the traditional way). I convinced him that it would be better to
Open Source it.
At this point the code was Direct3D (windows) only. So I realized that
we would need to do some heavy porting. I started a project on
SourceForge.net (Open Source projects on-line for free)
and some very good people helped get the thing ported. The
code now runs on Linux/Windows/Mac using SDL/OpenGL. (thanks Loki)

(authors note: Loki Games specialized in porting
games to Linux, libSDL was a direct result of their efforts, while
OpenGL is an industry standard for computer graphics.)

(another note from the author: Loki Games has ceased to exist due to a bankruptcy.)

Johns:
I like playing games and starting with my first system,
I have written games.

Question: Have you always been into computers/programming?

Ben:
When I'm not working on EgoBoo, I moonlight as a computer science
professor. So, that probably answers your question :)
My brother and I have been working with computers since shortly after we
could read.
Johns:
Yes. I have started with a 6502 circuit board over the TRS 80, C64, Amiga to the current PC's.

Question: What is your favorite game type?

Ben:
I like original games. We get lots and lots of the Same Old Crap from
the big game companies. You tend to find much more creativity in indy
and Open Source games. I've probably wasted much more time on NetHack and
NeTrek than on any pay games.
Johns:
RTS. (Real Time Strategy)

Question: Name a game that implements that game type well.

Ben:
From what I've played of FreeCiv, I think this should be the model that
Open Source games aspire to. The graphics are well done and it looks very
polished.
Johns:
Dark Reign I for it's AI and StarCraft for its story and gameplay.

Question: How do you feel about Open Source software in general?

Ben:
I love Open Source software, but I think external help is really needed
to make it work. People have suggested a patronage model where nice rich
folks give $$$ to thank/help the poor starving Open Source programmers.
I really wish the user community would consider this more.
Johns:
If I can choose, I always take the Open Source software. Open
Source is good for customers.
A problem is that for many no good Open Source alternative
exists.

Question: Pros and cons for Open Source game development?

Ben:
Well, there are a number of things you need to think about. The most
important is your motivation for doing the project. Game projects are
pretty involved. You aren't going to get it done in one night (no matter
how much coffee you drink). So, you need some strong motivation to keep
you going.
One good motivation is to help you find a future job. Making a very good
quality Open Source game gives you tons of exposure. We have had a number
of publishers ask us about distributing EgoBoo and/or future games. Who
knows, maybe you will get a call from Carmack.


(authors note: John Carmack, co-founder of and main developer at Id Software.
According to many, John Carmack is a game development guru and has brought gaming to a new level many times.)

The other motivation is to do it for the "good of mankind." Maybe a game
wouldn't fall into this category, but I'm sure you could make it if you
rationalize hard enough.

One serious problem from what I've seen is getting artists to work on
game projects. These guys don't tend to be the Open Source types. If you
are a programmer cooking up a game project with no art skills, know when
and where to look for help. You might be able to get some art students
to do work as a project. Or even (gasp!) pay them. You might even
convince them that they should do it for job exposure.

Johns:
Pro:
Games can be supported and grow over a long time scale.
See StarCraft, which is a very good game, but the consumers
must wait for StarCraft II, for new features and enhancements.

Con:
No good artists are working for Open Source projects.

Question: Do you try to use open standards in your game development?

Ben:
Yeah, open standards are nice. We are using Ogg in our next big project
along with SDL/OpenGL.
Johns:
Yes, we use open file formats and codecs (PNG, OGG, FLAC, ZLIB).

Question: Are there any good closed standards that you want to see opened?

Ben:
Well, this isn't exactly an answer to your question, but it's related. I
think we could solve a lot of stuff by implementing some simple open
hardware standards. I suggested at a SIGGRAPH panel a while back that 3d
card vendors agree on a common subset of features and a unified way to
access this. I don't care if each vendor has their own way to do motion
blur (who cares about this anyway) but they really should agree on the
basics like rendering triangles etc... This would be a tremendous boost
to portability and stability.
Johns:
If I see it correct, there are currently no good open video codecs.
Smacker or MPEG4 would be fine, if we can use them free.

Question: How do the closed standards compare to the open ones when it comes to functionality, performance and stability?

Ben:
Well, the biggest problem here is inter-operability. We haven't been
clobbered by this one since we only really have to interact with
video/sound/network. However, I can see some applications where it
really is important (office clones for example).

I think the way to
address this is to get the ACM to call for standards similar to what the
IEEE does for hardware. In fact, support of these standards could be
rolled into any settlement in any market dominating monopoly legal case.

Johns:
I don't use any closed standards. I can only speak about how I see it.
Closed standards have normally better performance and lesser stability,
but who needs better performance with the current memory and CPU prices?

Question: How can a game be released under GPL (or any OSS type license) and still give the vendor profit?

Ben:
I think the publishers have nothing to worry about in terms of users
copying OSS games. The fact is that users copy traditional games as
well, if a user wants a copy, he or she is just going to make it without
regard to the license.

One real potential problem however, is another company could just grab
the CD and start selling copies at an undercut price. There are some
ways to get around this however.

  1. Develop OSS for consoles. Other companies could be prevented from
    undercutting you if the console maker imposed restrictions on other
    "authorized developers".
  2. Cut a deal with the big retail chains that they will only distribute
    your version of the software.
  3. Figure out how Red Hat does it.
Johns:
There are many ways:
  1. It is possible to sell the content (graphic/sounds/music/story) for
    money. An engine is only an expensive part of a complete game.
  2. If the content is also free, it is possible to sell CD/DVD's with
    regular updates and printed handbook.
  3. Merchandise.
  4. Charge for server service, multiplayer games need server services
    which are very expensive.
  5. Find an advertising sponsor.
  6. Magazines can use it as adjunct.

Question: Do you think theres is any reason why game developers should have an
open mind, open standards and sometimes even Open Source?
(mind you, Open Source does not mean free of charge)

Ben:
I used to play traditional text MUDs back in college. Its amazing how
addictive these games were (especially considering the technology behind
them). As best as I can tell, this was due to the fact that the users
actually participated in the game design. Now that is a really important
point. You have a huge number of users, think of all the depth that
they can add to the game.

I think that is one great opportunity for online Open Source games to
surpass the commercial ones. It will just take a really solid engine,
good/easy to use in-game tools, and enough data to make the game fun to
play from the start.

Johns:
Open and free standards means lesser costs. Open things can be better used
and adapted for [each player's] own needs.

Question: How do you feel about companies like Id Software that are very open
towards the gaming community and let others create mods, port their games, and enhance them?

Ben:
I think Id is doing as much as they can. They are really a progressive
company. After say 2 years what point is there in any game company
keeping the code locked up? By releasing it, game companies should be
realizing that they get lots of free hype and goodwill. It seems like
most of the big companies are too short-sighted to realize this.
One major debt that we all owe to Id is for their support of OpenGL. If
not for that, D3D could very well be the only game in town.
Johns:
It is a good thing for the customer. But they didn't use the advantage of
Open Source for new development.

Question: It is obvious that Linux is not the gamers' OS even though it has
tremendous capacity to be just that. What do you think Linux needs
to become the number one gaming OS?

Ben:
You are right. This is a very real problem. I see the root of this as
being a couple things.
  1. Microsoft is pushing non-portable standards at developers. From experience,
    complicated D3D -> OpenGL ports are not fun! We really do need to push
    for open standards here (see ACM tirade above).
  2. I read an analysis of the game market. It was claiming that windows
    had the lion share and Mac and Linux each owned about 3%. This analysis
    was claiming that the Mac market was more profitable (presumably because
    Linux users think they should have free - as in beer - software). Linux
    users need to get out of this philosophy. Think of the great classical
    composers that wouldn't have been able to do any work if not for their
    patrons. Open Source game developers should be listening to the guys that
    have scanned canceled checks of their donations on their web pages.
Johns:
Better (faster) and more stable 3D video driver support. And support for
a high resolution timer ~1ms (exporting jiffy to user space would be enough).
Some standard for insert CD/DVD and play. A good game should never need to
be installed.

Question: If you were to create your own game console, what OS would you use
for it and why? (you may invent your own)

Ben:
If I made a console, it would be simple enough that it didn't need a
traditional operating system.
Johns:
Linux, stable and costs nothing.


(authors note: Linux also utilizes a kernel design that makes it very adaptable to new hardware that
requires direct access.)

Question to Ben only: There's a gazillion MUDs out there, what separates EgoBoo from the lot?

Ben:
Well, first off, EgoBoo isn't really a MUD (at least not yet). It did
support networking in its early non-portable form (the code is still out
there). However, that was broken in the port. Any volunteers to fix it?
;) Even in that case, EgoBoo was geared to the LAN party kind of game.
Dealing with Internet scale lag would be tricky.

However, EgoBoo does have a lot of nice things:

  1. It is 3d with nice graphics
  2. It is Open Source
  3. It has originality
  4. Multiplayer on one machine

Question to Ben only: Which one is the ultimate MUD?

Ben:
Three kingdoms text mud of course! :) (I was "melf" by the way)

Question to Ben only: One of the most popular MUDs today is the very non-free
Ultima Online,
do you think any Open Source / free MUD could ever challenge it?

Ben:
I think this is a funny question. I've played Ultima Online in the past
(I was one of those guys who returned my copy for a refund). I think the
only thing we would have a hard time challenging is their marketing.
Making a game of this kind poses some interesting problems for
Open Source people. Consider how much it would cost for the bandwidth to
your server. How many Open Source developers are willing to foot that
bill? One idea that my bro and I have been vigorously kicking around has
been the idea of a peer-to-peer sort of thing. The game data would then
be mirrored over multiple user machines. This idea is nice because it
eliminates the need for the T3 to your house. We would still need a
meta server, but we can handle really small amounts of bandwidth like
that. Wonder if SourceForge.net would be willing to run a multi-meta-server
for OSS.

There is a game idea that my brother and I have been kicking around for
some time. We don't have time to implement it right now, but it would
make a great Open Source MUD. It would be simple enough that a good
programmer could actually finish it, and it would have the nice
qualities of a good MUD. The idea is basically for a side scrolling war
game (think scorched earth) that is extended to include a lot of
multiplayer elements. Players would pop into an online circular 2d world
with perhaps 16+ players at a time. It would be similar to a realtime
strategy with unit production and experience. Some interesting things
you could do is have units carry over from one match to another,
salvaging units, have unique/special units and perhaps later user
contributed units. One big advantage of this kind of game is that since
its 2d, the artwork required is not very heavy.
Anyone who wants to do this kind of game is welcome to use our stuff as
long as the end result is GPL'd. We have some concept art (that could
probably be just scanned for in-game art) at
http://www.cs.uga.edu/~bishop/tank.jpg If you are serious about
developing this further, contact me and I can give some more ideas and
maybe help.

(authors note: Ultima Online is classified as one of the most popular MUDs ever with around 225,000 subscribers)

Question to Johns only: Are you doing this for free? (no charge)

Johns:
Yes.

Question to Johns only: Do you feel that Blizzard
should have been more open so that you could port the original game to Linux?

Johns:
I have avoided using Blizzard and the game name (WarCraft) in any context to avoid
any lawsuits. If Blizzard would have asked me to port it to Linux, I would
have done it for free.


(authors note: I believe that most game developers could have their
games ported to Linux for free, no charge, by enthusiasts if only they used open standards)

Question to Johns only: I feel some game developers have failed tremendously when it comes to
making games platform independent. How will you make FreeCraft
platform independent?

Johns:
Knowing the problems in advance. There is the endian problem, the word align
problem and the word size problem. Than define an own mid level API, never
use the low level direct. In FreeCraft I use my own API, which can use
libSDL as one possible back end. Thanks to SDL we are very platform
independent.

Question to Johns only: Do you ever wonder why the original game doesn't use platform independent and open technology?

Johns:
You must see the timescale, the time it was developed, games was written in
assembler (I think) and uses many low level tricks, to get good speed.
The PC hardware was and is very game unfriendly.

Last question for both: What would you like to see for the gaming industry in the future?

Ben:
How about one decent naval game?

How about physically realistic modeling? Remember how much fun it was to
blow things up with the dwarf in myth? We need to get Id or the Unreal
guys to do rigid body dynamics in their next game. Forget motion blur,
we want rigid bodies! Heck, thats one other opportunity for OSS games to
get ahead of the mainstream. Can somebody implement an Open Source
physics library similar to Havok?
If you don't know what I'm talking about, here is an example:
http://www.havok.com/movies/fracture.avi.

Johns:
A million sold GPL games.

Something Johns wanted to add:

My goal was not to make a clone of the original game. I knew that I'm able
to write a RTS game, but I knew that I was not able to make the graphics
and that it is hard to find any artists.

I have spoken to some friends, who does commercial graphics and all told me,
that I wouldn't find anybody. So I have chosen a commercial package, which
formats was well documented ('clean-room' reverse engineering, here in
Germany even reverse engineering is not forbidden). Than I started writing,
but I always tried to have an engine, which allows to make any RTS game, but
this isn't proven.
And after 4 years of development, we still have not much and good free
graphics and sounds.

Join in!

While NetHack, and similar games, may work for the most dedicated MUD:ers, most of us want fancy graphics, music and sound effects
comparable to those we see/hear in movies.
There is a fundamental lack of artists to provide Open Source games with this.
If you are a talented artist who wants to get involved, please have look at SourceForge
and the games/entertainment section. There is
well over 4,000 projects waiting for your contribution.

Category:

  • Games
Click Here!