ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
676 stars 203 forks source link

Extreme volume spikes/loudness possible #2343

Open Skasi opened 7 years ago

Skasi commented 7 years ago

When joining running games it's very common to get a dozen pings or other sounds all played at the same time which causes extremely uncomfortable volume spikes and really hurts ears. This should never happen! It's a big nono and needs to be removed somehow. Players shouldn't be afraid of losing their hearing due to Spring/ZK.

DeinFreund commented 7 years ago

Many modern (casual military) games run some kind of compressor on the output to make it possible to have loud gunshots but not lose your ears. Such a compressor could be used to limit loudness of end game battles and balance the soundscape. How about asking for such a feature by spring?

GoogleFrog commented 7 years ago

Needs an engine request. Identical simultaneous sounds currently have a volume boost and this boost needs a limit. Check the sound defs for whether such a setting already exists.

Skasi commented 7 years ago

Here's what I got:

There's "maxconcurrent" for https://github.com/ZeroK-RTS/Zero-K/blob/master/gamedata/sounds.lua but I don't think the files there are played for chat/map pings. Instead I think this is used https://github.com/ZeroK-RTS/Zero-K/blob/4cab6c2eb6db6165e7eafa8b1188183d5634398d/LuaUI/Widgets/gui_chili_proconsole_test.lua#L90 but there's no maxconcurrent there.

There's also another way to prevent sound volumes from adding up: https://springrts.com/wiki/Sounds.lua#Using_PitchMod_to_prevent_loud_explosions.3D

GoogleFrog commented 7 years ago

I'm calling this minor because the non-chat/label occurrences of this issue are rare.