Bubblegum Bandit out on Steam!
Download it for free here.
Thanks for stopping by! Here you can find some things I've made outside of work.
Bubblegum Bandit
An action platformer about flipping gravity and spitting gum! You play as the Bubblegum Bandit, a space rogue seeking to destroy a robot regime. You use your bubblegum and gravity powers in unison to infiltrate spaceships, steal their power sources, and get out before everything blows up.
We made this game for Cornell's Intro to Game Development class as a team of 8 programmers and designers. We used LibGDX, an open-source Java framework that gave us a deeper understanding of game architecture. I contributed heavily to the overall game concept and level design. I also programmed a lot of different pieces, including level editor integration, a scriptable scrolling camera, gameplay elements like blocks and doors, enemy attacks, gum mechanics, player controls, and Box2D lights integration.
Animal Spies
I was the Programming Lead on Animal Spies, a networked multiplayer mobile game created for Cornell's Advanced Game Development class as a team of 10. I led the design of the game architecture and reviewed other team members' contributions. This game was written in C++ and created with CUGL, a game framework built on top of SDL. The game is divided into two phases. In the first phase, you place traps to prevent your opponent from getting the key and reaching the exit. In the second phase, you run for the exit yourself while dodging enemy traps and setting off your own. I worked on touchscreen UI/UX for the trap placement phase, controls and collisions for 2.5D perspective with multiple heights, trap design and gameplay, and more. We won Most Innovative at the GDIAC Game Showcase at the end of the class.
WebGL Infinite World
For Cornell's Intro to Graphics class, our final project was to create anything we wanted using rasterization using a TypeScript framework built on Three.js. My group of three created this procedurally generated world. You explore from a first-person perspective using WASD and the mouse. As you move in any direction, terrain far away is unloaded and new terrain appears in front of you, creating the perception of an infinite world. I developed the player control, infinite terrain using chunks, and atmospheric haze shader. I also tuned the terrain generation, which is done with simplex noise. (Video below, narrated by Emily)