Case study · Roblox
Stack or Sink
A mobile-first competitive physics game on Roblox: grab real-world objects, stack a tower to climb, throw things at rivals, and stay above the rising hazard.
- Role
- Game Designer / Developer
- Years
- 2026 — now
- Status
- Live

The problem
Building a fair, physics-heavy multiplayer game where players can't cheat, and shipping it repeatably.
What it does
- Grab, carry, place and climb, with throw, catch and deflect counterplay and ragdoll physics.
- Five hazards (flood, lava, acid, sand, snow) and five match formats, including bot-filled matches and team doubles.
- Onboarding, XP progression, parties, badges, daily objectives and leaderboards.
- Cosmetic-only purchases, with a live kill switch for the shop.
How it's built
- Luau with strict typing, synced from files with Rojo; server services and client controllers kept separate, with tuning in one config.
- Roblox DataStores for versioned player profiles; publishing through the Roblox Open Cloud API.
Engineering decisions
- Never trust the client: the server decides every grab, hit, catch, score and reward.
- A "project brain" of locked rules (mobile-first, no pay-to-win) that every human and AI contributor reads first.
- Reproducible publishing: each release is built from committed code only, tested on that exact file, and the last 10 publishes are hashed for rollback.
- Hundreds of automated tests in Studio, locally and in CI, plus a type-check ratchet that only lets errors go down.
- Honest numbers: a test checks the README's figures against the repo, and a conclusion drawn from a funnel step that never fired was retracted.