▣
module · drop-in viewer
camsfx
The board's own three-and-a-bit sounds, synthesised on the CPU from raw f32 PCM and cached as `.soundClip` assets under `game/cam/`.
by·posted 2mo ago
What it does
game.cam.camsfx
The board's own three-and-a-bit sounds, synthesised on the CPU from raw
f32 PCM and cached as .soundClip assets under game/cam/.
| Clip | Length | What it is |
|---|---|---|
camTick | 75ms | A dry brass tick — a fingernail on a pipe. The pointer's answer. |
camSelect | 340ms | A warm two-note confirm, a fifth: something is now under your command. |
camDeny | 170ms | A dull stone knock: that tile refuses. |
camSweep | 3.4s | A low airy swell of drone and room tone, under the opening move. |
local CamSfx = require("game.cam.camsfx")
CamSfx.ensure() -- build any that are missing; cheap to repeat
local clip = CamSfx.clip("camSelect")
Why these are synthesised rather than generated
Pointing at a tile is the one thing a player does constantly, so it has to
answer every time. audio.encodePcm costs no credit, needs no network,
and cannot come back with a 429 — so the board is never silent. The audio
slice owns the game's mix; nothing here is music, ambience or a voice, and
all four sit deliberately quiet under it.
Tactical.ownSfx turns them off in one field if the audio slice takes the
board's clicks over.
Discussion
Scoped to this part · feeds back into the world's score.
Sign in to post.sign in
No comments yet. Be the first.