RoomRiddle — A Cooperative Mystery Game for Fire TV

Turn your living room into a crime scene. Solve mysteries together on the big screen, while every player investigates from their phone.

1. Inspiration

Family game night has moved to the living room TV, but most TV games are either solo console titles or quizzes controlled by a remote.

We wanted to recreate the feeling of a murder-mystery party: everyone on the couch arguing over the same clue, each person holding a piece of the puzzle, and the whole family working together to uncover the truth.

Fire TV is already the biggest screen in the house, and everyone has a phone in their pocket. RoomRiddle brings the two together to create a shared, cinematic, cooperative detective experience.

2. What It Does

RoomRiddle is a TV-first, cooperative detective game for 1–6 players, combining cinematic storytelling, collaborative puzzle-solving, and AI-powered character interrogation.

The TV Is the Crime Scene

Explore a painted, layered 2.5D world featuring rain-soaked platforms, atmospheric lighting, and trains pulling into stations. Navigate using the Fire TV remote while music, ambient sound, and narration bring each mystery to life.

Phones Are Your Notebooks

Scan the QR code displayed on the TV and join instantly — no app installation or account required.

Players can examine clues, solve puzzles, request hints, and review the case file directly from their phones while the TV brings the investigation to life for everyone in the room.

AI Suspects You Can Interrogate

Select a character on your phone and ask questions in your own words. Suspects respond in character, using their own voices, with their answers played on the TV.

Their responses are grounded in the information the group has earned. Present the right evidence, and their stories may change. They can lie, dodge questions, and become defensive — but they must never reveal the solution prematurely.

Five Complete Mysteries

RoomRiddle launches with five distinct, pre-built cases, each designed as a self-contained data module:

  • The Last Train — A noir thriller filled with secrets and suspicious passengers.
  • The Hollow Manor — A gothic mystery built around an unsettling manor and its secrets.
  • Signal Lost — A technology-themed mystery that challenges players to piece together what went wrong.
  • The Forgotten Temple — A family-friendly mystery designed for ages 8 and above.
  • The Yaksha's Three Questions — An untimed, all-ages mystery inspired by the Mahabharata's Yaksha Prashna, featuring original puzzles.

3. How We Built It

RoomRiddle uses a distributed architecture that connects a cinematic TV experience, a phone-based multiplayer interface, a deterministic game engine, and a carefully guarded AI layer.

TV Application — React Native and Vega OS

Built with React Native, TypeScript, and React Native 0.83, the TV application targets Amazon's Vega OS. It is built using the Vega SDK and tested on the Vega Virtual Device (VVD).

Key components include:

  • Remote-first focus navigation and typography optimized for the 10-foot viewing experience.
  • A data-driven 2.5D scene renderer.
  • An audio director coordinating music, ambience, sound effects, and voice playback with audio ducking.
  • Media playback using @amazon-devices/react-native-w3cmedia.

Phone Application — Lightweight Web Technology

The companion interface is a dependency-light mobile web application built with plain TypeScript and the DOM, bundled using esbuild.

It is served by the game server, allowing players to join through a QR scan without installing a separate application.

Multiplayer Server — Node.js, TypeScript, and WebSockets

The server acts as the single source of truth for the entire game.

Rooms, reconnections, timers, and game rules are managed centrally through a pure, deterministic game engine shared by all clients.

Clients send player intentions — such as submitting an answer — rather than declaring their own results. The engine validates each action and determines what happens next, keeping the game state consistent across devices.

Mysteries as Data

Each mystery is represented by a structured data module containing:

  • Scenes and interactive clues.
  • Puzzles and solutions.
  • Three-level hint systems.
  • Story endings and progression rules.
  • Character truth tables defining what each character knows, lies about, and reveals when specific evidence is presented.

Adding a new case means adding a data module rather than rebuilding the core game engine. Every case undergoes validation and a complete automated playthrough in continuous integration (CI).

Guarded AI — Useful Suspects Without Spoilers

The AI layer is designed to act as an actor, not a game judge.

The server constructs each prompt exclusively from facts the room has unlocked. Locked information, hidden solutions, unrevealed hints, and puzzle answers are never intentionally included in the model's context.

Every generated response is checked for spoilers, puzzle answers, and out-of-character content before it reaches players. If a response fails validation, the system replaces it with an authored line.

RoomRiddle uses free-tier models, currently Groq's gpt-oss-120b, with per-room question budgets, cooldowns, and caching to control usage.

