Sound Design: The Cheapest Juice You're Not Using
Audio is the single highest return-on-effort polish in all of game development, and it's the thing solo devs ignore the longest. A jump with a crisp sound feels twice as good as a silent one โ for about thirty minutes of work. Players experience sound as feel, not as "audio," which is exactly why it's so powerful and so invisible.
Why sound punches above its weight:
- โธIt fires faster than the eye processes. A hit sound lands before the hit animation fully registers, so it front-loads the feedback.
- โธIt carries information the screen can't always show โ off-screen danger, a successful pickup you weren't looking at, the difference between a light and heavy hit.
- โธIt's emotionally direct. Pitch, attack, and timbre hit the nervous system without going through conscious thought.
The beginner's toolkit:
- โธPitch variation โ the single best trick. Playing the same sound at a random pitch between 0.9x and 1.1x makes 100 repetitions feel fresh instead of grating. Footsteps, coins, jumps โ vary the pitch every time.
- โธLayering โ a satisfying impact is usually 2โ3 sounds stacked: a low "thud" (body), a mid "crack" (impact), maybe a high "tick" (detail). One sample rarely satisfies.
- โธSilence as contrast โ sound only feels loud relative to quiet. A held breath of near-silence before a boss makes the first hit land like a hammer.
- โธAudio feedback for state โ a low-health heartbeat, a pitch that rises as a timer runs out. The player feels the stakes without reading a UI.
Where to get sounds for free: freesound.org, sfxr/Bfxr (generates retro SFX from a button mash), and your own mouth + phone recorder. Many beloved game sounds are someone making a noise into a mic and pitching it.
Game to Study
Celeste (dash) / any Nintendo game
Play 60 seconds of your platformer with the sound ON, then with it OFF. Write down exactly what feels different. Then count: how many distinct actions in your game currently make *no* sound at all?
Unity Tip
In your AudioSource play calls, set `source.pitch = Random.Range(0.92f, 1.08f)` right before `source.Play()`. One line. Apply it to jumps, footsteps, and coin pickups. The repetitive sameness vanishes instantly.
You have one hour to improve your platformer's feel and you choose to spend it entirely on audio. Walk me through your priority order: which sounds do you add or fix first, what's the pitch-variation and layering plan, and why is audio a better use of this hour than, say, a new particle effect?