Day in Life of a Sea Turtle

Spoiler: it ain't easy. see the code

Get Started

The sea turtle is chasing a small prey. However, there are 3 invisible circular traps on the canvas- if the sea turtle comes into contact with either circle, a piece of plastic trash will spawn, which the turtle often mistakes for food and devours. Can you help steer its hunting course clear of any plastic threat?
click anywhere to re-randomize location of the traps as well as color of the prey.


Design Process

The initial sketch depicts a sea turtle chasing after the prey. The line represents an abstract prey that varies its size and color as it tries to lose the sea turtle. The faster it swims, the thicker the line gets. The primary intention of this parameterization is to highlight the prey's erratic manner of swimming in its course of escape. More subtlety, I want to bring to attention the variety of a sea turtle's diet by changing colors of the prey. This omnivore diet is one of the reasons oceanic plastic waste are frequently ingested by sea turtles.

The biggest challenge for me is to tell more of the story on a 400x400 canvas. In addition to the chase, I want to immerse the viewers in the sea turtle's unpleasant encounters with plastic waste. The idea of a game came to me while I was brainstorming what it's like for a sea turtle to be hunting at sea swarmed with food-looking plastic. I wanted to code the pervasiveness of this problem using randomness:

Three circular "traps" show up at random locations on canvas. In the final version, these traps are invisible because they are in the same color as the background. Whenever the prey swims inside the boundary of any trap, a piece of plastic trash will spawn. Since they are invisible, the player needs to figure out the danger zones and try to steer the turtle's hunting course around them. Every time the mouse is clicked, the traps will show up at different, randomized locations on the canvas, essentially starting a new game.
One interesting lesson for me is that players can take away unplanned message from the game. My friend was intrigued by a sub-textual parallel between the confined "safe" space and the reality for sea turtles. She felt sorry to see her sea turtle swimming so cautiously on the canvas to avoid plastic altogether.
In the next iteration, I wish to try making the images of plastic trash stick around the canvas after they are spawned in random locations.