Skip to content
suryanarayanrenjith edited this page Jul 26, 2026 · 2 revisions

Audio

Home · Graphics · Configuration

Audio architecture

Sound effects are generated in-browser with the Web Audio API after the first permitted user interaction. The SoundManager creates buffers for effects and routes them through a master gain bus and low-pass filter. This avoids dependence on a large external SFX library.

The master bus can apply low-health / slow-motion muffling: it reduces the filter cutoff toward roughly 600 Hz and ducks volume, then restores clarity as the effect ends.

Positional audio

The mixer supports true 3D placement. A PannerNode stage sits between each positional voice and the master bus, and a listener driven from the camera is updated once per frame after all camera motion (look, recoil, crouch height, weapon inertia) has resolved.

Property Value
Panning model equalpower — HRTF costs roughly an order of magnitude more CPU, and a busy fight runs dozens of concurrent voices
Distance model inverse, reference distance 8 units, maximum 120 units
Routing Through the master bus, so slow-motion muffling, master volume, and stop-all all still apply

Positional playback is applied deliberately, not wholesale. Enemy ranged bolts, Sentinel fire, melee wind-ups, enemy deaths, explosions, and world bullet impacts are placed in the world — a sniper bolt from off-screen is the single most useful directional cue in the game. The player's own weapon, reload, and footsteps, plus all interface cues, stay non-positional on purpose: panning your own gun is immediately noticeable and wrong.

Looping positional emitters are also supported and return a movable handle, so a caller can reposition, fade, and stop a sustained source.

Music and ambience

  • The repository includes one music asset: public/audio/Beyond_The_Overgrowth.mp3.
  • Menu music has a separate persisted mute control.
  • In-game ambience is the procedural adaptive score, whose always-on bed layer exists specifically so silence never reads as dead air. There is deliberately no separate filtered-noise ambient loop — one was generated but never played, and layering it under the score would only have added a constant hiss.
  • Map-specific ambient audio files were not found; weather and map atmosphere are primarily visual/particle systems.

Procedural SFX

Category Confirmed sounds
Weapons Distinct generated reports for Pistol, Rifle, Shotgun, SMG, Sniper, Minigun, and Launcher; dry fire, reload, weapon switch, and brass casing.
Subverter Digital chip deploy, failed-target buzz, overclock burnout, and chip-cartridge reload.
Explosions Three weights — barrel, rocket/grenade, and nuke — so blast size is distinguishable by ear.
Bullet impacts Material-matched wood, metal, stone, and dirt hits, selected from the surface the decal system has already classified.
Enemy vocals Alert chirp, melee wind-up growl, death cry, and a low boss roar.
Combat Body hit, headshot ping, player hurt, dash whoosh, and footstep/crouch feedback.
Progression Distinct cues for perk pickup, achievement unlock, and objective completion, plus the wave-complete fanfare and streak/ability feedback.
Interface Menu music mute and UI interaction feedback through existing effect cues.

Weapon fire applies a small random playback-rate shift so automatic fire does not sound like an identical loop. The Shotgun, Sniper, and Launcher use heavier synthesized body/punch profiles than the Pistol or SMG.

Explosions, impacts, and vocals

Three families were previously missing outright and are now synthesized:

  • Explosions model a real blast in order — an instantaneous crack, a wide-band noise body whose lowpass closes over time so the sound audibly darkens as it expands, a swept sub-bass thump, and a long diffuse rumble. A single scale parameter grows all four together. Rockets, barrels, and the nuke previously produced no explosion sound at all; the launcher's 150-damage round landed silently.
  • Bullet impacts on the world share one model at four settings: a contact transient, a short pitched body representing what was struck, and a debris tail. Metal rings inharmonically, stone cracks, wood thocks, dirt thuds. Rounds that missed an enemy previously landed in silence.
  • Enemy vocals are a two-formant buzz over a pitch contour with servo whine and gearbox grit, so they read as a machine shouting rather than an animal. Pitch tracks chassis mass and the contour direction distinguishes an alert (rising) from a death (collapsing).

The boss roar is deliberately non-positional: it announces an arrival the player cannot yet locate.

Volume controls

Settings exposes master, sound-effect, and music volume controls, along with a sound test. Haptics are not audio; they are independent mobile vibration patterns and can be disabled.

Footsteps and voice

There is a generated footstep effect used for movement/crouch feedback, attenuated by heavy rain. No recorded per-surface footstep library, spoken dialogue, character voice acting, proximity voice, or voice chat implementation was found — enemy vocalizations are synthesized machine noise, not recorded speech.

Implementation references: src/utils/SoundManager.ts, src/App.tsx, public/audio/Beyond_The_Overgrowth.mp3, src/components/SettingsMenu.tsx.

Clone this wiki locally