Game Experience
Primae Noctis, Unreal Tournament 3 Project June 2009 – December 2009
Programmer, 17 person team (3 programmers)
o Handled the AI for the game using Unreal’s state system to implement patrolling guards, stationary guards, as well as guards that call for help when notified
o Implemented a gun that changes the team the AI is on
Amateur Death Race, Unreal Tournament 3 Project March 2009 – May 2009
Programmer, 8 person team (1 programmer)
o Implemented a racing game including: position in race, number of laps, item boxes, weapons and powerups, checkpoints, hud layout, and respawn boxes for level-designers
o All game mechanics are written to support Unreal’s network gameplay
Cosmonuts, 2D game November 2008 – December 2008
Programmer, 3 person team (1 programmer)
o Used the 2D engine developed at Guildhall to make a clone of the Xbox 360 game Geometry Wars
o Developed AABB collision detection, particle systems, sound with FMOD, and enemy AI
o Game is optimized to support thousands of entities on the screen at once
o Support for up to 4 players locally using Xbox 360 controllers
Technology Experience
3D Rendering Engine
o Wrote an abstract code interface and implementation that handles both OpenGL and DirectX
o Engine supports common features like shaders (GLSL and HLSL), matrices, vectors, blending states, billboarding, dynamic and static vertex buffers, index buffers and screenspace operations
o Wrote shaders to handle bump-mapping, parallax-mapping, and simple lighting
o Built math library that handles matrix multiplication, dot/cross product, and fixed point operations
o Engine supports various 3rd party capabilities like Xbox 360 controller support, Wiimote support through Bluetooth, XML input, FMOD and PhysX
o Loads and renders quake 3 levels with support for occlusion and frustum culling, and raycasting
Particle System
o Patterned after the Unreal Particle system; multiple attributes that the end-user can configure like:
size, color, rotations, fade amount over the lifetime of the system (changes over time)
o Particles interact with physical forces
o Billboarded in the xyz or point sprite sprites available
Terrain System
o Uses a quad-tree to handle camera frustum culling
o System breaks data into smaller chunks based on the distance from the camera and an area’s intrinsic detail
o Generates a normal map texture based on the terrain data passed in
3DS Max Exporter
o Wrote a 3DS max exporter that supports normal calculations, specular-mapping, and tangent space calculations for bump-mapping
o Supports a streaming option in which all the data is loaded in one read and all the pointers are cleaned up
o Calculates a bounding sphere
Custom Scripting Engine
o Wrote a grammar for a C like scripting language
o Supports weakly typed variables including numbers, strings, and vectors
o Loops (while, for), conditional statements, variable assignments, mathematical operators, and return statements are all supported
o Wrote a lexical analyzer that creates tokens, a parser which analyzes those tokens, a compiler which generates bytecode, and a virtual-machine which interprets that bytecode
Graphical User Interface
o Both an immediate mode and retained mode design have been developed
o The immediate mode design has support for single/multi listboxes, buttons, horizontal/vertical sliders, text-input fields, checkboxes, progress bars and window panels
o Most of the widgets are skinnable from an XML file
Goal Oriented Action Planning (GOAP)
o Developed an A* algorithm for pathing
o Setup AI to use the A* algorithm to choose goals based on a set of conditions
Physics Playground
o Worked with another programmer to make a clone of the gameplay in Armadillo Run
o I wrote the engine framework which included the UI for the level-editor and the interaction between the physics objects
Education
The Guildhall at SMU December 2009
o Masters of Interactive Technology in Digital Game Development, Specializing in Software Development
o GPA: 3.418
University of Kansas May 2008
o Bachelor of Science in Computer Science
o GPA: 3.2
Related Experience
Web-developer, Scottrade June 2006 – August 2006
o Developed an internal calendar system for them in C# and ASP
o Worked on a few personal C# projects including a small socket based chat-client
Skills
Languages: C++, C, Unrealscript, HTML, XML, C#, PHP, Java, Perl, Scheme, Javascript, ASP
APIs: Win32, DirectX 9, OpenGL 2.0, HLSL, GLSL, FMOD, ODE, GL assembly, TCP/IP, UDP, Winsock
Applications: Microsoft Visual Studio 2008, Unreal Engine 3, Unreal Editor, Adobe Photoshop CS3, 3D Studio Max 2009, Blender, Microsoft Office 2008 (Excel, Visio, Powerpoint, Word), SVN (Subversion)

