Michael Hamilton's Portfolio

I am a software developer interested in making high-quality video games. I've worked on Need for Speed: Most Wanted and Dragon Age 2. More recently I've been doing mobile development for iPhone and Android devices releasing titles including Tiny Pets and Tiny Monsters, and assisting with feature development on Tiny Village.

I am passionate about my craft and am always learning. This page presents a sampling of my solo projects including video and code samples, some of them are getting a bit dated as I haven't had much time to update this portfolio properly since starting my career, I need to update some of the packages such as my 2d engine since I've done work to port it to mobile platforms in the past year, if you don't mind getting a rough package I am happy to share the latest code.

My résumé is available here:


Send me an e-mail (mike@m2tm.net) if you think I would make a good addition to your team!

Sky Fire (Missile Commander)

    This project relies on the following technology:
  • C++
  • SDL, SDL_Mixer
  • OpenGL
    Main project features involving myself:
  • I was the sole developer and artist for this project
  • Custom 2D graphics engine
  • Custom GUI (used in a few other projects as well)
  • Basic audio wrapper for handling sounds
  • Sounds contributed by fans of the game
Sky Fire features missile commander type gameplay. Level progression occurs in a seamless fashion. Accuracy and max combo stats are kept per game session. The game cycles from day to night. There are three types of missiles which each have different behaviors.

Sky Fire was originally developed some time ago before I came back to the project and applied liberal polish. At that time I had posted the game on a forum and it was picked up by a few Czech free game sites where it recieved favorable reviews. Two of the reviews can be found here: freehry.cz and here: freegame.cz. I do not speak Czech or know exactly what the reviews say, but I found an online translator which seems to give a rough idea: Czech to English Translator.

Star Collector

    This project relies on the following technology:
  • C++
  • SDL, SDL_Net (+Net2), SDL_Mixer
  • OpenGL
    Main project features involving myself:
  • I was the sole developer and artist for this project
  • Basic custom 3D graphics system
  • Basic network classes based on (SDL)Net2.
  • Basic audio wrapper for handling sounds
  • Sounds borrowed from Sky Fire
Star Collector is a single or multiplayer collection game. When playing single player the goal is to collect all of the stars as quickly as possible. When playing with a friend the goal is to control as many stars on the board as possible. While you control more stars than your opponent her counter ticks down and vice-versa. When either counter reaches zero the other player is the winner!

This game was made for a 400 level university course. The requirements did not include multiplayer. The game comes with a config file which allows you to change the map dimensions and number of stars required. If you download this project, please consult the readme.txt file for information on the controls (and gameplay in general) and how to set up a network game. The controls are a bit tough to get used to with the fixed camera (which was part of the assignment requirement.) Once you have learned how to control the ship properly it is pretty natural.

2D Library (Code Example)

    This project relies on the following technology:
  • C++
  • SDL, SDL_Mixer
  • OpenGL
    Main project features involving myself:
  • Window setup and extension loading
  • Scene creation and management
  • Texture atlas and basic animation manager
  • Several basic utilities
  • Images for this example were drawn by myself
This is meant to be a basic demo project primarily supplied for inspection of the code. It is not a game, simply a barebones example.

Development of this set of tools has been evolutionary. Recently I began consolidating parts from previous game projects and developing a cohesive set of tools from that. The result is the following library which is still in development, but which serves as a good example of my coding style.

Muted Template (Language)

    This project relies on the following technology:
  • PHP
    Main project features involving myself:
  • Language design and implementation
  • Plug-in parsing engine which supports new modules (examples of modules: if, for, set...)
  • Designed for use in a CMS I am currently developing
  • UTF-8 compatable
Muted Template is an interpreted language used for composing websites within PHP. It acts as a compositional framework which supports basic language features to this end.

Though PHP itself is a kind of template language "Muted Template" offers introspection when setting up content for a CMS (detecting images used in a template etc) and also offers restriction in cases where you may not trust the user with the full range of PHP commands available (such as in a mailing list system). The ability to create custom statements with the plug-in system also makes this an ideal tool for implementing a simple domain specific language. There are many other potential uses for "Muted Template" and it can be parsed easily within another PHP framework.