DIY Tablet Computer

I am designing a homebrew tablet computer that, when finished, will run Android as well as any touch-screen friendly Linux distribution.  I am currently experimenting with a Beagleboard-xM motherboard and am researching LCD/touchscreen solutions that are compatible with the Beagleboard.


Perthion is an 2D game engine I have been developing in my spare time over the last few years. Developed in Python, Perthion enables rapid prototyping of various game concepts that interest me.  Perthion runs on Microsoft Windows, Mac OS X, and standard distributions of Linux, as well as on iOS devices.

Some game prototypes I’ve worked on using Perthion:

  • Project Dig – The first game I designed using Perthion.  The concept was a planetary space driller ship that was launched from an orbiting base.  The prototype failed to provide a fun game experience, so the project was discontinued.
  • Project Mystic – An experimental Action RPG project, styled after popular console Action RPGs from the late 80s and early 90s.
  • Project Agoh – A prototype for a turn-based space sim for iOS (and later Android) devices.

Splat Graphics Library

SplatGL is the renderer for Perthion, separated into a C library. It provides the basic rendering needs for a 2D tile based engine. It is now an open source project, more information can be found here.


DuSTED is a DS homebrew application I wrote. It is a tile editor for GBA and DS hardware-based graphics tiles that actually runs on the DS. It works, but its in a very rough state and I haven’t worked on it in awhile, but I decided to release it in the hope that someone might find it interesting and/or useful. It is licensed under the terms of the GPLv3.

devkitARM is required to build it, and homebrew capable DS hardware (or an emulator) is required to run the resulting executable. I have not tried it with any DS emulators.

The source can be downloaded here.  This project hasn’t been updated since Dec 26, 2007, and will probably require some work to get up and running with current releases of devkitARM.

Crystal Space

Crystal Space was the first 3D game engine project I worked on.  I cut my teeth on a number of game related technologies working on this project, and it is largely because of my work on this project and the connections I built with fellow developers that I am in the game industry today.  To quote an older copy of the Crystal Space manual on my work:

Michael helped fix the Glide driver and contributed a number of other small fixes. He is also the author of the (long defunct) Crystal Clear project which was included in Crystal Space. Crystal Clear served as a game layer on top of Crystal Space. Michael also wrote the default version of DrawPolygonMesh(). He helped a bit with the Windows port and with the console plugin. He wrote the early CVS guideline in the manual.

Crystal Clear

Crystal Clear was my first effort to build a generic game framework on top of the Crystal Space engine.  Unfortunately it did not get very far, after I started my professional career there wasn’t sufficient interest in completing the framework and it was later superceded by CEL.  Again, to quote the Crystal Space docs:

Michael wrote detailed documentation about the Crystal Clear project, of which he is the principal developer, and which is layered atop Crystal Space. Crystal Clear has now been removed from the Crystal Space project however due to lack of maintenance and interest.