Game Programming With Ruby

After over a year of inactivity I’m back with a new tutorial. Hopefully it won’t take me so long to write the next one. Only time will tell.

My latest tutorial is called Getting Started With Rubygame. It’s a very brief introduction to the Rubygame library. Rubygame is a wrapper for SDL.

Check out the tutorial and let me know what you think.

Posted in Ruby, SDL | 4 Comments

Will Wright Profiled

Ever wondered what it would be like to be one of the most famous game designers in the world?

The New Yorker has a fascinating profile of Will Wright — the man behind Sim City, The Sims, and the upcoming Spore.

The article starts of with a brief history of game development and then moves into the life and career of Will Wright.

Reading this makes me even more anxious to try out Spore. I can’t wait.

Posted in General | Comments Off

Platform Games

I’ve always been a sucker for platform games. I still remember playing Mario Bros for hours and hours. The concepts were so simple – run through the level, jump on the bad guys, don’t fall in the holes.

Apparently I’m not alone in my love for platform games. Gamasutra has just published a 32 page feature covering the top-selling platform games of today and the past – A Detailed Cross-Examination of Yesterday and Today’s Best-Selling Platform Games.

If you’re interested in writing your own platform game, or just learning what makes the best platform games so much fun, I encourage you to spend some time reading this article.

Posted in General | 1 Comment

Texas Indie Game Con

Finally, a game programming conference that I might be able to attend! I’ve always wanted to go to the Game Developers Conference in San Francisco, but it’s pretty expense and I would have to fly there.

This year, there’s going to be a Texas Independent Game Conference, July 22-23 in Austin, TX. I can easily drive to Austin for a weekend. Early bird registration is only $90 and they offer a student / academic rate of only $75.

Details are slowly being added the website about what is actually going to happen. So far Warren Spector and Greg Costikyan are going to give keynote speeches. Roundtable discussions have been added to the program as well as a Game Demo Party on July 22nd.

I’ve attended a few other geek conventions (Bar Camp and SXSW) and I have to say that they are worth the money. Reading about something online or in a book is totally different than actually hearing someone talk and being able to interact with them in real time.

So if you’re going to be anywhere near Austin on July 22, check out the Texas Independent Game Conference. It should be a lot of fun. And if you can’t attend, check back here for my full report.

Posted in Community | Comments Off

Game Programming Contests has announced their fifth annual Four Elements Game Programming Contest. If you’re not familiar with this contest, every year they come up with four different “elements” that you have to use in a game.

This year the elements are Emotion, Emblem, Economics, and Europe. Entries must use all four of these elements. Entries are due November 30, 2006. So far there aren’t a lot of prizes, but hopefully more will be added later.

There are very few limitations on the entries in this contest. Basically, they just have to work on a Windows PC. They can be written in any language — C++, Java, Flash, etc. and can use any framework you like — DirectX, OpenGL, SDL, etc.

If you’re interested in game programming contests, you might also want to look at the Ludum Dare 48H Contest and the 72 Hour GDC. These contests focus more on making a game in a short amount of time — 2 or 3 days.

Let me know if you enter any of these contests. I’d love to feature your entry here.

Posted in General | Comments Off


Are you a beginning Java programmer looking to improve your skills? Or maybe you’re an experienced programmer looking for an easy way to test some new ideas in artificial intelligence? Robocode could be just what you’re looking for.

Robocode is an educational game originally developed by IBM to teach Java programming. Players in Robocode develop autonomous robot tanks and pit them against each other. Tanks drive around the arena, scan for opponents, and fire at other tanks.

If you’re interested, first make sure you have Java installed. You can get it from Then go to the Robocode site linked above and download the Jar file.

On Windows or Mac OS X you can double-click the Jar file to install it. On Linux I had more luck installing it from the command line with this command:

java -jar robocode-setup-1.0.7.jar

Here’s a screenshot of the game running:


You can see my robot, Killer, in red fighting against one of the sample robots named MyFirstRobot.

What started out as a pretty simple game to teach Java programming has now grown into a challenging world-wide competition. There are some amazing artificial intelligence programmers working on these robots.

A great place to start learning more about Robocode is the RoboWiki. I recommend the Robocode Beginner’s FAQ. The also have a big list of open source robots that you can test against your robot and study for inspiration.

Robocode is a great way to expand your Java programming skills and learn about artificial intelligence programming. It might also be the perfect environment to test the enemy AI for your next game.

Posted in Java | Comments Off

Open Source Games

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.

Posted in General | 1 Comment

More Experimental Gameplay

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.

Posted in General | Comments Off

Experimental Gameplay

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:

  1. Each game must be made in less than seven days
  2. Each game must be made by exactly one person
  3. 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.

Posted in General | Comments Off

Sprite Animation Tutorial

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.

Posted in SDL | 1 Comment