Loudstacking (Slash Command)

From Homecoming Wiki
Jump to navigation Jump to search

Slash command

/loudstacking [0-1]

Enable old eardrum-busting sound stacking.

  • 0 = disable, 1 = enable. Default is 0.


From @Number Six:

"When a power hits multiple targets and also has a per-target hit fx that played a sound, N copies of the sound get queued to play at exactly the same time.

Normally if you play the same sound twice, the waveforms line up exactly and it causes the amplitude of the wave to double, increasing the loudness by about 6dB. For 3 targets it triples the amplitude, so about 9.5dB louder than the original. That also very quickly leads to clipping when the waveform gets pushed beyond the sample range - that crackling noise that could sometimes be heard on a really big howling twilight cast.

It was changed because it's inconsistent and surprising that while most powers produce sounds in a specific loudness range, a small number could be radically louder by multiple orders of magnitude. Not a good new player experience and there have been quite a few complaints about game volume.

Now when the sound system is told to play a sound that is already queued to play at the same instant, two things happen:
A small random delay (0-0.1s) is added to prevent the waveforms from stacking. Instead of a single sound getting louder it sounds more like a chorus of multiple sounds. This also helps prevent ugly sample clipping.

The additional copies of the sound have their volume reduced by multiplying it by 1/(Q+1) where Q is the number of copies of the sound already queued. The second copy is 50% volume, the third copy at 33%, 25%, etc. This means that the loudness range of the power is still technically unconstrained but in practice for most powers is within the 1.5x to 3x range, depending on how many targets are hit. That keeps things from getting out of control and being way outside the normal range. This can be seen most easily with long sounds like Howling Twilight. This would also apply to the foot stomp example, but be a lot harder to tell the difference because PunchHit2 is a short sound.

If you really want to destroy your eardrums when hitting 16 targets... I just added a slash command to the upcoming page 6 code to disable the new queue handling.
/loudstacking 1
Should do the trick. It's a persistent setting that goes in the json file so it'll remember it across play sessions, but not one that I'm putting time into adding to the UI."


Example

/loudstacking 1


Also