← Devblog

The house hums

Until today the game was silent, and now it isn’t, and the audio directory doesn’t exist. Every sound is synthesized at runtime — sine waves, noise, and envelopes assembled into WAV bytes in memory when the game boots. Zero assets. The whole soundscape costs about 14 KB of code, which is less than one second of an MP3.

What you actually hear, from the bottom up:

The nerdy bit: browsers refuse to play audio before the user interacts with the page, which is usually an annoyance to engineer around. Here it required no engineering at all, because the game already opens on a newsletter that waits for you to press any key to clock in — and the moment you clock in, the house starts humming. The autoplay police and the fiction wanted the same thing. First time for everything.

The synthesis half is pure functions with twelve headless tests of its own — WAV headers valid, loops seam-checked sample-against-sample so they cycle without clicks, every sound checked for actual signal and against clipping, and one test that literally asserts the seal is the loudest thing in the game so nobody un-decides that by accident. M mutes everything, next to C for the visuals — the whole presentation layer is optional; the clockwork underneath neither knows nor cares.

Total damage: 775 KB of WebAssembly, still assetless, still smaller than the screenshots of it.