Individual, Test and Team Projects

Individual Projects

Graphics and Animation Engine
Individual Project for DigiPen (CS460)
DirectX Graphics Engine with .X Model Loading and Animation

  • Built a framework from scratch.
  • Implemented DirectX for Graphics.
  • .X model loading with manual parsing.
  • Quaternion math and VQS for animations.

Cloth Physics Engine
Individual Project for DigiPen (PHY300)
Cloth Physics Engine using Constraints

  • Cloth Physics using springs and constraints.
  • Euler, Velocity Verlet, and RK4 integration implemented.
  • Can change various factors such as wind, cloth length, width, and distance, and able to unpin the cloth.

AI A* Pathfinding
Team of 2 Project for DigiPen (CS380)
Experimental A* Pathfinding using Spring-Based Physics for Formations

  • Implemented A* pathfinding.
  • Use of spring-based physics for formations using constraints.
  • Also simple flow field implementation along walls.
  • Formations based on .XML templates.
  • If constraints are too far apart, the constraints will break and remaining objects will form a new formation and pathfind for themselves.
  • Formations will reform if available while objects of different formations are selected.

Bezier Curves, Splines, and B-Splines Application
Individual Project for DigiPen (MAT300)
Application for Different Implementations of Bezier Curves, Splines, and B-Splines

  • Written entirely in C# using VIsual Studio 2005.
  • Bezier Curve implementation using NLI-form, BB-form, and Midpoint Subdivision.
  • Splines implementation using Polynomial and Spline.
  • B-Splines implementation using Knot Sequences.
  • Able to move and add control points.
  • Able to toggle different debug information such as shells, lines, control points.

3DS Max
Individual Project for DigiPen (GAT300)
Environment and Animations using Autodesk 3ds Max

  • Environment surface transformation and texturing.
  • Object pathing.
  • Environment particles.
  • Skinning and rigging with IK solvers.
  • Animation using key frames.

Engineering Test Projects

Reverse Words
Engineering Test Project
Reverses the words in a text input but not letters

  • Written in F# in Visual Studio 2008
  • Minimal code and optimized for memory and time.
  • Algorithm first splits the input string into a sequence of strings as words with delimiters of spaces and newlines, then uses fold to reverse the sequence, and finally uses a combination of fold and StringBuilder to combine the reversed sequence into a string.
Download with Source Code:

Boggle Solver
Engineering Test Project
Finds all possible words in a Boggle board within the rules of Boggle

  • Written in C++ in Visual Studio 2008.
  • Includes saving and loading input boards.
  • Optional console for debug and timings.
  • Changeable minimum letter words.
  • Uses the Scrabble Tournament Word List as a dictionary.
  • Dictionary implemented as a trie graph for fast prefix lookup.
Download with Source Code:

Links Configuration
Engineering Test Project
Finds a possible configuration of 2 links, end to end, with one end at a target

  • Written in C++ in Visual Studio 2008 using DirectX SDK (June 2010).
  • Optional console for debug and timings.
  • Can move the camera in spherical coordinates around origin.
  • Can move target and start point of first link using keyboard.
  • Uses a closed-form solution to the link configuration.
Download with Source Code:

Char Distance Checker
Engineering Test Project
Checks if there exists an occurrence of firstChar or secondChar in inputString within maxDistance.

  • Written in C# in Visual Studio 2010 Express for Windows Phone in Windows Phone 7 platform.
  • Optimal solution for space and time within C#.
  • Implemented automated test case for checking all distances within maxDistance for set inputString, firstChar, and secondChar.
Download with Source Code:

Clockwise Matrix
Engineering Test Project
Output a matrix of any size clockwise starting from the top left without any repeats

  • Written in C# in Visual Studio 2008.
  • Includes saving and loading matricies.
  • MATLAB matrix input style.
Download with Source Code:

Team Projects


Senior Game Project for DigiPen (2009-2010)
Technical Director, Team of 4
3D Driving Arena Action Game

  • Built the architecture for the game engine and logic.
  • Focused on creating a robust Singleton object-oriented design for the engine to facilitate the work of other teammates.
  • Constructed a generalized attribute and component based object system.
  • Wrote the memory pool-based memory manager and message system.
  • Created a level editor within the game engine allowing level editing during game play.
  • Assisted in implementing PhysX.

Junior Game Project for DigiPen (2008-2009)
Product Manager, Team of 4
3D Puzzle Game

  • Developed the object factory and object management.
  • Implemented a template-based particle system so that policies could be written and attached to create various particle systems easily.
  • Helped to construct the game engine logic combining the other engines.
  • Wrote the sound engine using FMOD.

Super Water Adventure
Sophomore Game Project for DigiPen (2007-2008)
Designer and Producer, Team of 3
2D Sidescroller Action Adventure Game

  • Created the physics engine with integration, collision detection, and collision resolution.
  • In addition to the physics engine, wrote 2D water physics.
  • Wrote the sound engine using FMOD.
  • Designed the game play, the player, the enemies, and idea of the game.
  • Compiled weekly progress reports and made sure the team was on track.