Two things I’ve really wanted since day one of this audio overhaul: Realistic sound travel time, and some sort of AudioDelay
component
Inspiration
In real life, sound is made up of pressure waves, and pressure waves take time to propagate through the air, usually around 345m/s (~770mph). This means sound information takes a considerable time to travel from A to B, unlike light (which, in comparison to sound, might as well be instantaneous). This is how the beloved Doppler effect exists.
I’ve been playing a certain stormchaser title recently, and while the sound design can be really good at times, one glaring issue I’ve noticed is the lack of sound physics. When lightning strikes, thunder is heard immediately afterwards. This makes thunderstorms feel tiny and insubstantial.
While you can achieve this with scripting, it requires you to develop your own custom sound system. It’s prone to jank. Rightfully, most people would rather focus on something else instead.
I’m proposing two different components: AudioDelay
and AudioPhysics
AudioDelay
would be a dead simple component that delays an audio signal by a fixed time. Simple, to the point.
Currently you can achieve this with an AudioEcho
, disabling DryLevel and Feedback and using DelayTime and WetLevel, but this causes a bunch of weirdness, like ear-piercing crackling and popping… clearly not the intended use case for this component.
AudioPhysics
would be a specialized AudioDelay
that specifically simulates sound propagation delay, with an adjustable speed of sound. This would have the added benefit of being directly tied to the physics/sound engine, and being more efficient than any Luau-based solution.
As always, absolutely loving what the Audio Team’s been cooking up so far. Audio tech in Roblox (and video games in general…) were always kinda lackluster. Huge props to everyone involved.
If you need this to be a dedicated feature request, just ask. This just seemed like the most appropriate place.