The entire game remains playable with AI switched off. The deterministic game engine continues to handle all essential game logic.

Character Voices and Audio Streaming

RoomRiddle uses free neural text-to-speech services, including Microsoft Edge voices, with Groq Orpheus as a fallback.

Each character has a consistent voice. Generated audio is converted to AAC in fragmented MP4 format on the server and streamed to the TV through Media Source Extensions (MSE).

Subtitles remain visible so players can follow the dialogue even when audio is unavailable or difficult to hear.

Automated Testing

As of October 12, 2026, the project has 240+ package/server tests and 75 TV tests, including tests designed to challenge the AI guard with spoiler-seeking prompts.

These tests help validate the game engine, mystery data, TV experience, and protections against unintended disclosures.

4. Challenges We Ran Into

We maintained a detailed friction log documenting 14 development challenges. Four of the biggest were:

Developing for Vega OS on Windows

The Vega SDK officially supports macOS and Ubuntu, while our development environment was Windows.

We got the full toolchain and Vega Virtual Device running under WSL2 with nested KVM. Along the way, we worked around missing runtime libraries, corrupted packages caused by building from a Windows-mounted drive, /dev/kvm permission issues, and a virtual device that could not reach the Windows host. We ultimately wrote a small TCP bridge to solve the connectivity problem.

WebSocket Messages Arriving in Pieces

The TV occasionally failed to transition when it missed the game-started message.

The underlying issue was that the Vega WebSocket bridge could split text messages into multiple chunks. We updated the client to reassemble the incoming stream into complete JSON messages before processing them.

Solving Silent Audio Playback

The W3C media player rejected plain http:// sources without returning a useful error. Bundled audio also required correctly formatted asset paths.

For AI-generated voices, we implemented a fetch-to-Media-Source-to-player pipeline and added server-side transcoding to fragmented-MP4 AAC. This made voice playback compatible with the TV's media pipeline.

Keeping the LLM Honest

The biggest AI challenge was making suspects feel convincing without letting them reveal the mystery.

We addressed this by constructing prompts only from unlocked facts, validating generated responses against spoiler and answer checks, and falling back to authored dialogue whenever a response failed validation.

5. Accomplishments We're Proud Of

  • Believable AI suspects: Characters can dodge questions, lie, become defensive, and change their stories when presented with the right evidence — without being allowed to give away the solution.
  • Five complete mysteries: Every case is data-driven, validated, and automatically played through end to end in tests.
  • Instant multiplayer onboarding: Players join the investigation by scanning a QR code, with no app installation or account required.
  • A complete TV-and-phone experience: The big screen presents the cinematic investigation while individual phones serve as interactive notebooks.
  • AI as an optional enhancement: The core experience remains playable even when AI services are unavailable or switched off.

6. What We Learned

Building for a TV Is Different

We learned how Vega OS applications are built, packaged, tested, and debugged, and how a remote-first interface differs from a mobile application.

A TV experience needs clear focus states, readable typography, predictable navigation, and interfaces designed for viewers sitting several feet away.

AI Should Be an Actor, Not a Judge

The deterministic engine decides the rules, validates answers, controls progression, and protects the mystery's secrets. The AI gives characters a more natural voice without controlling the underlying game state.

This separation makes the experience more predictable and keeps essential gameplay independent of AI availability.

Documenting Friction Accelerates Development

Recording problems as they occurred helped us identify recurring issues, preserve solutions, and avoid repeatedly investigating the same failures.

Our friction log became a practical engineering resource throughout development.

7. What's Next for RoomRiddle?

RoomRiddle is designed to grow beyond its initial five cases.

Our next priorities include:

  • An expanding mystery library: Add more cases through the existing data-driven architecture.
  • A mystery creator: Let families and teachers build their own investigations and puzzles.
  • Saved progress: Allow players to pause a case and return to it later.
  • A smoother Fire TV launch experience: Add a QR-code and Content Launcher entry point for joining and resuming games.
  • Hands-free interrogation: Explore an Alexa voice interface for questioning suspects without using a phone.
  • A downloadable mystery marketplace: Enable players to discover and download additional cases without requiring changes to the core application.

Our long-term vision is to turn the living room into a shared world of mysteries where every player contributes, every clue matters, and every family game night becomes a story worth remembering.

Built With

Share this project:

Updates

Submission history