Log inGet started
World

Blockbuster 767

Branchmain
Branchesmain
Commit8e9b87fcce

README.md

recipes

Every synthesised sound in BLOCKBUSTER 767, written down once — the wind-up march, the playroom room tone, the motor, the air, and the fourteen one-shots the game fires by name.

Nothing here runs at play time. game/audio/bake.luau renders each recipe into a .soundClip under game/audio/clips/; SoundDirector plays those assets. Change a recipe and run the bake again:

execute { file = "/zero/source/game/audio/bake.luau", args = { force = true, only = { "collapse" } } }

Each entry names the sample rate, the channel count, the codec, the mixer channel the sound belongs on, and the peak it is normalised to. A loop is codec = "pcm": an Opus clip loses about 5 ms off its head on decode and clicks at the seam. A one-shot is Opus and does not care.

A loop is seamless by construction, one of two ways. Synth.snap puts every partial on a whole number of cycles over the loop and wrap = true folds a decay round the end, which is how the music bed comes round on the downbeat. Where noise makes that impossible, the recipe renders long and Synth.seamless crossfades its own tail back over its head — the two frames either side of the join were adjacent in the original, so there is no step there at all.

Synth.seamGap reads the distance between the first and last frames. Under about 0.02 nothing is audible; a noise bed reads higher than that simply because two adjacent noise samples differ, which is not a seam.

The peaks leave headroom on purpose. Everything here was measured playing alone against a silent mixer (audio.peakSince), and nothing reaches the master above about 0.77 — so a collapse under a music bed under a voice line still has somewhere to go.