Zero-K icon indicating copy to clipboard operation
Zero-K copied to clipboard

Sound rebalance step 2

Open GoogleFrog opened this issue 6 months ago • 11 comments

Feedback and discussion after testing https://github.com/ZeroK-RTS/Zero-K/pull/5516 on people.

GoogleFrog avatar Jun 27 '25 15:06 GoogleFrog

Some games:

  • https://zero-k.info/Battles/Detail/2206697
  • https://zero-k.info/Battles/Detail/2206701

In the first game I noticed that Shockley and Bertha impacts were barely audible. To the point that I couldn't tell whether they were making any noise, so it looked like a bug. The first game also saw the cloak/decloak effect of a Gunship Plant making Blastwings become noticeable globally.

Player response was overall negative, although not that many people remarked upon it.

[00:41] Rallehop: everything soudns kind of muffled [00:41] PLT_Chonkgoose: ye [00:41] crowbar: yes [00:41] GoogleFrog: yes [00:41] Rallehop: ok good [00:41] Rallehop: im not crazy [00:41] PLT_Chonkgoose: is it on purpose? ... [00:53] Rallehop: I think i agree that the full sound rework is odd, and that targetting specific sfx instead would be better

I agree with the assessment that it makes everything kind of muffled. Chonkgoose couldn't detect a difference with selection sounds, indicating that they may be a subtle improvement.

GoogleFrog avatar Jun 27 '25 15:06 GoogleFrog

Good feedback.

I'm going to attempt to put more of the "bite" back into some of the sounds as "muffled" is not the result I'm looking for, but instead "controlled and clear".

I think the first response being that the game is too quiet is going to be unavoidable as everyone has acclimated to the game being far too loud, and many people have the audio master volume set extremely low, or muted, as a result. Once people acclimate to the new levels designed to match other RTS games at 100% master volume, the old mix would be perceived as abrasive and blown out if it was switched to once the new one has the perception of being the default.

My first priority has been to make the game less grating and annoying, above everything else. Because if people are muting the game like sortale says he is in the replay (and I have done in the past), then none of the sounds are helping whatsoever. And the new player experience of getting a headache before pushing the master volume down to 10% is a bad first impression.

But, I've probably gone too far in suppressing annoying sounds and will dial it back up. The most annoying and grating sounds simply need a new higher quality sample to work from that isn't as annoying to hear repeatedly. I think this is the solution for the Bertha and Cerberus

Cleaning up the mix has been revealing issues that have always been present, but were obscured by how chaotic and abrasive the default mix is. I suspect the cloak/decloak sounds have always been working like this, they were just imperceptible because the cloak/decloak sound was so quiet and blown out by everything else. Before I started working on the mix, I didn't know cloak/decloak even had an associated sound effect. We could simply return it to it's virtually-imperceptible levels?

I'm not sure why shockley impact is playingf quietly as the emp_missile.wav I've uploaded most recentled boosted it back to very close to it's original levels. There may be something strange going on with missiles beyond just playing their .wav file as I think I've been experiencing different missile launches having different launch volumes despite them all being set to the same values playing the same .wav . I know sounds.lua has missile launch as a priority sound, is it possible that this is somehow only applying to EOS Tac Nuke Missile and not the other 4?

FrequentPilgrim avatar Jun 28 '25 18:06 FrequentPilgrim

I've finished going through the entire sound library. Nearly every sound has changed from the first pass, as I changed my approach fundamentally.

Now is a good time to get feedback before I polish any rough edges. My preference is for the files and code to remain in the way I've put them for now while I work from notes and feedback. Multiple people editing the balance using different approaches will, for now, slow down my work flow as I would have to spend more time processing what has changed instead of continuing my ongoing process. I'd like to get it as far as I can, implementing the changes myself, until it's time to fully hand it off and allow others to do whatever final tweaks are needed for the merge.

I'm leaving PitchMod off for now. I'd like to completely finish this sound balance and merge it, and only then when everything is fully balanced and stable should we introduce pitchmod as it's own Pull Request. It adds enough complexity on it's own that I don't think its worth delaying the benefits of the sound balance to get PitchMod functional.

