Here are some of the more interesting games and tools I’ve made in my spare time.
This currently unnamed game is a retro-style platformer. It’s written using C# and XNA, so it runs on both PC and Xbox 360. It is essentially an homage to the kind of games I played on my Super Nintendo while growing up. There are more videos in my Platformer playlist on YouTube. The level editor, which is somewhat fancy, is detailed below.
- Multi-layer tile editing
- Entity placement and property editing
- Unlimited undo/redo
- Automatic reloading of changed tile set images and entity definition files
Like the game, it is written in C#.
This is an emulator for the Nintendo Entertainment System. I got basic emulation up and running within a week after final exams ended one semester. It includes emulation of the 6502-derived CPU, the PPU (the NES’s graphics chip), and several of the most common cartridge memory mapper chips. It has a debugger as well as hardware-accelerated video output for efficient scaling. Xbox 360 gamepads are supported as input devices. Written in C#. The source is on Github.
This is a tool that compacts multiple source images into a small set of atlases. It also trims transparent pixels from the edges of the source sprite images, saving the necessary offset information to render the image properly later. Compacting can result in significant savings in VRAM, as well as improving render speeds by enabling batching. This tool is also written in C#, and includes a command line interface that can be integrated into build processes. The source is on Github. Test images courtesy of Mike Stedman.
Fallen Elements II
This is a game I worked on with Timothy Barnes, originally for the purpose of entering a contest. The story involves San Diego being invaded by genetically engineered Soviet penguins (don’t ask.) I did programming, and Tim did art; he modeled out a huge chunk of downtown San Diego. The game quickly got beyond the scope where we could finish it for the contest, so we ended up not entering but worked on it for many months afterwards. It uses OGRE for rendering, Newton for physics, Python for scripting, and OpenAL for audio. There is also a level exporter for 3ds Max. The game is written in C++ and Python. I may put up a video if I dig out the source again.
SHilScript is a simple, C-like embedded scripting language that I wrote while I was in high school. Because it is very lightweight and easy to integrate, a few friends of mine used it in their own game projects. It is written in C++. I consider it rather dated, and I would make several design and implementation choices differently today. Its main web site is located here. The source is also on Github. A more advanced, object-oriented version has been under on-and-off development recently.