-
-
Browser entry point, inviting you to the experience and setting the tone for your world (many worlds to choose from)
-
Discovery of the world beyond and the realisation of the world
-
Multiple choices to make, interactions to explore and mysteries to solve
-
Building is key for the late experience, machines to make, problems to solve.
Inspiration
Put on a headset in your own room and the strangest thing is your hands, with nothing to answer them. Pale Signal starts from that. Your room is drained of colour, and a voice can hear you but cannot see you, driving you to build your presence back by hand. A world unknown, the destination a mystery and your choices through the experience matter, each play a different story.
Who you are, where you have been drawn to and your destination are things to discover. Along with your passenger, who is as eager to learn about you.
The premise was first sketched in a private engine testbed earlier in 2026 while building our open-source IWSDK libraries; that testbed was never released or played. Every line was written after 24 September 2026.
What it does
Pale Signal is a seated, hands-only mixed-reality game for Quest 3, in the browser with nothing to install. You sit at your desk with the controllers down. Passthrough shows your real room, and the game finds the desk from your resting palms.
A voice, the Signal, speaks in a small window beside the desk and learns you from what you do. Each new thing arrives to greet you, through the desk, the floor or the ceiling. You wave, touch, lift, place and stack, turn towards a sound and hold a look. Three offerings ask you to choose, and the story follows. Doing nothing is an answer however, and no choice is wrong. Hints come gently if you are stuck, evolving with the story as it unfolds.
Where the experience leads is up to you, how you get there, a matter of choice. Time and space are meaningless here until you discover more about your surroundings and your place in the world, a mystery to solve to save.... what?
How we built it
Immersive Web SDK 1.0, hands only from the first second. The desk placed by your palms is fitted to the scanned table with a WebXR plane and mesh detection.
- Sixty-six hand and gaze interactions were each tried by hand on Quest 3.
- Story and rules live in engine-free services with headless unit tests.
- Interaction, UI and environment using the open-source Reality Collective libraries for IWSDK, which we maintain.
- 98 end-to-end tests run the game in a WebXR emulator on the Quest 3 and Meta VR Glasses profiles.
- An extensive effects framework tuned for WebXR on the Meta Quest.
- As well as extensive tooling for driving, driving and designing the story, effects, interactions and goals.
Challenges we ran into
- No browser API can hide your real hands in the feed, so the story takes them in.
- The room scan sometimes misplaced tables, so the palms place the desk and the scan only refines it.
- A seated head sits lower than you expect, so every arrival is planned against the player's eye line.
- Sooo much testing with different interactions, entrance animations for the worlds components.
Accomplishments that we're proud of
The whole path, from the first wave to the window, plays with bare hands. At 90 Hz the median frame took 11.1 ms with the tint on. From two palms, the desk lands within 2 cm and 3 degrees of the real one.
The effect and interaction framework required a lot of play testing (which caused too much fun) that we hope to also open source later.
A side note, was that we built a pipeline using blender and scripting to generate a lot of the assets, mistakes were made, but the end result, even within budget was agreeable.
What we learned
- WebXR boundaries are hard to define, from bandwidth, runtime and the data the IWSDK provides. Compromises and invention was required to deliver to budget.
- Late on we discovered the environment detected by the headset through the IWSDK was not always reliable, so a Room Scan is recommended, environment meshing as a fallback, using KNown variables, like the user resting their palms on the desk to orientate.
- Far too much fun was had and time lost for crating new interactions and the many ways that objects enter the space.
- Sound and accessibility are key for driving interest. Play-testing highlighted the need for more direction and drive to help the player along.
What's next for Pale Signal
The original scope was for many more story branches, various themes driven from the browser entry page to give each run a unique feel. Each story has multiple branches, all intertwining, further improving replay-ability. The original scope was cut back for the timing of the competition, but the aim is to keep adding more story, interaction, effects, to extend the long tail of the game.
Then the Meta Horizon Store as a PWA in 2027, with Meta VR Glasses gaze at launch.
Built With. webxr, immersive-web-sdk, three.js, typescript, vite, vitest, playwright, iwer, uikitml, reality-collective, blender, cloudflare-pages.
Status
The initial 10 min cut has been tried, proven and is working in a staging environment. Work continues on the extended story to push beyond 30 mins at max play for now.
Play-tester feedback also indicated a need for:
- More intent that decisions are made and make a difference.
- Rework some of the interaction sounds.
- Add agency to the beginning of the story, driving intent rather than just mystery alone.
The journey continues until the last minute. :D
Built With
- iwsdk
- python
- typescript
- webxr