I've attempted to address all of the "problem sounds" that plague the game:

Cerberus Dagger, Tremor, Dominatrix, Raptor (gremlin, toad), Nimbus, Big Bertha, Glaive, Scorcher, Cyclopse, Mace, Slow Missile, Halberd, Moderator, Buoy, Ogre

Check all of these out. Some are fairly straightforward and others are wildly different.

I've intentionally not addressed Disco Rave Party yet but I think it's not in a bad state, either.

FrequentPilgrim avatar Jul 11 '25 00:07 FrequentPilgrim

Thanks, I should have some time in the next few days.

GoogleFrog avatar Jul 13 '25 16:07 GoogleFrog

I was thinking about it and decided I should write up specifically what I've been doing and why so it there's less question of where I'm coming from and why I've made the choices I have.

The first pass was a good learning experience but failed for a couple of reasons.

  • I was relying too much on batch processing that introduced errors, thinking I could get it done in a few days with that process. This time I addressed each sound independently while knowing and testing it's in-game use.
  • I overworked the sounds with EQ trying to soften the harshness of the base samples. This created the "muffled" feeling. I moved away from this way of balancing to one that avoids those downsides.
  • I was flying blind in that I didn't have a full chart mapping every sound to every interaction in the game, which I now have and has been my "work list" this time.

In this 2nd pass I identified much better ways of cleaning up the sound design by identifying more of what the fundamental problems are:

  1. The freqeuncies ranges are way too wide, especially on the low end. I fixed this by usually applying a light Band Pass that's far less intrusive than the EQ I was batch applying before. This alone gets us a very long way, but it also reveals the sounds which are fundamentally broken because they provide most of their volume at a sub 60hz frequency - those needed either replacement or special attention. These inappropriate low frequencies attached to spammable actions is where most of the bad reputation for Zero-Ks sound comes from.

  2. Because the game loses sound distinctions with the inappropriatley wide ranging frequencies, it relies too much on VOLUME to make the player aware of key events instead of distinct sounds. While volume works as a stop-gap for attention, every time that the game relies on volume as a cudgel it hurts both the players enjoyment of the soundscape because it's unpleasant, and it interfere's with the player's ability to hear the parts of the battle which are not being amplified with volume. This creates an escalation of loudness problem, where sounds that have not had their volume boosted get lost in the chaos of late-game sounds.

  3. Too many different units sharing the same sounds, especially when those units have wildly different roles and rates of fire. This is especially an issue with rapid firing units. but also hurts the overall distinction of sounds. A great example of this is the halberd which uses the same firing sound as the bandit. There's no way to make a sound that is appropriate for both the bandit to fire ~5 times per second and the halberd to fire every ~1.5 seconds. Then, when the halberd does fire, it makes no impact upon the player because its a single instance of a sound with no distinguishing features; The player has heard small_laser_fire2 spammed hundreds of times for non-halberd attacks so can't register it as belonging to the halbed. small_laser_fire2 does not trigger the subconcious scanning for the halberd which is firing

  4. Rapid firing units have had play durations which far exceed their rate of fire. This causes the "layering" effect where, because a nimbus is firing ~6 times per second, and it's firing sound is ~1.2 seconds long, multiple instances of the firing sound start stacking up in layers until it reaches a rolling maximum of playing 6 sounds simultaneously-offset from then on. This sounds bad and "wrong" but is something I think long-time players have simply gotten used to. There's been attempts to contain this by lowering those unit's SoundStartVolume but because of how the engine handles multiple sounds this can't completely resolve the issue. The solution for this is that rapid firing units must have their play duration curtailed to be roughly in line with their firing speed. 2 or 3 "layers" of playback is OK, but more than that creates the sense that something is broken in the design.

  5. Too many sounds play duration is too long past the point of either distinguishment or impact. The "rolling mud" problem of big battles is caused by frequencies that are still lingering past their usefulness. The sounds range everywhere from slightly too long to extremely too long, and every trim improves the context for meaningful impacts to happen when they are no longer competing for frequency space with the tails of previous sounds. I've done a lot of trimming (making sure to never have an abrupt cut-off) to get us away from the Escalation of Volume problem and create the space for sounds to be identified by the distinguishing features instead of their volume and duration.

  6. Some sounds just sound bad and are annoying/low quality, or sit too in too narrow a frequency band with other similiar sounds. I've come to appreciate a lot of the thoughtfulness that's gone into Zero-K's sound design before I started working on it. Great theming and texture selections has taken us a long way, but a few can't be salvaged without a full rework or modifying it into a whole different idea. Other times the sound is OK but lacks the responsiveness that I thought the unit needs, IE I gave the moderator more of a tactile sound because it makes the unit more fun to use and informs both the user and the opponent of the dynamic of the fight, while also distinguishing the moderator from the rapid firing Bolas that it used to share a sound with.

