Inspiration

Most horror games react to what you do: where you move, which door you open, how much noise you make. We wanted something more real. What if the creature could react to your heartbeat and breathing, and what if calming yourself down was how you survived? We also noticed that horror is often more fun with someone else. Friends crowd around the screen, a stream chat yells "it's behind you". So we asked a second question: what if the person watching wasn't just watching, but was the player's lifeline? That became HUSH: a horror game where your body becomes part of the game, and a friend on another device can help you escape.

What it does

You are a researcher trapped in a sealed, windowless shelter after a blind creature escapes containment. It can't see, but it can detect fear, and tries to locate you through sound. You can't see it: you track it through footsteps that get louder and faster as it closes in (coming from the direction it is in), pings on a sonar scope, pounding on the walls, and its distorted voice. You have five minutes to escape through the basement before the creature can locate you. Each of four research stages releases one of the basement door's four locks. The tasks include:

  • fixing faulty machines by ear
  • patching cable panels and routing power
  • repeating growing signal sequences
  • masking your heartbeat by tapping a false one
  • marking the creature's position on the sonar Every task is noisy, so the creature keeps coming while you work, but not fixing it creates louder noise. You have three isolation cells that cut the power and go silent until it moves away. Once it commits to an attack at the wall, it's too late. The special part about the game is that your body is part of it. With your permission, the webcam uses Presage to estimate your heart rate and breathing and builds a personal baseline in about 30 seconds:
  • A sustained elevated pulse gives the creature a clue and makes the heartbeat and calm tasks harder.
  • The false heartbeat beats at your own resting pulse.
  • The calm pacer starts at your own breathing pace and slowly guides you down.
  • Calming back down after a scare is rewarded: the creature loses your trail for a few seconds.

After each run, a report charts your pulse and breathing over the whole game.

Play with a friend feature: One link turns a friend on another device into a second player:

  • The manual: The friend holds a manual generated fresh for each run. The player describes the fault sounds and the symbols on their panels; the friend looks up the answers and calls the breathing rhythm during the calm hold.
  • Warnings and decoys: The friend can flash a warning lamp inside the shelter when the creature gets close. They earn remote decoys by solving copies of the player's own puzzles, and firing one makes noise far out in the trees that briefly pulls the creature away.
  • Voice chat. Optional voice chat lets them talk. But in co-op, the player speaking above a whisper is noise the creature can hear.
  • The second player sees a shelter camera drawn from the live game state, a map, a combined FEAR reading and heart-rate line, the game's own sound, an optional narrator, and a "reaction cam" that fills the screen with the player's face when something hits the door. Viewers can bet on whether the player escapes, and at the end there's a shareable recap with a predictions leaderboard.

How we built it

  • React, TypeScript, Three.js and Vite for the low-poly shelter, the interactive equipment and the interface. A fixed-step game engine owns every rule, so rendering and input never wait on a network call.
  • Presage SmartSpectra for webcam vital signs, breathing and facial signals.
  • Claude created models and animations for the opening and closing cut scenes, assisted with visual UIs, and logistical implementations of the game features, including several game algorithms and sound effects.
  • ElevenLabs for the radio voice in the tutorial and the recorded briefing.
  • SpacetimeDB on Maincloud for multiplayer sessions:
    • the spectator's game feed, vitals and FEAR reading, live processing data from Presage
    • the co-op manual pages and the friend's warnings and decoys
    • predictions and props that physically jump when the creature hits the door
    • the handshake for peer-to-peer video and voice

Every write is validated on the server, and sessions delete themselves after 24 hours.

  • Pre-rendered opening and ending films built from our own Three.js scenes, with captions timed to sound. Privacy was taken into account while building. Camera frames never leave the device unless the player shares live video, which then goes peer to peer and isn't recorded.

Challenges we ran into

Reliable physiology. Camera estimates drop out with movement and lighting, the SDK needed careful handling of who owns the camera, and breathing needs a 30-second window before it means anything. We addressed this by comparing readings to a baseline that records at the start of the game, requiring sustained changes instead of single spikes in order to impact the game.

Making the spectator matter. Our first implementation of spectator view was very passive. Taking inspiration from other multiplayer spectator games, we gave the friend information and controls the player doesn't have, so the team needs both people to win.

Consistent Visuals. Using Claude to generate models for cut scenes and gameplay could be excruciating as we did not have fine grained control to make the model look exactly how we wanted it to. However, it also allowed us to complete all the models necessary for this part of the game within the span of this one hackathon.

Accomplishments that we're proud of

  • A game that is tuned to a player's physiological state, reacting to their reactions. We're also happy to have made the game playable without tracking, depending on what the player wants.
  • A co-op mode where both players are needed, from reading the manual to holding the second key.
  • Multiple puzzle games within the game, all aligning to the central task of the game's storyline
  • An AI-directed creature that stays fair, because the game checks everything the model proposes.
  • Hundreds of automated tests covering the game rules, privacy limits and networking.

What we learned

Combining AI, sensing and a real-time game means coordinating systems that run at very different speeds. The game has to stay responsive while a sensor estimates, a model replies and the database updates. We learned to coordinate all the processings simultaneously.

We also learned how much "fear" could be monitored and implemented from the limited information of a webcam, which was what really allowed our game to come together as we wanted it to.

What's next for HUSH

  • Level 2!
  • More testing with live cameras across different lighting and hardware, plus two-device playtests to balance co-op.
  • More puzzle variety, and more for spectators to do between stages.
  • Multiple versions of the game with increasing difficulty, both with time constraints and puzzles, so that it retains some replayability
  • Accessibility polish and a mobile-friendly friend view; more engaging tasks for the spectator.

Built With

Share this project:

Updates

Submission history