muscodes
← Projects
2025WebBackend & Data

Deadline

One global platformer, identical for everyone on Earth and generated from today's date. When any player dies, their corpse freezes into the level for all players, in realtime.


Problem#

Most multiplayer games are about beating other people. I wanted the opposite: a game where you cannot win alone, where the people who fail before you are the reason you get through. Deaths become the terrain.

Constraints#

  • Every player, worldwide, must see the exact same level on a given day, with no central level server dictating it.
  • A death anywhere should show up for everyone within a second or two.
  • It has to survive a level littered with tens of thousands of corpses without dropping frames.

Build#

The level is generated client-side from a seed derived from the UTC date, so everyone gets an identical gauntlet that resets at 00:00 UTC. A Dijkstra pass computes the minimum number of corpses needed to clear the day's barriers, which means a solo player physically cannot finish. It takes a crowd.

When you die, the corpse is broadcast through Supabase Realtime and persisted, then it becomes climbable geometry and spike-pit filler for everyone else. Rendering that many bodies stays cheap by baking them into chunked offscreen canvases, and each corpse travels as a 13-byte binary record so snapshots stay small and CDN-cacheable. Cosmetic peer broadcasts are unvalidated for speed; the persisted record is server-validated so a faked death cannot corrupt the shared state.

Result#

A daily ritual with genuine emergent cooperation, running on free infrastructure and holding a steady frame rate under a six-figure corpse count. It is the project I point to when someone asks about realtime systems and determinism.

Stack

TypeScriptViteCanvas 2DSupabasePostgresVercel