Wake The Neighbors
Windows desktop game v2.1.0 · built for Camp Mechaya

A game we built for Camp Mechaya

The louder the room,
the higher he jumps.

We wanted something a whole bunk could play at once, so we made the microphone the controller. Point it at a room full of kids, put the game on the projector, and everybody is playing — nothing to hold, nothing to pass around, no turns.

We have run it for about 400 people in one room, off a single microphone. What is on the right is a small version of the real thing, running the rules we built — press play, then shout.

Holler Hop PLAYABLE
0 HI 0
HOLLER HOP

Scream to jump the pipes. The louder you are, the higher he goes.

Want it for your room? License it
LOWTRIGGER 0.50HIGH

Running the arithmetic we shipped: volume = RMS × 8 × gain, trigger fixed at 0.50, and the peak of the scream sets how high he goes — so a taller pipe needs a louder room. Nothing is recorded or sent anywhere.

Wake The Neighbors is available to license. Camps, schools, simchas, staff events — we set it up for your room and your microphone.

Get in touch
Biggest room so far
~400people playing at once
What they hold
Nothingthe room is the controller
What we shipped
One installerper-user, no admin, offline
What we built it with
ElectronPixiJS + Web Audio

Why we built it

We wanted a game a whole room could play at the same time

Every party game for a big group has the same bottleneck: one device, one pair of hands, and everybody else watching. Split a crowd into turns and a room of four hundred becomes one player and three hundred and ninety-nine spectators.

So we took the device out of it. We made the input how loud the room is, which means participation scales with the size of the crowd instead of being divided by it — and the kids shouting hardest are the ones doing best.

The usual way
What we built
One kid holds the controller
Everyone is holding it
Turns, queues and a device to pass around
Nothing to pass, nothing to share
“Quiet, please, we’re playing”
The noise is the whole point
The operator fiddles on the projected screen
The console stays on the laptop
Guessing whether the mic is even picking up
A live meter and a visible trigger line

How we turn a shout into a jump

Four things happen in the time it takes to yell

A crowd will forgive almost anything except lag. If the jump does not land while they are still shouting, the room stops believing it is doing it — so this is where most of the work went.

~10 ms cadence

Captured

We read frames straight off the microphone track, and we deliberately switch off echo cancellation, noise suppression and auto-gain — in this game the crowd noise is the signal, not something to clean away.

One number, 0 to 1

Measured

Each frame becomes a single loudness value, scaled by the sensitivity slider, so a quiet hall and a gym full of kids can both be tuned to the same trigger line.

Louder = higher

Triggered

Crossing the line starts a short peak-hold, and the peak decides how high the jump goes. We added a grace window either side, so a scream that lands slightly early or late still counts.

60 fps on WebGL

Drawn

We draw the world with PixiJS and log performance as it runs — every stutter is tagged with the game that was on screen and the mic level at that instant.

What we changed along the way

The five versions that mattered

Every one of these came out of watching it get used, not out of a plan.

1.6.0TWO SCREENS

We split it into two windows

Sliders and dropdowns were sitting on the projected image where the whole room could see them. We moved every control into a separate console window on the laptop and left the projector with nothing but the game.

1.6.1LATENCY

We chased the lag into the audio graph

Screams were landing about a second late. The logs cleared the frame rate and the game logic, which left the capture path — a sample-rate mismatch was quietly building a buffer between the microphone and the game. We matched the rates and started recording the numbers every session.

1.6.2THE REAL CAUSE

We measured two capture paths against each other

Rather than keep tuning by feel, we ran the standard approach and a lower-level one head to head on the same machine. The standard one lost every trial, so we replaced it — and every session now writes down which path it used.

2.0.0THE LINEUP

We cut what wasn’t working

A three-level story mode asked more of a crowd than a crowd will give, so it went. Free Jump stopped pretending to be a game and became the mic check — the two minutes before you start, which turned out to be one of the most useful screens we have.

2.1.0LEVELS

We gave both games somewhere to go

A good run now bumps a level, throws a banner, speeds the world up and cycles the sky — day, sunset, night, dawn, dusk. A long run visibly travels somewhere, which is what makes a room want one more go.

Two screens

The crowd never sees the controls

We have the app open two windows. The projector gets the clean game and nothing else — no sliders, no dropdowns, no operator panels floating over the world. The laptop gets everything you actually touch.

The console picks the game, sets the sensitivity, chooses the microphone and throws the display fullscreen. The display streams the live mic level back to it, so whoever is running the night can calibrate against a real scream while the room is still looking at a title screen.

On the laptop

Games, sensitivity, mic picker, restart, fullscreen, logs.

On the projector

The game, the score, and the result. Nothing else.

The operator console: game buttons with Holler Hop selected, a live mic sensitivity meter, microphone picker and display controls

On the projector

What the room is looking at

Every screen below is the real application, captured from a running build.

The title screen: WAKE THE NEIGHBORS over a dark violet wash, with a Test Mic button
Title We kept it deliberately near-empty. The game names itself across the wall, and the only thing on screen is the mic check — because the operator picks the game from the laptop.
Holler Hop: the runner mid-jump over a brown waddler, with a green pipe ahead
Holler Hop Our endless runner, and the one we open a night with. He runs on his own; the crowd screams to jump. A louder scream clears a taller obstacle, which is the whole reason the room keeps getting louder.
Flappy Voice: the bird in flight between green pipes under a blue sky
Flappy Voice Be loud to climb, go quiet to fall. We rate-limited the flap so a held shout becomes a steady climb rather than one spike — a sustained roar flies the bird instead of launching it.
Holler Hop game over screen at night showing a score of 139 and a best of 161
Run over The sky cycles as the run gets longer, so a good run visibly travels somewhere. We keep the best score between runs, which is what makes a room demand another go.
Mic check screen showing 55 percent with a level bar approaching the white trigger line
Mic check Not a game — the two minutes before one. Shout at the mic, watch the bar, slide the sensitivity until a normal scream clears the white line. Then start.

Built to survive a room

It runs once, in front of everyone

There is no second take with four hundred people. Whatever it does on the night is the version they remember, so we built for that night specifically.

We measured the lag instead of guessing

When screams started landing late we ran two capture paths head to head on the same machine rather than tuning by feel. The obvious one lost every trial, so we replaced it — and each session now records which path it used.

We made it say where it stutters

A rolling log summarises frame times once a second and writes a line the moment a single frame stalls, tagged with the game and the mic level. We capped it, so it keeps the recent history forever and can never fill a camp laptop.

We drew every pixel ourselves

The runner is hand-drawn art we packed into a sprite atlas with a script that has no dependencies. The pipes, hills, clouds and enemies are drawn in code. Nothing is borrowed from the games it nods to — only the physics constants, with credit.

We left nothing to sign into

One installer, per-user, no admin rights, no accounts, no internet. It asks for the microphone the first time it runs, and after that it asks for nothing at all — which matters when camp wifi does what camp wifi does.

What it comes down to

Being loud turns out to be a skill

We have run it in front of about four hundred people at once, and we never had to explain the rules — the rule is visible in the first three seconds: shout, and the man on the wall jumps. Stop shouting and he doesn’t. Everything after that is just how far the room can get.

The parts that took the work — getting a scream on screen fast enough to feel caused, making one microphone behave the same in a gym and a living room, keeping every control off the projector — are the parts nobody in the room ever thinks about. Which is exactly what we were going for.