Bloom (Fall 2013 – Spring 2014)

Bloom is a 2.5D Adventure Platformer built in Unity as a part of USC’s year-long Advanced Game Project class.  The game was developed for the PC/Mac, iOS, and Android.  In the game you play as a seedling, named sprout, who must yield the powers of nature in order to defeat robots who have taken over the earth.

As Lead AI Engineer on the project, I was responsible for overseeing the creation of all enemy AI in the game.  I have also helped implement our games Gesture Recognition and Ability systems.  Additionally, I designed the games checkpoint system to allow for saving and loading game and player data securely.

Alien Attack (Summer 2013)

3D Action Platformer developed in Unity. Originally made for the iPad, it has been adapted to be run in the Unity Web Player (must be installed to play the game).

I designed and built the first two levels for this game. I also implemented the power-up system, as well as the games enemy AI

You can play the web version of the game here.

Video of the game running on the iPad can be seen here.

Jello Cube Simulation (Spring 2013)

Implemented a 3D mass-spring network in order to program a physically-based simulation of a jello cube.  Simulation is physically-based, in that when the cube is stretched or compressed it will always try to revert to it’s original shape.  In addition to programming the mass-spring network, the simulation allows for the addition of a force field inside the bounding box, that applies an external force to the cube. Simulation rendered using OpenGL.

Video of the simulation can be seen here.

Constrained Particle System (Spring 2013)

Implemented a particle system that models a 1D deformable chain constrained to a ring.  The chain is is composed of 11 point masses connected by rigid edges.  One end of the chain is pinned to the 12 O’clock position of the ring.  The other is allowed to move freely anywhere along the ring.  In addition to being acted upon by a normal gravitational force, the user can interact with the chain by adding a left or right horizontal force (essentially simulating wind).  Simulation rendered using OpenGL.

Video of the simulation can be seen here.

CUDA Fluid Simulation (Spring 2013)

Found an existing fluid simulation that accompanied a series of articles from Intel which used Intel’s Thread Building Blocks (TBB) to run a real time fluid simulation for games.  We replaced all the portions of code that utilized TBB to run using CUDA instead.

Video of the simulation can be seen here.

Procedural Texture Generator (Fall 2012)

This interactive app allows a user to choose from a number of common procedural textures, customize their parameters, and view them.  In addition to seeing the flat 2D texture, the app also applies the texture to a 3D model.  To further customize the textures, we implemented “fractal zooming”, which allows the user to zoom into different portions of any fractal texture.

The app can be found here.

Sample images created using the app can be found here.

Video example of fractal zooming can be seen here.

Android IMDB App (Fall 2012)

Built an Android app that displays the top five IMDB results of any user query.  In addition to displaying the search results returned by IMDB, the app allows the user to post the result information onto their Facebook wall.

Video of the app running in an Android emulator can be seen here.

GGE Ogre Update (Fall 2012)

Updated the rendering system used by the USC GamePipe Game Engine (GGE) to the latest version of Ogre.  The GGE is a generic game engine created and maintained by students in the USC games program.  Ogre is an open source 3D rendering system.

I created a small demo showing off the different features of the GGE.  It can be seen here.