Speak and Shout

Sunday, January 14, 2007

Asteroid Smash released!

Asteroid Smash is a version of the classic game Asteroids in Pygame. You can find it here. It's packaged in an installer for Windows. All the source code is included in a subdirectory.

Let me just say py2exe is incredibly underdocumented. But here are helpful links if you see "Zlib not available" or "Runtime error: default font not found" when packaging your own game.

Labels: , , ,

Monday, January 08, 2007

Asteroids, part 5

Clearly I missed my Christmas deadline. I shot past my revised estimate too, which was New Year's Day. Right now I'm shooting for the end of the week, if possible.

My list of priorities has changed. The game is essentially finished, without any additional features like power-ups or additional enemies. I completed the high-score screens and fixed a bunch of little bugs that kept showing up at odd times during the game. I also added scaling, so that the game would look correct at almost any (reasonable) resolution.

Currently I'm working on the game configuration dialog. This will allow the user to select a screen resolution and customize their key controls. I'm doing it in wxPython using the fantastic VisualWx GUI builder (and once again wishing it was combined with Komodo or Wing). I was going to try it in Tkinter until I remembered that it has no combo box controls without the Pmw add-on, and wxPython is probably simpler to deploy anyway.

My final task is to write an installer for the game. I've heard lots of good things about the freeware Inno Setup program and its related utilities, so I'm going to try that. My game setup is certainly not complicated, so it will mostly involve just deploying Python, and the wxPython and pygame libraries (and perhaps psyco, I haven't decided).

There's also code cleanup and comments to do still, but I may save that for later. I'm trying not to push the release back any further, plus it's not that important until I write my accompanying "game development" article.

Labels: , , , , , ,

Tuesday, November 28, 2006

Asteroids, part 4

I've been creating increasingly complicated code to handle timed game events and multiple event loops. This has prompted me to look at Pygame Extended, which has a few nice classes (Director, Reactor, Ticker, Scene) to handle these sorts of things. Unfortunately, the author has tied them in to the OpenGL portions of the library as well, making it hard to reuse. I think I'm going to extract the portions I need (or at least the ideas) for my own game.

Labels: , , ,