Skip to content
Everything I built
The Moon Pearl screenshot

Game

The Moon Pearl

live

My first escape room, and a whodunit. Every night, Madame Luna makes the Moon Pearl vanish. Tonight, at her farewell show, the lights go out for seven seconds and it doesn’t come back. Patch, the hacker from the Neo Dojo Cast, runs the theater’s lights, so she gets the blame, and she is locked in the dressing room until the police can cross the flooded bridge at dawn. You search the room: coats with something in every pocket, a dove that only comes out for sunflower seeds, Madame’s moon cabinet with three drawers that each open a different way, and a rival magician’s phone with a video of the dark. Three suspects told three stories on stage. One of them is lying, and at dawn you prove it in front of everyone. A wrong guess never ends the game: Patch says why that person couldn’t have done it, and you pick again. Every clue is an ordinary thing you can find in the room. The voices, the music and the sound were made with ElevenLabs. It plays on a phone or a computer, and it is one file.

Screenshots

What it does

  • Every answer has at least two clues that point to it, and a reason in the story for being there. I wrote the whole story first, with a table that pairs each lock with its clues, before any art existed.
  • Five voiced characters (37 lines), a theme song and 19 sound effects, all made with ElevenLabs, one take each.
  • Four AI agents built it side by side on one written contract: the dressing room, the cast and the stage, the cabinet and the props, and the screens with the phone and the intercom.
  • Measured with the processor slowed four times, every scene’s code takes under 4 ms a frame, so it runs smoothly on an old phone.

Built with

  • HTML5
  • Canvas
  • Vanilla JavaScript
  • Web Audio API
  • ElevenLabs

Want the how and why?

I write up builds like this one. What I did, what went wrong, and what is worth copying.

Read the writing