// Christopher Laubach

Software Developer;

christopher_laubach@yahoo.com

GAME EXPERIENCE
Unannounced Title, Spidermonk Entertainment
January 2007 – March 2007

Programming Internship
  • Implemented 3D rigid body physics engine that included no tunneling, proper collision response, proper first collision resolution, and consistent simulation over any size time step
  • Created math libraries with performance in mind that are core to the engine functionality
  • Implemented and tested 62 static collision tests between geometric and Mathematical primitives, fixed a number of existing static tests, and wrote non tunneling dynamic collision tests between bounding primitives
  • Designed and coded simulation classes that can numerically integrate rotational and linear motion by forward Euler, Verlet, or fourth order Runge-Kutta methods

Son of Ithaca, The Guildhall at SMU
April 2007 – September 2007

Programmer
  • Half-Life 2 project, four programmers, four level designers, four artist
  • Coded melee combat system that uses volume intersection tests
  • Added auto facing when the player attacks near enemies that could be hit

Faithful, The Guildhall at SMU
July 2006 – September 2006

Programmer
  • Unreal Tournament 2004 project, two programmers, five level designers, three artists
  • Created functionality for five unique weapons including proximity mines with player useable cameras, and a melee lunge attack
  • Designed and coded visually appealing particle and ray effects for the weapons
  • Implemented a proximity buff system that added increased speed, increased rate of fire, damage mitigation, and healing based off the player classes of your nearby teammates

Lunar Lander, The Guildhall at SMU
September 2006

Physics Programmer
  • Implemented rocket thruster and fuel burning physics for 3D flight control of the lunar lander module
  • Fit an AI algorithm to the thrusting control of the lander to converges on location and velocity as an over-damped spring system

Hattori Hanzo, Tokugawa Ninja, The Guildhall at SMU
January 2006 – March 2006

Sole Programmer, Project Lead
  • Created 2D game engine and 2D platformer style ninja action game
  • Implemented software bit blitting and alpha blending operations
  • Wrote AI functions for the enemies to attack the player when they can be attacked and not before
  • Coded collision detection system that does not allow tunneling of the player through tiles if there is a large time step or high velocity
  • Designed and implemented smart auto tile picking algorithms to generate game content from few parameters
  • Built intuitive level editing tool for the game

Uberspace, Impending Studios
July 2005 – December 2005

Programming Internship
  • Optimized HUD for better resolution scaling and added scrollbar functionality to UI
  • Designed system for packing more movement information into one byte to reduce network traffic
  • Fixed code bugs and helped finish off game features

TECHNICAL EXPERIENCE
Personal 3D Engine

  • Created dual rendering engine (OpenGL and Direct 3D)
  • Wrote multithreaded 3D rendering engine with thread aware profiling tool and C# profile visualization application
  • Programmed BSP loading and rendering system for Quake 3 BSP maps that uses PVS and view frustum culling

Scripting Language

  • Implemented a scripting language based on a C++ like grammar of my design that supports dynamic typing
  • Wrote a script compiler with lexical analyzer, tokenizer, and parser
  • Created stack based virtual machine to run the byte code generated by the script compiler

Animation Systems

  • Designed and coded procedurally generated walking animation system with analytical inverse kinematics solution for rough terrain traversal
  • Programmed quaternion based skeletal animation system for my 3D engine
  • Created 3D Studio Max 8 model and animation exporter and importer for my own model type that is used in my 3D engine

Mathematics

  • Expert mastery of linear algebra, 3D space transformations, numerical integration methods, and quaternion, vector, and matrix math operations
  • Used principles of Minkowski sums and differences as well as static and dynamic separation axis theorem for fast and accurate collision detection

Graphics

  • Wrote vertex and pixel shaders in shader model 2.0 for normal mapping, specularity, and skeletal animation
  • Programmed shaders in both OpenGL shader assembly and HLSL
  • Have optimized vertex buffers and shaders to take advantage of cache sizes to decrease frame render time
  • Created particle rendering and simulation system with world collisions flexible creation parameters, and efficient memory re-usage

Terrain

  • Implemented distance based patch system level of detail rendering algorithm
  • Fit A* path finding algorithm to terrain engine so paths favor elevation decreases
  • Coded stitching algorithm between differing levels of detail

EDUCATION
Graduate Certificate in Digital Game Development, The Guildhall at SMU
September 2007

Specialization in Software Development

Bachelor of Arts in Computer Science, Southwestern University
May 2005

Minor in Mathematics

SKILLS
Languages

C++, C#, Java, Haskell, Javascript, VB script, HTML, CSS, PHP, French

Programs and APIs

Microsoft Windows XP, Linux, FMOD, Direct X 9.0, OpenGL, .NET 2.0, TCP/IP, UDP Microsoft Visual Studio 2005, 3D Studio Max 8.0, Softimage 3.0, Subversion, NV Perf Kit 2.0, Microsoft Office 2005

© 2007 Christopher Laubach and The Guildhall at SMU, all rights reserved.

christopher_laubach@yahoo.com