UnderWater

A single player experiential game inspired by a nightmare.

Underwater puts players in the role of a fragile plankton, navigating a harsh and ever shifting environment. Players search for shelter, while avoiding predators and obstacles.

Although I helped out with various programming tasks (Title screen, game loop, enemy behaviors, etc.) my main contribution was writing the camera behavior from scratch. The ground is made up of several cubes moving up and down on a sin curve. The camera was challenging as it had several requirements at once:

  • The camera needed to properly frame the player in the center

  • The camera must not collide with or have its view occluded by the shifting ground

  • Maintain as close to 20 degree angle as possible

  • Have no sudden jumps if the player’s acceleration increased suddenly (from being launched)

Solving these challenges required having routines that were always moving towards the ideal angle, as well as routines that would take over at varying degrees of severity based on different events. I like to say it was really 5-dimensional thinking, as I had to consider the camera’s 3 dimensional position, the sequence of events in code, and how they would all interact in real time.

Role: Programmer

Created With: Unity

Collaborators: Noca Wu