Current projects
Perentie
Perentie is a Lua-based graphical adventure game engine. The design is heavily inspired by LucasArts' SCUMM and GrimE adventure game engines.
Perentie is designed for the hardware constraints of Pentium-era MS-DOS. You can run it under DOS, Windows 3.1/Windows 95, natively on any platform that supports SDL3, or embedded in a webpage.
Maura & Ash
Maura & Ash is a point-and-click adventure for MS-DOS, set in deep space on a barely-spaceworthy cargo ship. It is the first game made with the Perentie engine. I drew the pixel art, composed the OPL3 music, and wrote a stupid number of unique responses for it.
Under a Killing Moon/The Pandora Directive - Mouselook Edition
Tex Murphy: Under a Killing Moon by Access Software is a fun game, with state of the art (for 1994!) 3D environments.
There is one small downside: the game was developed before first-person 3D controls were standardised, and features a truly unique control scheme. Instead of the mouse being used to adjust the player direction and head tilt, it's used to adjust forwards/backwards velocity and turning velocity. This is very awkward, and on DOSBox and Pentium systems the movement code runs too quickly.
While this may be an accurate walking simulation for a whiskey-soaked PI, it's a rough experience for players. All of the ingredients for a good control system are in the engine, so this mod patches the movement code and replaces the mad controls with the more common mouselook + WASD.
ScummVM
ScummVM is an engine which allows playing older narrative-based games on modern platforms, preserving them and making them more accessible to new audiences. For the past few years I have been part of the ScummVM team adding support for Macromedia Director, and the thousands of Windows/Macintosh titles that were written using it.
New fixes are merged in daily, so get yourself a ScummVM daily build if you want to check it out.
Mr. Crowbar
Mr. Crowbar is a Django-esque model framework that makes it super easy to work with proprietary binary formats while reverse engineering.
File formats are described with Python classes that allow ORM-like free modification of structures and properties, which in turn can be validated and converted back to the binary equivalent at any time.
The eventual goal is to provide a library for storing file format information that retains the readability of a text file, while providing instant read/write support for almost no cost.
The boneyard
ELM327-based car joystick
I wrote up how to turn (almost) any car with a CAN bus and a OBD-II port into a game controller, using some Python and a really cheap car diagnostic adapter.
Show Your Working
Show Your Working is a series of writeups for fixes to large-scale open source projects, with an emphasis on how to troubleshoot large bodies of code you've never seen before.
Unnamed Horrible Brand Twitter Simulator
Almost ready for release, just needs some final assets and polish.
Effects Pedals
I can't build enough of these! One day I'll explain further.