feat: audio system with 15 procedurally generated sounds via soundgen

- AudioEngine with rodio (WAV playback, throttling, volume, toggle)
- 15 embedded sounds: jump, shoot, hit, explosion, death, pickup, descend,
  powerup, step, lava_bubble, acid_sizzle, water_splash, fire_crackle,
  ui_click, goblin_growl
- Sound events: shoot, hit, explosion (fireball), pickup, descend, powerup,
  jump, combat hit, ambient material sounds (lava/fire/acid/water)
- M key toggles audio in GPU modes
- Ambient sounds: scans 15-cell radius around player, plays throttled sounds
  for nearby lava/fire/acid/water
- AudioEngine gracefully degrades when no audio device available
- All 185 tests + 14 scenarios pass
This commit is contained in:
Emil
2026-06-22 00:03:27 +03:00
parent 24b6d0320f
commit 9ce45cff4a
22 changed files with 236 additions and 0 deletions
+1
View File
@@ -86,6 +86,7 @@ GPU (`--mode ascii` / `--mode graphics`):
- `r` — drop first inventory item
- `1`–`0` / `x` — paint material brush
- `y` / `u` / `i` / `o` — move camera offset
- `m` — toggle audio
- `q` / `esc` — quit
## Shaders