For pretty much all adjustments one or more of these 6 fundamental problems is the motivation for the change.

I'm going to keep tweaking things as I listen to it with fresh ears over the coming days, but I'm mostly nudging things and seeing where I can spare the time to do a few more reworks of the lowest hanging fruit.

FrequentPilgrim avatar Jul 13 '25 21:07 FrequentPilgrim

People have a harder time telling that there was a change, but the general feedback is still that some sounds are quite flat or insufficiently present in the world. The majority of the sounds seem like improvements this time. Eg people like the new Venom.

  • Teal AA is understated
  • weapon/missile/rapid_rocket_fire is much too flat.

GoogleFrog avatar Sep 04 '25 14:09 GoogleFrog

a lot of weapons sound like under water weapons now, if i had to put a finger on it swift attack rocket muffled guess that where the main ear effect comes from reaver sound muffled ripper sound very different but kind of good, however sounds less aoe like cant hear razor during phoenix drop gremlin doesnt sound like laser anymore ravager impact sound seems too present sounds like mino lvl need to get used to claw landing sound from badger stinger seems a bit too quite

Some more from me:

  • Sniper impact is hard to hear, and the firing sound is not noticeable enough either.
  • Claw firing is too flat
  • Raven drop a little too flat
  • I also agree that Ripper impact sounds really weird now

The sounds in this game got tiring because it all ended up quite muffled, and I couldn't tell so well when a Sniper was firing: https://zero-k.info/Battles/Detail/2255055

GoogleFrog avatar Sep 04 '25 14:09 GoogleFrog

ripperCompare.wav

Here is old and new Ripper. The old one is much better. I got the impression somewhere that Ripper was unchanged, but just sounded weird in the new environment. But in a direct comparison they are different.

GoogleFrog avatar Sep 04 '25 15:09 GoogleFrog

I did a sanity check and re-downloaded the old ripper from the repo. To rule out that maybe a mistake had messed up my base repository of sounds. I compared your upload, the #5520 version, my base ZK repo, and a fresh download file from the repo from 8 years ago. The only change that has been applied to the ripper impact is increasing the gain. The base game file has a peak amplitude of -6.3db and I boosted it to -4.0db to be more in line with the volume of other units. I'm guessing what is happening here, but I think the original source is so low quality that even boosting it 2.3db louder ruins the illusion of it. The source has the fidelity of a telephone call.

The next step would be to leave it 100% untouched and see if upping the gain in sounds.lua has the same effect.

FrequentPilgrim avatar Sep 04 '25 15:09 FrequentPilgrim

I tried boosting the old one by 2.3dB and it still sounds better than the new one. The new one is also higher pitched and, while idk how this corresponds to sound quality, has a very spotty spectrogram compared to the old one.

GoogleFrog avatar Sep 05 '25 13:09 GoogleFrog

It's all a result of the original being so fragile because of the low fidelity. It's probably different software using slightly different algorithims for amplification interacting with the 8000khz sample rate giving different results.

FrequentPilgrim avatar Sep 05 '25 13:09 FrequentPilgrim