Can you imagine trying to become a writer without ever reading any books? It seems crazy. So why is it that so many people try to become programmers without ever reading any code?
There’s a lot to be learned from other people’s code, even if they aren’t professional programmers. I’ve even picked up ideas from looking over assignments turned in by my students. It’s amazing how many different ways there are to solve any given problem.
With this in mind, I thought it might be helpful to list a few open source games that you can look at for inspiration. Before we get started, keep in mind that even though these games are open source, they are not in the public domain.
That means you can’t just copy and paste code from any of these projects unless you’re willing to comply with their license. In the case of the GPL, that means you’ll need to release the code for program as well.
Probably the most popular open source games are the Quake series from id Software. You can download the source to Quake 1, 2, and 3 from the id Software FTP server. Other first person shooters include Cube and it’s “next-gen” offspring Sauerbraten.
If you’d rather fly than run, be sure to download the FlightGear flight simulator. Also, No Gravity is an open source 3D arcade space shooter.
Maybe you’re more interested in making a 2D game. For platform games, check out the Super Mario Brothers clone Secret Maryo Chronicles. If you prefer strategy games, look at The Battle for Wesnoth and FreeCiv.
If none of the above games interest you, there are a few more places you can look. The Open Directory Project maintains a list of open source games. There is also a Sourceforge project called OSSwin that maintains a list of open source games for Windows.
This could be considered a continuation of yesterday’s post…
Jenova Chen is a student in Interactive Media at the University of Southern California School of Cinema and Television. He has designed two of the more interesting games I’ve played lately.
His first game to attract attention was called Cloud. In it, you play a young boy who flies around gathering up clouds and redistributing them in the sky. It’s really a sort of zen-like experience.
His latest work is called Flow. You start off as a simple microorganism swimming in a blue sea. The object of the game is to eat and evolve, while trying to avoid being eaten.
Both of these games seem simple at first glance, and that’s what makes them so impressive. The controls are intuitive and the concepts are easily understood.
I’ll be keeping an eye on Jenova’s blog. It will be interesting to see what he does after graduation.
Looking for a way to take your game programming skills to the next level? How about creating a complete game in less than a week?
That’s just what these Carnegie Mellon grad students discuss in their Gamasutra article: How to Prototype a Game in Under 7 Days. They forced themselves to live by these rules for a semester:
- Each game must be made in less than seven days
- Each game must be made by exactly one person
- Each game must be based around a common theme
The article lays out all of their tips and tricks for getting a game made in under a week. This is a great way to test new gameplay ideas. If it’s not fun after a week, you can move on to something else next week.
They don’t mention it specifically, but I would imagine having a good framework for developing games is a prerequisite. Most of their games appear to use OpenGL (GLUT) for video and BASS for audio, but SDL would probably work just as well if not better.
Once you finish reading the article, you can head over to the Experimental Gameplay Project, download a few of the games, and then sign up to participate.
I recommend Attack of the Killer Swarm, Tower of Goo Unlimited, and On a Rainy Day. These should give you a nice overview of just what is possible with only a few days development time.
Let me know if you create a game for the project. I’d love to feature it here.
Published by Tony at May 19, 2006
in SDL.
A third SDL tutorial has been added to the tutorials page:
I received a few requests to add animation to the previous tutorial, so here it is.
Also, the downloads for the other two SDL tutorials have been updated with project files for Visual C++ 2005.
Published by Tony at May 18, 2006
in SDL.
The latest update to SDL was released yesterday.
According to the release notes, this is a major release. They also highlight several OpenGL chnages and updates as well as major changes to the build system.
The most significant change for me is the ability to build Universal Binary applications for Mac OS X. This is possible using Xcode or traditional makefiles. This is great news for all Mac game developers.
You can always get the latest version of SDL from their download page.
Gamer Within has a two page Q&A with John Carmack. It covers his new MegaTexture technology used in Enemy Territory: Quake Wars.
The idea behind MegaTexture is to use one giant texture to cover the entire terrain. The example given in the article is 32,000 by 32,000 pixels. Current video cards obviously can’t directly use this texture to render the terrain, but this does allow game artists to create very detailed terrains.
The article doesn’t provide any technical coverage of the technique, but it is still an interesting read. Here’s a quote that caught my attention concerning terrain rendering:
Geometry level of detail on terrain…there have been thousands of papers written about it, and I honestly don’t think it’s all that important. The way the hardware works, you’re so much better off setting down a static mesh that’s all in vertex and index buffers, and just letting the hardware plow through it…
I remember spending a lot of time a few years ago trying to figure out things like ROAM for rendering terrain. Even back then it was usually faster to just dump all of the triangles on the video card and let it sort them out.
The screen shots in the article look great. I can’t wait to try this out in person.
Published by Tony at May 13, 2006
in Lua.
All three Lua tutorials have now been updated to cover version 5.1 of Lua. I’ve also started working on a fourth Lua tutorial that’s more of a real world example of using scripts within a game. Hopefully I’ll have it finished next week.
The downloads have been updated to include project files for Visual C++ 2005. I can’t think of any good reason to support Visual C++ 6 anymore. I left the older downloads at the bottom of each tutorial in case anyone is still interested in Lua 4.0 or 5.0.
Published by Tony at May 9, 2006
in C++.
Last month Microsoft announced that the Express Editions of Visual Studio 2005 are now free forever. This is great news for anyone looking for a low-cost way to get into game development on the Windows platform. Linux and Mac OS X have both provided free developer tools, it’s about time Microsoft started catching up.
Although targeted mainly at student and hobbyist programmers, the Express Editions can also be used for commercial development. The Express Editions also include the optimizing compiler and can be used for both .Net and traditional Windows development. The only things missing from Visual C++ 2005 Express are MFC and ATL. This comes from Microsoft’s Express Edition FAQ.
If this sounds good to you, head over to the Visual C++ 2005 Express Edition Download page and get started. You’ll also need to download the Platform SDK and make a few configuration changes, but the instructions on that page are pretty easy to follow.
As a result of this, I will be updating all of my tutorials to cover Visual C++ 2005 on Windows as well as the GNU tools on Windows, Linux, and Mac OS X. I’ll also update the Lua tutorials to cover version 5.1 while I’m at it.
One of my favorite new gaming sites has got to be 2old2play - the Older Gamers Paradise. It’s written specifically for the “older” gamer, which by their definition is 25 years or older.
They have a pretty active forum going, but you to be (or at least claim to be) 25 years old to join. They also have clans set up for lots of different games, a podcast, and a monthly magazine. The second issue of their PDF magazine was recently released.
The quality of this magazine is every bit as good as what you might find in a store. There are a couple articles that make this month’s issue worth downloading for me - an interview with indy game developers Stardock Entertainment and a history of the Legend of Zelda.
The Legend of Zelda is probably the first game that I was really addicted to. Before Zelda, I played lots of games off and on, but once I discovered Zelda, I had to beat it. I played day and night. Then once I beat the game and started over, I realized that some places in the world had changed and I was hooked all over again.
So if you’re old enough to remember the “good old days”, check out 2old2play. Most gaming websites are filled with boys who have never kissed a girl. Here many of the members are married with children.
Published by Tony at May 5, 2006
in SDL.
Two SDL tutorials have been added to the site:
These should be enough to get you started with SDL. More advanced tutorials are coming soon.