Inspiration

The feel of real paper: pinch a corner, the sheet curls as you carry it, and it lies flat when you let go on the crease. Hand tracking on Quest 3 made it possible to try that without a controller in the way. I wanted it to feel like a toy rather than a design tool: a desk you sit at, paper that behaves like paper, and a puzzle in every sheet.

What it does

Each puzzle is a square of two-coloured paper and a shape sleeping under it. Fold the paper until it covers the shape exactly, right colour on top, ideally in par folds. When it matches, the shape comes to life. There are 48 puzzles in four packs and a daily puzzle. There are no menus and no text: the packs, the daily puzzle, the hints and the rooms are all objects on the desk, and a ghost hand teaches the first folds.

How I built it

  • Unity 6, URP and OpenXR on Quest 3 (IL2CPP, Vulkan), XR Hands for tracking and pinch, 90 Hz.
  • A fold engine in plain C#, prototyped in JavaScript first and ported with golden fixtures to prove the port identical. Game logic, tests and tools all read this engine. The bending paper on screen is presentation on top of it.
  • The bend: while you hold a corner, the sheet bends like real paper (it never stretches) and only offers folds onto visible landmarks, so letting go does exactly what the crease line shows.
  • A level lab: a solver proves every level's par, lints it and rates its difficulty.
  • Rooms modelled in Blender, and sound synthesised in code.
  • An automated playthrough that plays the whole game with scripted hands in a few minutes, plus a headset test after every change.

Challenges

  • A reliable pinch. Tracking drops and jitter made folds let go on their own. It took several rounds to make the paper stay in your fingers.
  • Paper that does what you mean. Which side bends, which fold is offered, what happens when you grab a corner that's already folded in: each rule came from testing on the headset, because feel can't be judged anywhere else.
  • Teaching without words. Getting a first-time player to their first fold with only a ghost hand and small cues.
  • Performance. Three full rooms, translucent paper and water at 90 Hz on a standalone headset.

What I learned

Feel has to be judged in the headset, not in the editor. A frozen reference implementation makes a port safe to build on. And for a hands-only game, small cues (a bead where the corner will land, a line that means "this will fold") do more than any tutorial text.

Built With

Share this project:

Updates

Submission history