20,000 Leagues Under the Sea

...he will address you with the phrase “We may brave human laws”. You should respond, “But we cannot resist natural ones”.

A two room escape game I built in my house for friends and family, based on the novel by Jules Verne.

Plot and puzzle overview

Players are invited aboard the Nautilus to join the mysterious Captain Nemo in his quest to discover the Lost City of Atlantis.

A pile of four letters, the front one reads 'Mobilis In Mobile - N'
Some of the letters and documents guests can uncover

The first half of the game takes place in Nemo's quarters where players must solve a series of riddles to prove to Nemo that they have what it takes. Then they join forces with Nemo to locate Atlantis.

Wooden boxes, metal code boxes, scales with bottles
A selection of props and puzzles from Nemo's quaters

Players then travel through a hidden airlock to enter an ethereal and smoke-filled Atlantan cave. Once in this strange new world they must decipher various inscriptions and solve ancient puzzles. Doing so reveals the secret of Atlantis, but unleashes a terrible monster.

A stone three by three grid with holes for wooden blocks of various heights to slot into
Players must deduce the correct placement of the petrified wooden blocks

The players must flee back to the Nautilus and solve the final puzzle to defend the Nautilus from the monster before returning home victorious.

Technical details

The whole game is managed with a custom Node-Red dashboard that links the various devices.

I created an audio player in Python which is controlled by MQTT, this can play various ambient sound scapes, music, and sound effects. I also created a web-based video player that is controlled by websockets, this can play looping videos and simultaneously overlay another video using different blending modes.

Entrance way

  • Three separate audio scapes play from different speakers, controlled by websockets.

Nemo's office

  • Zigbee controlled lighting for electrical surge effects and flashing alarms.
  • Audio player for looping ambiance and various sound effects.
  • Mumla server to act as an intercom to deliver live messages from Captain Nemo and the crew.


  • Audio player featuring looping ambiance, various sound effects, and music.
  • Projector displaying a rippling water effect on the ceiling, also triggered to play moving machine parts, and monster shadows.
  • Pi Pico controlled LEDs with custom random pulsing animation to look like otherworldly insects, also pulses red in time with music during escape.
  • Pi Pico controlled UV lamp can be turned on/off or play a short flickering animation.
  • Pi Pico controlled 'tipper' device uses a stepper motor to release four wooden blocks from the ceiling.

‹ Back to portfolio

Other work