Inspiration

A garden snail's top speed is about 0.03 km/h — the funniest speed limit you could put on a race track. We put that track on the table in front of you and let you fling a snail past the sign at many times the limit. Everything is within arm's reach: no controllers, no standing, a full race in under a minute.

What it does

  • The track finds your table via WebXR plane detection and snaps on; pinch to place (falls back to ~0.5 m ahead at seated height).
  • Slingshot launch: pinch the snail, pull back, release — pull distance and flick speed set launch power.
  • Four boost pads per lap: pinch while a pad glows to boost; centre hits are PERFECT and chain combos.
  • Final lap: smash the "SPEED LIMIT 0.03 km/h" sign and see how many times over the limit you were.
  • Two laps, 60-second clock, results card and best time saved on device. A ghost hand teaches each gesture on the table — no wall of text. Hands are the primary input end-to-end; controllers and desktop mouse also work.

How we built it

Meta Immersive Web SDK (IWSDK) 1.1.0-rc.2 on three.js + WebXR, TypeScript and Vite. An immersive-ar passthrough session with hand tracking and plane detection; one ECS system running a state machine (placing → ready → aiming → racing → results). Hands, controllers and mouse share one pointer abstraction. Table placement scores detected planes (table/desk label, height, in front, within reach). 100% procedural content: every model, texture and sound (WebAudio, HRTF-spatialised) is generated in code — no downloaded or AI-generated assets. Hosted on GitHub Pages via GitHub Actions; demo captured from the real game in the IWER Meta Quest 3 emulator.

Challenges we ran into

Making a flick feel right from noisy pinch data; choosing the right plane in unseen rooms; readable arm's-length UI in a narrow FoV; fair but satisfying boost timing windows.

Accomplishments that we're proud of

A complete game loop with zero external assets, truly hands-first and seated, passthrough with purpose (your table is the level), and a show-don't-tell tutorial.

What we learned

IWSDK and its IWER emulator make it fast to build and script-test MR apps without a headset; small physical gestures on a real surface feel tactile; clear telegraphing makes timing feel fair.

What's next for Snail Sprint

Tuning on Quest hardware with playtesters, spatial anchors, room-spanning tracks, daily challenges and unlockable shells, ghost replays, shared-table multiplayer, and accessibility options (one-handed mode, wider timing windows). Target launch: Q1 2027 as a free WebXR game, with a Meta Horizon Store listing to follow.

Testing instructions

On Meta Quest 3/3S/Pro open https://ridakalam52-design.github.io/snail-sprint/ in Meta Quest Browser, tap Enter Mixed Reality, put controllers down, look at a table, pinch to place, pinch-pull-release the snail, pinch on glowing pads. Desktop: drag the snail back with the mouse and release, click on glowing pads.

Built With

Share this project:

Updates

Submission history