I enjoy programming computers. Sometimes, I produce something that is potentially of utility to someone other than myself, and am inclined to make it generally available. Some of these are released under specific terms, but most are simply `as-is'. Unless otherwise specified, you can do what you will with them, but there are no warranties, explicit or implied. I don't even claim that they are fit for the particular purpose the descriptions might imply.
Gnomes & Squirrels
A strategy game featuring the epic struggle between Gnomes and Squirrels. These tiny combatants have fought for garden supremacy for centuries. Will you be able to break the stalemate with a decisive campaign? Find out soon.
Steam Tunnel Hack
An RPG I wrote for a Java class. (Ferazel, A.K.A. Aaron Gallagher, has made a number of enhancements to it.) It is a humorous twist on rogue-like hack-and-slash adventure games: instead of a courageous high-fantasy warrior, you take on the role of a college student venturing into some (very strange) steam tunnels to recover a stolen `artifact' from the vile clutches of the Mad Lab Tech Suzie. (Couldn't afford a Mad Scientist, you understand.) It has its own web page here, here, and there is the Official TunnelHack Page. Note that I am not really working on it anymore, because I don't particularly like Java and the quality of the code reflects the fact that I was rushing to get it done in time. Still, I'd like to hear what you think of it, and in truth it was generally considered pretty funny by my fellow students. The best way to get a feel for the game is probably to look at the list of annotated High Scores.
Note: to call TunnelHack a `difficult' game is something akin to calling the planet Venus `fairly warm'. Expect to go through many, many characters...
Note - Aaron Gallagher is now the de facto maintainer of Tunnel Hack. He has ported it to python. Eventually, he will probably undertake to promote it and make it readily available. In the mean time, you can visit the svn repository to get it, or just play it online via telnet if you want to help test it, here. There is a seperate high score list for the python port, it's dynamically updated when you play.
A successor to TunnelHack. Very early stage of development, it is to support multiple players online and have a graphical client. There is a page for TunnelHack II here.
Ostendo Resource Manager
A resource manager. When I decide it is finished, and when I get around to documenting it, I'll write more about it. It works with python and it's under the GPL, very easy to use and flexible. Latest version here, you want the files resource.py, error.py and the contents of the directory standard_interpreters. Ostendo has an associated GUI toolkit, which was named (without much imagination) the Ostendo Interface Kit. You can see that in action at the TunnelHack 2 page. Ostendo, now renamed Ostendi, has expanded in scope and now has its own website, here.
Star Wars Galactic Battlegrounds Utilities & Technical Data
A nice game, proving that even Microsoft can publish something good, assuming that the actual design and implementation are done by other people. At this page you can find some technical information about and utilities for SWGB and the file formats it uses. This is focused towards the Mac version, but it should be generally applicable and some of the data may be relevant to other Age of Empires games, e.g. Age of Kings.
Resource Forks & Mac Formats
For various reasons, including a now abandoned project (Accursed PICT format, may your extinction be hastened!), I've made tools to deal with the resource forks of Macintosh files and various representations of them on UNIX machines. There is a collection of older utilities that may not be endian-safe, and a newer replacement that should be portable to any sane 'nix system. It is actually quite flexible and can deal with AppleDouble, AppleSingle, and MacBinary files directly in addition to raw dumps of resource forks. More details here, along with some code related to the Mac `snd ' format and RLE8/RLED resources. Support for BinHex and BurgerLib formats was planned but because I abandoned the larger project of which this system was a part, this is not likely to be added. Further, the BurgerLib `.rez' format is messed up and poorly documented to begin with.
SMIG Menu Toolkit
Intended for adding simple menus to a SDL C++ game. I wrote this a long time ago, but it works well enough and can be made to look pretty without needing sdl_ttf. Simple Menu Toolkit can be obtained directly at the aforelinked location. It is probably best to look at the example main.cc as the included text documentation is somewhat inaccurate.
Freelite Interface Toolkit
More scrap from the fallout of the failure of the same project that brought you the Resource Fork stuff above. Actually, calling it scrap isn't very nice, and it actually renders fairly nice looking and functional game GUIs using nothing but SDL and SDL_image. It uses simple images for both fonts and interface themes, so they are very easy to create; it auto-magically does proportional spacing, line wrapping, and other such `fancy' things. There are some caveats, though, in terms of functionality. You can find out more about it on the FIT page.
UVTOS (Upgraded Variable Text Output Script)
A while back I designed a scripting language called VTOS that makes it easy to do simple (and somewhat less simple) random permutations on text using templates and word categories, something like the party game `mad libs'. You can play with it online here, if you're interested in this technology feel free to discuss it with me.
Apparently just what it sounds like - seems to be a simple space strategy game. You can get it directly here. Based on SDL. It was on my website for some reason.
A game I wrote with pygame, the SDL binding for Python that is so much more.
This is actually an older version; if you like
it let me know and I'll post a newer version that has more weapons and such.
I've been meaning to release it under the GPL but haven't gotten around to it
just yet. The game is actually fairly complex - I made it to teach myself
Pygame and for my friends and I to play. You need to invoke it at the
command line with:
./circle.py LevelName Player1Name Player2Name Player3Name Player4Name 0 0 0 0
The levels are in the Data directory if you want to find the valid level names.