B.Math (Computer Science, Honours)
B.A (Fine Arts, Honours, Film)
My driving force is to solve problems. I love intellectual challenges and will always push myself to try and surmount any obstacle. I thrive in pressure environments, and love the feeling that comes in completing an extremely hard task that is necessary and has a tight time constraint. My love of puzzles has had me work with and rework programming architectures and designs - specifically in the field of computer game engines. I enjoy the logic puzzles required to design and create a high performance engine. The added complexity in modern hardware of multiple cores, sometimes asymmetric, makes it even more fun due to the increased challenge. Recently my work experience has moved me into a management role where I have to combine my technical skill with the ability to set direction, provide learship, scheduling and planning for large game projects.
I am currently working as a Technical Director at Infinity Ward on Call of Duty: Ghosts. I am responsible for technical leadership, establishing our goals and managing the engineering team. We have developed a new high end DX11 implementation including a competitive suite of new rendering features. In conjunction with the art leads, we created a new process and pipeline for art assets to meet the technical requirements that allow us to leverage modern GPU hardware. I am also part of the production team - working to guide the project and sharing responsibility for game finalization and shipping. Previously on MW3, I helped the studio maintain its goal of running the game at a constant 60 FPS. I was able to save 5ms+ through combined changes to sound culling and processing, entity updates and a refactor of the effect system. At the end of the project I helped to manage and schedule the programming team to meet the requirements of releasing the game. I used to work at Microsoft Game Studios (Good Science) as a Software Development Engineer. It was a new studio at MGS and its first project was the pack-in title for Kinect called Kinect Adventures. My duties were primarily in areas related to performance and stability. I've worked with the team to achieve our desired frame rate targets, reduce latency from the Kinect device to final render, and did primary work on eliminating crashes and soft locks in the product. My previous position was at Obsidian Entertainment as a lead technical engineer. My duties were fairly diverse and focused on engine design and implementation. I was responsible for primary work on the scene and render systems, as well as all system and system integration tasks. The engine was used in the cancelled Aliens RPG project and in Dungeon Siege 3. While at the same company I helped out the NWN2 team for the last eight months of production to get the game ready for shipping. While I did perform many fire fighting tasks, my focus was on getting the walk mesh, and the rendering time into a shipping state. Previously, I have worked at Terminal Reality (collision and physics), and Sunstorm Entertainment (engine). Shipping games that I've worked on include Alpha Protocol, Neverwinter Nights 2, Spy Hunter 3, Aeon Flux, and Bloodrayne 2. Technology that I built was used in Airport Tycoon 2. In terms of low budget/arcade titles, there were a couple that I worked on for Real Arcade, versions of breakout, mahjong and a pointifex clone (bridge builder). In addition to the above, I spent a year free lancing, and had a few short-term jobs through out university (co-op program) and during high school. I took my undergraduate degrees at the University of Waterloo in Ontario, Canada.
My career focus has been on engine technologies. I have spent over ten years working in that area and I am looking forward to taking on new challenges, particularly in the application of physic technologies to the generation of render content. I have personal interests in programmatic animation, hair and cloth animation and rendering.