Beat Back the Horde is a free and open-source rhythm-time strategy game for Android. The core gameplay is based on creating units by tapping to the beat of a song. These units may be used to defend your own base or attack an enemy base. The game also features networked play over Bluetooth and many unlockable achievements. I developed this game along with five classmates at Brown University. My main roles in the project were designing and implementing the rhythmic elements and the achievement system. All of the code for the project is open-souce on Github.
Created as a final project for the advanced graphics class CS224, B-Mesh is an implementation and extension of a paper by Zhongping Ji, Ligang Liu, and Yigang Wang entitled B-Mesh: A Fast Modelling System for Base Meshes of 3D Articulated Shapes. The B-Mesh system creates a quad mesh from a skeleton defined by user-placed spheres. I implemented this system with classmates Evan and Lance. We also implemented additional features including displacement editing and joint repositioning to demonstrate the ease of editing the generated mesh. The code for the project is all open-souce on Github.
As part of a group independent study on real-time graphics, I implemented a 3D fluid simulation using GLSL and OpenGL 4. The simulation supports 10000+ particles and can handle interactions between fluids with different properties. For example, a high density liquid will settle beneath a low density liquid.
My YouTube channel has a video showing the simulation in action, along with videos of some of my other OpenGL 4 experiments.
As a final project for the computer graphics course CS123, I implemented a real-time depth of field effect using a series of GLSL shaders. I also worked with a partner to procedurally generate a mountain lake with partially-reflective water. The above image shows the lake scene with a close focal range so the faraway mountains are out of focus. All of the code is available on GitHub, along with a more detailed description of the project.
Robots Are People Too (RAPT) is a 2-player cooperative platformer written by myself and three other Brown students. RAPT originated as a final project for Brown University's introductory software engineering class. It is cross-platform and includes both local and networked play, as well as a powerful but easy-to-use level editor. RAPT is written entirely in C++, relying on RakNet for networking and Google Protocol Buffers for serialization. My main roles in the project were designing and implementing enemies and levels.