Head Above Water


Roles: Designer, Programmer

Date: Fall 2014, December 2017 - present

Tools: Java, LibGDX, Unity2D

The object of this game is to swim across a river without exhausting your oxygen supply. Restoring stamina depletes oxygen, restoring oxygen requires the player to consume stamina to swim and keep their head above water. I wanted to evoke the feeling of struggle and conflict against the water as players swim across-river, giving their actions emotional weight, which perhaps will find applicable to struggles in their own lives.


The level and systems designs are codependent: for example, if the stamina replenishment rate was too fast then the shallow sections of the river would become uninteresting and pointless, making the game less interesting. The infographic I've added below illustrates this relationship.


The infographic formed the basis for level design, and I chose to draw canyons for players to traverse. Players that rushed through the stage would lose their stamina and fall into deep trenches, making them panic and hustle their way to shallower areas.

The swimming mechanics are derived from Super Mario Bros, but Head Above Water’s stamina feature changes the dynamic. Because each stroke assigns a new value to the swimmer’s y-velocity, if the player starts a new stroke before the last one is done the swimmer’s remaining y-velocity is overwritten and effectively wasted. Players that button-mash will use their stamina too quickly.