I am a veteran game programmer with nearly 20 years of industry experience, and a passion to make great games and have fun in the process.

  • High proficiency in C/C++, C#, Lua, and Python.
  • Familiarity with several other languages, including PHP, Perl, and Ruby.
  • Experience directing and mentoring junior programmers.
  • Adept at developing for a client-server game architecture.
  • Experience determining technical requirements and managing task timelines.
  • Development experience with PC, console, and mobile games.
  • Architected highly scalable support services for online gaming infrastructure.
  • Experience working with several game engine codebases.
Experience Roundhouse Studios
Madison, WI
November 2019 to Present
Senior Programmer

  • Senior Programmer on new development team with other former Human Head developers.

Human Head Studios, Inc.
Madison, WI
October 2018 to November 2019
Senior Programmer

  • Senior Programmer on the Survived By development team.
  • Implemented client, server, and backend functionality.
  • Development support for certain Steam functions.
  • Managed structural changes to improve backend and database performance.

Reset Studios
Kalamazoo, MI
March 2016 to Present
Senior Programmer, Lead Programmer

  • Lead Programmer on Steven Universe: Tap Together for iOS and Android.
  • Developed C++ microservices to provide client messaging, matchmaking, and server co-ordination, that interfaced with Redis and our web-based API.
  • Responsible for release cycle coordination, directly involved with deployments to test and production environments.
  • Developed client-server multiplayer support in Unity.
  • Developed AI for multiplayer bots.
  • Designed and implemented localization system.
  • Implemented SQLite for sharing game data between clients and web API.
  • Scripted and managed server deployments with Chef.
  • Prototyped augmented reality project in Unity.

Frostburn Studios
Kalamazoo, MI
January 2015 to February 2016
Senior Programmer

  • Member of the Heroes of Newerth development team.
  • Implemented Linux server support and guided production deployment.
  • Maintain the Linux client and assist with the Mac client.
  • Added networking diagnostics to servers.
  • Improved build system architecture.

S2 Games
Kalamazoo, MI
April 2012 to November 2014
Senior Game Programmer

  • Member of the Strife development team.
  • Wrote game code within a networked client-server architecture.
  • Made improvements to entity pathing and obstacle avoidance systems.
  • Developed the AI framework used for bot matches, with a strong emphasis on teamwork coordination.
  • Integrated Nvidia technologies, including PhysX, PhysX Particles, and TXAA advanced antialiasing.
  • Contributed CPU and memory optimizations for improved performance.

Human Head Studios, Inc.
Madison, WI
November 2004 to March 2012
Programmer, Lead Programmer

  • Involved with four projects during this time, including Prey and Prey 2.
  • Lead Programmer on two of those projects, including Prey 2.
  • Responsibilities include managing a team of gameplay programmers.
  • Programmed AI, animation control system, save/load, Xbox 360 support, and file package system code.
  • Designed and implemented server infrastructure, including e-mail, VPN, and network storage systems.
  • Supervised development of new player movement, AI navigation, weapon, and gadget systems for Prey 2.
  • Worked with small cross-discipline team to flesh out and implement behaviors for character design in Prey.
  • Wrote Prey installer using InstallShield and managed packaged builds of Prey.
  • Handled Prey patches, including scheduling releases with multiple parties.

Fez Games
Kirkland, WA
June 2003 to November 2004

  • Worked on a new game engine for an unreleased title for PC, Xbox, and Playstation 2.
  • Implemented a 3D sound system for our internal engine using the FMOD library.
  • Developed preliminary AI framework and prototype game AI for our internal engine.
  • Deployed and maintained a Linux server to host a Subversion repository and a GForge project tracker.

Majesco Sales, Inc.
Edison, NJ
May 2000 to March 2003

  • Part of internal development team that ported Rainbow Six: Rogue Spear to the Sega Dreamcast.
  • Also ported Soldier of Fortune and Star Trek Voyager: Elite Force to the Sony Playstation2.
  • Localized the Playstation2 versions of Soldier of Fortune and Star Trek Voyager: Elite Force for the European market.
  • Maintained Linux servers to handle mail, secure web servers, and firewall for Internet access.
Education Indiana University
Bloomington, IN
Graduated May 2000
B.A. in Computer Science (Major GPA: 3.71/4.00)
Overall GPA: 3.26/4.00
Personal Projects
DIY Tablet prototype

I built a do-it-yourself tablet prototype, using a Beagleboard-xM motherboard with a touchscreen and battery designed for the Beagleboard. It is capable of running Android, Yocto/OpenEmbedded, and Debian-based Linux ARM distributions. It also has wireless networking and bluetooth support via USB adapters.


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.

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, publicly available at Github.

Crystal Space

Crystal Space is an Open Source 3D engine project which I contributed to on a regular basis while attending Indiana University. Many of my basic skills, proficiency with C++, ability to learn unfamiliar codebases quickly, and ability to work well on a programming team all come from my experience working with Crystal Space.