Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BubbleEater

BubbleEater banner

A bubble-eating arcade game for every Pebble watch — aplite, basalt, chalk, diorite, emery, flint, and gabbro — controlled entirely by tilting the watch (IMU/accelerometer). Eat smaller bubbles, dodge bigger ones, grow to rule the arena.

Action Feeding Game over
Gameplay Feeding Game over

Gameplay

  • Tilt the watch to steer your bubble (cyan) around a 600×600 world.
  • Eat yellow food pellets and smaller bubbles to grow. Bigger = slower.
  • Enemy bubbles are colored by threat: red can eat you, green you can eat, gray is too close in size for either. On black & white watches: solid means danger, hollow means edible, and your own bubble has a dark core.
  • Enemies hunt food, chase you when you're edible, and flee when you're the threat. A bubble must be mostly engulfed before it's eaten — grazing a red bubble won't kill you.
  • Select: pause/resume, or restart after being eaten.
  • Back: quit.

Implementation notes

  • Pure C against the Pebble SDK, no external resources or libraries.
  • ~30 fps AppTimer game loop polling accel_service_peek() for tilt input.
  • Integer fixed-point (24.8) positions and velocities — no floating point.
  • Area-conserving growth: r' = √(r₁² + r₂²).
  • Backlight is held on while the game is running.

Building

Requires the Pebble tool and SDK 4.33+ (first SDK with emery support):

uv tool install pebble-tool
pebble sdk install latest
pebble build

Note: after changing app metadata in package.json (version, platforms, etc.), run pebble clean first — the build caches the generated appinfo.json and won't pick up the change otherwise.

Running in the emulator

pebble install --emulator emery

Simulate tilt from another terminal:

pebble emu-accel tilt-right    # also: tilt-left, tilt-forward, tilt-back
pebble emu-control             # live tilt control from your phone's sensors

Emulator buttons: W=Up, S=Select, X=Down, Q=Back.

Installing on a watch

Enable the developer connection in the Pebble mobile app (Settings → "Use LAN developer connection", then toggle "Dev Connection" in the watch's ⋮ menu — requires being signed in), note the IP it shows, then:

pebble install --phone <server-ip>

Store assets

store-assets/ holds the appstore listing material (icons, banner, screenshots). Icons and banner are generated by:

uv run --with pillow store-assets/make_assets.py

About

Bubble-eating arcade game for Pebble Time 2 — steered entirely by tilting your wrist

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages