Photo of me

Welcome to my blog! I’ve been working in game dev, and game adjacent fields since the early 2000’s.

Open Source Origins

Chipmunk2D example

My first big success was Chipmunk2D, an open source 2D physics library. The timing for it was just perfect to get used by a ton of early mobile games. As a result, I got involved in a lot of other open source game projects such as Cocos2D, and worked on countless games for smaller companies as a contractor. Around this time I also started a company called Howling Moon Software with a college buddy of mine.

I also have some other game libraries that people might find useful.

  • Debugger.lua is an embedable Lua debugger. It’s pretty simple to integrate as it has no dependencies, and can be deployed as a single .lua or .c file.

  • Tina is a little coroutine library. It implements cross-platform, stackful coroutines (fibers) in assembly, and wraps them up in a little 200 sloc header file to make it easy to deploy. It should run on basically all of the contemporary platforms. It also includes a simple job system built on top of it.

Game Adjacent Work

Our work on game technology also led to a lot of work in “game adjacent” fields. This has included real-time mapping and visualization software that ran on drones (in flight!), music education software that did real-time audio analysis to give the student feedback, and path planning software for horizontal directional drilling machines. It’s quite satisfying to take game tech and use it for real life problems. :)

drone map example

Retro Dev

In the last few years, I’ve also gotten into retro-dev, and love it! I started with the NES, and have finished a few projects for that. Several of them for the Global Game Jam. My favorite is still Critical Match which you can play on in your web browser. :D I’ve also started several projects for GameBoy, GameBoy Advance, and Sega Genesis that I’ve never finished. >_>

NES cartridge