# TODO: add contact info ##A brief bio I have been a programmer within the video game industry for thirteen years. I've contributed to projects published by Sierra, Discreet, GT Interactive, Microsoft, Rockstar and others. I have a broad knowledge of many areas of game programming including rendering, game logic, scripting, computational geometry, AI and art pipelines. I greatly enjoy working within the industry and have little desire to work outside of it. ## Relevant Skills Over thirty years experience programming. The last seventeen professionally.
Sixteen years experience with C++.
Seventeen years 3D programming experience.
Fifteen years experience with OpenGL.
Familiar with cross-platform programming issues.
Experience programming Windows, XBox, PlayStation2, XBox 360, Nintendo DS, Wii, Playstation3, MacOS X and iOS. Plugin and exporter writing experience with Lightwave3D, 3D Studio Max and Maya.
AI experience including path-finding and scripting.
Extensive gameplay programming experience.
Leadership, scheduling and interviewing skills.
Learned to program to make games. Not just for any old job. # Work Experience ## November 2010 - Present Working as an independent contractor. Programmed C#/Javascript within the Unity engine. Helped final an iOS game programming in Objective-C and C++ for Z2. ## April 2007 - October 2010 Employed by Big Sandwich Games.
Did rendering, animation, level creation pipeline and various other things for a DS game. Developed the company's core engine technology (Windows / MacOS X / Wii / iPhone / PS3) as head engine architect. Shipped HOARD for the PS3. ## April 2005 - March 2007 Worked as an independent contractor. Work included such projects a C# drawing application using WPF/Avalon. Consultancy on a game port to MacOS X. Ported a middleware game engine from Windows/OpenGL to XBox 360/DirectX. Wrote a PowerPC version of a native function binding interface for a scripting language. ## October 2003 - March 2005 Employed by Rockstar Vancouver.
Worked on the PlayStation2 title Bully. Worked on optimizing collision system. Extending and optimized lua based scripting system. Implemented gameplay specific features working with design team. ## August 2002 - August 2003 Contracted at a small Vancouver game startup. Worked on both PC and Xbox, doing rendering, scripting and level pipelines. Included writing a collision system from scratch including export pipeline. Wrote plugins for creating triggers, points and other game related objects in Maya. Integrated lua as the scripting system along with bindings to the level objects from Maya. ## July 1999 - July 2002 Employed by Relic Entertainment.

Worked as a senior programmer on the Homeworld2 development team. Worked extensively with scripting, collision detection and response, pathfinding, gameplay and rendering code. Was involved in decision-making, scheduling, interviewing and hiring.

Worked on an unannounced Xbox title and wrote the level creation pipeline within 3D Studio Max. Implemented the basic character movement, collision detection and related code for a platformer-style game.

Worked on the recently released Impossible Creatures during its earlier development writing AI and gameplay code. Helped design and implement features in collaboration with the design team. ## January 1998 - July 1999 Consultancy work for a number of mostly Vancouver-based companies. I performed many different tasks during this period, including: A vertex-weighted skeletal animation plugin for Lightwave3D; designed a cross-platform (PC / Mac) 2D engine including file I/O, rendering, event system and user interface. Implemented the majority of the PC version; Wrote a Automation-based (ActiveX / COM) animation database integrated with Photoshop; Wrote an OpenGL based cartoon-style renderer (the first cartoon-style renderer that made use of 3D rasterization hardware as far as I know) as a demo for the sadly defunct Rendition. ## July 1996 - December 1997 Employed by Intelliscape Interactive / Motion Works Group

Worked on game design and programming at Intelliscape using Renderware and the Microsoft Game SDK (which later became DirectX). Intelliscape was absorbed by Motion Works Group. Worked as an IRIX (SGI Unix) administrator for Motion Works' film effects department. Wrote scripts to automate artist tasks and plugins for the flame* non-linear editing system. Worked as a gameplay programmer at Motion Works on the title Anastasia which became the first shipped product I ever worked on.