- For professional work (i.e. jobs), please see my résumé.
- Freelance programming – check out my work history.
Carbon Conquest (Unity3D / C#), a 3D RTS developed in Unity3D using C#. Developed in a team of seven as an independent study.
- Implemented fog of war
- Implemented minimap
- Developed event-based animation subsystem
- Integrated interface artwork from artists
- Researched networking techniques (but, due to time and scope, did not implement)
Wooga Fighter (ActionScript), a 2D fighting game written in ActionScript. The game was developed for an arcade machine being built at Wooga as a side project. The arcade machine and game were shown off at GDC Europe 2012 at Wooga’s booth.
- Developed game states and flow during fights, e.g. K.O. visuals, “Round one… fight!” introductions, etc.
- Implemented HUD during fights
- Implemented sound
- Helped build an arcade cabinet for the game
- Performed voice acting for the game’s announcer
Heretics (C++ / DirectX), a 2D platformer game created in C++ using DirectX 11. Created in a team of four as coursework.
- Designed and implemented basic engine architecture.
- Created a 2D sprite rendering system in Direct3D.
- Created a level and tile set system for easily-editable levels loaded at runtime.
- Implemented enemies, including a simple boss fight.
- Implemented platform collisions.
Peg Solitaire (MIPS R2000 Assembly), a text-based peg solitaire game programmed from scratch in MIPS R2000 Assembly Language. Validates user input, prints appropriate error messages, and detects when the game has ended. Created solo as elective coursework.
************************ ** Peg Puzzle ** ************************ 0 1 2 3 4 5 6 +---------+ 0 | X X X | 1 +-----+ X X X +-----+ 2 | X X X X X X X | 3 | X X X X X X | 4 | X X X X X X X | 5 +-----+ X X X +-----+ 6 | X X X | +---------+ Enter the location of the peg to move (RC, -1 to quit):
Past Work – I think it’s important to remember how I got where I am, what I’ve learned, and where I’ve been! Because of this, though some of my older projects show their age (and some of my inexperience at the time!), I still like to keep them around.
These projects are a great example of how I’ve developed as a programmer; however, they should not be considered my highest-quality work. They are separated from the main portfolio section for precisely this reason.