Download: Word | PDF

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)