Skip to content
Home

Work / Shark'eat

Shark'eat

Lead Developer

2025 | Shipped

1st place, Most Original Game · GGJ 2025

A 1v1 local arcade duel built at Global Game Jam 2025: one player steers a shark by tilting a 3D-printed fish, the other fights back by blowing bubbles into a microphone.

Stack

Unity, C#, Arduino, Aseprite

Links

Try the game ↗

Design documents

Shark'eat cover
Global Game Jam 2025 · Theme: Bubble

Eat fish. Dodge bubbles. Swap.

Shark’eat is an asymmetric 1v1 arcade game. One player is a hungry shark, steered by waving a real 3D-printed fish with a gyroscope inside. The other runs a grumpy bubble cannon, aiming with a joystick and firing by literally blowing into a microphone. Then they swap sides.

1stMost Original Game, GGJ 2025
1v1same screen, roles swapped
3custom inputs: fish, joystick, breath
The shark hunts for fish while the grinning cannon guards the seabed. Every bubble that lands freezes the shark, and that’s time it can’t spend eating.

How a match works

The roles are deliberately asymmetric: the shark scores, the cannon never does. Its only job is to deny points. Because each player plays both sides, the match stays fair and nobody gets stuck with the less fun role.

Round 1 · timed

Player A is the shark and eats to score. Player B is the cannon and blows to defend.

Round 2 · timed

Roles swap. Each round ends on a silent-film title card: “Time’s Out! Points: N”.

Final score

Points eaten minus penalties. The higher total wins.

FishPoints for the shark
Stinky fishTakes points away
Plastic bagTakes points away
PufferfishStuns the shark
Cannon bubbleFreezes the shark for a few seconds

Hardware you play with your body

The jam theme, Bubble, became something you do, not just something you see. An Arduino reads three inputs and streams them over USB serial to a custom reader in Unity: the fish’s tilt drives the shark’s swim direction, the joystick slides the cannon, and breath detected by the microphone becomes a bubble stream.

Shark'eat bubble cannon controller with joystick and Arduino
Cannon controller: analog joystick to aim, microphone module to blow bubbles, all wired to the Arduino.
Shark'eat custom hardware controller
Shark controller: a 3D-printed fish with an MPU-6050 gyroscope inside. Tilt it to swim.
MPU-6050 gyro → shark steeringAnalog joystick → cannon movementMicrophone → bubblesArduino · USB serialUnity serial readerKeyboard fallback

The main menu exposes a serial-port field and a “use gyroscope” toggle. For public demos there’s a keyboard fallback (arrow keys for the shark, A/D for the cannon) while players still blow into the mic.

Readable at a glance

A 1930s rubber-hose cartoon look: googly-eyed fish, a grinning cannon with white gloves, a sepia sunburst menu and silent-film intertitles. One screen, one big score, one-word feedback (“Yum!”): a new player gets it in seconds, and it’s as fun to watch as to play, which is exactly what a jam floor or an expo stand needs.

Shark'eat screenshot
Shark'eat screenshot
Shark'eat screenshot
Shark'eat key art

My role

Lead Developer · Concept, gameplay & programming

  • Came up with the concept and designed the asymmetric 1v1 gameplay and scoring.
  • Programmed the game in Unity/C#, including the serial reader for the custom Arduino controllers and gyroscope integration.
  • Led the 5-person jam team and coordinated milestones over the weekend.
  • Tuned hardware interaction and game performance, and added the keyboard fallback for public demos.

Achievements

  • Most Original Game: first place in the originality category at Global Game Jam 2025.
  • Best Use of Diversifiers: recognised for the creative hardware integration.

Team

Ethan Navarro (concept, gameplay, programming) · Lizer Portella (electronics) · @momophu (art) · @mariacarolinalopez (music) · Marc / sopadelletres (UI)

Explore

Play on itch.io