Egg and Spoon Race is a balancing game that turns your phone into a wobbly spoon. Hold it flat, keep the egg from rolling off, and try not to overcorrect — because the egg has a liquid interior that sloshes around with a natural delay, which makes it way harder than it sounds.
- The idea was simple enough: use the phone's accelerometer to control a spoon, balance an egg, survive as long as possible. The kind of thing that sounds like a five-minute build until you actually try to make an egg behave like an egg.
- The physics engine is Matter.js, which handles the egg as a circle body rendered as an ellipse on a canvas. The spoon is a portrait oval with a flat platform — getting the bowl shape right took a few passes. Too shallow and the egg flies out instantly; too deep and there's no challenge.
- The liquid interior was the thing that made it feel real. The egg's centre of mass lags behind the tilt input via a slosh factor, so when you overcorrect, you have to wait for the yolk to catch up before correcting again. It's a small detail but it's basically the entire game feel.
- When the egg falls out of the bowl, it splatters — white splatter, yolk blob, shell shards, and egg white droplets. 66 particles in total. It's completely unnecessary and I love it.
- The tilt input comes from the DeviceOrientationEvent API, mapping beta and gamma to Matter.js gravity. On desktop it falls back to mouse position, which is handy for testing but the game is really meant to be played on a phone held flat like an actual spoon.
- Portrait orientation is enforced — if you rotate to landscape you get a nudge to flip back. The whole point is that you're holding the phone like a spoon, so landscape doesn't make sense.
- Getting the physics to feel right was the bulk of the early work. Low friction, low air damping, realistic bounce — each of those values needed tweaking by hand because the defaults all felt floaty or sticky. The egg also has a velocity cap to stop it teleporting off-screen on a sharp tilt.