This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Games

Interview: Developing Open Source games

By on April 18, 2002 (8:00:00 AM)

Share    Print    Comments   

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

Share    Print    Comments   

Comments

on Interview: Developing Open Source games

Note: Comments are owned by the poster. We are not responsible for their content.

Interview: Developing Open Source games

Posted by: Anonymous [ip: 66.251.225.58] on December 04, 2007 02:49 PM
What is the level of difficulty of swapping/changing elements/objects in open source games that are free on the internet?

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya