Case study
Resonance
A sound overhaul for RimWorld that tracks where every sound comes from and what it has to pass through to reach you: walls, doors, distance, then plays it quieter and duller to match.
Problem
RimWorld's ambience is a handful of loops that play the same no matter where you are. Nothing tells you where a sound is coming from, and nothing changes when there's a wall between you and it. I wanted a version where a campfire sounds like a campfire and roughly where it is, where an open door sounds different from a closed one, and where a footstep on metal doesn't sound like one on grass.
Approach
The core is a model of how sound actually reaches you. Every room on the map knows its real path to the outdoors: which doorway, how many rooms deep, how much wall is in the way. Sound through an open door arrives positioned at the door and grows as you walk toward it. Through a closed door less gets through and it's duller. Through solid wall a little still comes through, quieter and much duller and from every direction at once, because that's what happens in reality: bass passes through mass better than treble, and it spreads instead of beaming. Build a wall mid-game and the sound reroutes within a frame.
On top of that model sits the detail. Fourteen footstep surfaces, with snow read from the actual depth under the pawn since RimWorld has no snow terrain of its own. Reverb derived from each room's real size, shape, and wall material, so a closet sounds tight and a metal hall rings. Thunder timed to the lightning strike on your map and delayed by how far off it hit. Water you can hear from the nearest shore. Buildings that loop only while they're genuinely running, so a generator switched off with fuel still in it stays silent, which makes the audio a reliable read on what's actually powered. Every setting is on a hotkey and spoken aloud when it changes, so none of it needs the settings window open.
Outcome
It's out on the Steam Workshop for RimWorld 1.6. It works on an existing save and removes cleanly, because it stores nothing of its own. The part I'm most sure about is the diagnostics: "it sounds wrong" is close to impossible to fix from a description, so the mod writes a full text snapshot of everything the audio engine knows the moment you press a key, the geometry it sees as a grid, every active sound with its volume chain in decibels, and a plain verdict for each one. That snapshot has caught real bugs where the mod thought a wall was somewhere it wasn't, and it's the reason a vague report turns into a fixable one instead of a round of guessing.
Built with
- C#
- Harmony
- RimWorld 1.6
Links