Author Topic: Engine Volume Reversed  (Read 738 times)

0 Members and 1 Guest are viewing this topic.

Offline AV8R

  • 28
Engine Volume Reversed

Just wanted to report this rather simplistic "bug" that has been around for quite some time concerning engine volume in cockpit. There are 2 things that should affect ambient engine volume in the cockpit and they are:

1) The amount of throttle being applied at any given moment (the more throttle the louder the ambient engine noise should be in the cockpit)
2) The amount of energy applied to the engine subsystem (the more energy applied to the subsystem the louder the ambient engine noise should be in the cockpit)

While the first factor works as expected (more throttle = more ambient engine noise) the opposite is true for the second factor - shunting more energy to the engines actually makes the engines quieter, which is strange, noticeable and breaks immersion. In fact, the programming of this feature in FSO is effectively backwards: if you adjust the energy settings to give either the weapons or shields more energy (or both), the ambient engine noise increases (you would think that if you're taking energy away from the engines and applying it to other systems, the engines would receive less energy and would thus be quieter in cockpit). Inversely, directing more energy towards the engines (or even ALL of the ship's energy), again, makes them noticeably quieter.

This seems somewhat counterintuitive to what is happening and as was mentioned, is a bit distracting since, if there are times in mission for strategic reasons you need to arrive at a certain area/point as quickly as possible so you direct all power to the engines, then the engines should respond with the loudest possible ambient engine noise to audibly let you know that this is the energy configuration that the ship is currently in (little environmental cues like this help with situational awareness, sometimes even unconsciously). If you have to keep looking at gauges to see what your current energy configuration is, then it defeats the purpose of having sound at all in the cockpit - other than the entertaining pew-pew of the weapons firing. Having correct sound cues for other ship's functions is both useful and practical and helps with situational awareness in any in-game situation.

Anyway, does anybody else see (hear) this as a bit odd? I really feel that, although this is a minor oversight, that it should still be given some attention at some point in a future release of FSO.

 

Offline Goober5000

  • HLP Loremaster
  • Moderator
  • 214
    • Goober5000 Productions
Re: Engine Volume Reversed
Sounds like this should be posted as a github issue.

 
Re: Engine Volume Reversed
It's not quite a bug per se, but the volume is based on your proportion of your max speed you currently are. When you futz with your engine energy, you change your max speed. This is why if before you were cruising at 50m/s out of 100m/s youll hear 50% volume but if you suddenly shunt power away from your engines your max might become 50m/s, so despite not touching your throttle you jumped to your maximum speed which is why it gets louder. It could be the proportion of your maximum overclock speed, which never changes, but then you wouldn't hear 100% at your normal max speed, which is, I dunno, better than before I suppose.

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
It's not quite a bug per se, but the volume is based on your proportion of your max speed you currently are. When you futz with your engine energy, you change your max speed. This is why if before you were cruising at 50m/s out of 100m/s youll hear 50% volume but if you suddenly shunt power away from your engines your max might become 50m/s, so despite not touching your throttle you jumped to your maximum speed which is why it gets louder. It could be the proportion of your maximum overclock speed, which never changes, but then you wouldn't hear 100% at your normal max speed, which is, I dunno, better than before I suppose.

I see what you're saying but, taking that into consideration, maybe a better (and easier) solution would be to make the ambient engine noise an absolute instead, based on the highest speed of the craft you are in. In other words, the higher the speed value, the louder the ambient noise no matter what energy setting are used. For example: if a Herc can go 50m/s at full throttle, but it can go 62m/s at full throttle with all energy directed at the engines, then when it's doing 62m/s, that is when the ambient engine noise should be loudest (100%). If energy levels are all set at normal and the ship is a full throttle (50m/s), the engine volume level should be roughly 80% of the highest volume level (mathematically speaking). So for a Herc, the loudest engine noise level would be when it is travelling at it's highest possible speed (62m/s), anything lower would simply be a lesser percentage of 62, regardless of throttle/energy settings.
« Last Edit: April 03, 2022, 09:16:47 am by AV8R »

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
As an example, here is a simple matrix of how absolute speed would effect absolute engine volume for a given ship (again, in this example, a Herc):

Speed     Engine Volume
62m/s     100%
50m/s     80%
47m/s     75%
31m/s     50%
16m/s     25%
6m/s       10%
<6m/s     10%

(The speed values above can be replaced with the typical speed values of any ship in the game)

10% should be the lowest possible volume value since you don't want engine silence at zero speed because the idea is, the engines are still on (and still creating minimal ambient noise), they just aren't producing enough output to provide thrust.

Also, there can obviously be more gradual gradients in between these values, but I just want to present what would seem to be an easier method of calculating engine volume than whatever method is currently being employed (which seems counterintuitive and needlessly complex).
« Last Edit: April 03, 2022, 10:07:33 am by AV8R »

 
Re: Engine Volume Reversed
Right, that is what I was suggesting. The downside is that you won't get 100% volume at full speed with normal ETS settings. On normal freespace ships this might not be too noticeable, but it could be if the ship has an unusually high overclock speed. We would in effect be reducing engine volumes for most players in all mods under most circumstances, it might be worth it to fix this discontinuity, but it is something to think twice about, making such a blanket change, minor though it might seem.

EDIT: An alternative could be to fix 100% volume at full speed at normal ETS settings, engine energy has no effect on your volume, only your speed relative to that 'normal full speed', and if you exceed that using greater engine energy it is simply capped at 100%. This way the overall experienced volume will be about the same (since most people spend their time at regular ETS levels), and it avoids strange jumps in volume due to futzing with engine energy.

Using your table it would be like:

Speed     Engine Volume
62m/s     100%
50m/s     100%
47m/s     80%
31m/s     60%
16m/s     30%
6m/s       10%
« Last Edit: April 03, 2022, 05:54:28 pm by Asteroth »

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Engine Volume Reversed
Right, so, uh. Please bear a bit with the rambling.

The purpose of the engine sounds is to provide audio feedback of the craft to supplement the visual cues of the HUD.  The argument here seems to be speed and engine power based on ETS settings.

Speed can be linked to a single background woosh, the faster the craft is going the louder and higher pitched the woosh.

Engine power audio feedback can be done two ways based on how technically accurate you want to be with spacecraft:
1. Engine power is a function of % max throttle.  ETS settings also affect this since the "max throttle" in this definition is max throttle, max engine energy in the ETS.

2. Engine power is a function of the delta vee.  Here, throttle setting is seen as a target velocity and the bigger the difference this target is from the current speed then the engine woosh is louder.

Note here that I recommend 2 sounds instead of just one sound.  I don't think it would be a good idea to use just 1 sound for both the current speed and the engine power because you get a potentially confusing audio that's affected by 2 (or more) variables instead of just the one.


With that rambling out of the way lets address the issue reported:

Quote
While the first factor works as expected (more throttle = more ambient engine noise) the opposite is true for the second factor - shunting more energy to the engines actually makes the engines quieter

This I don't agree with from a design perspective, I would see this behavior as a notabug/misfeature. and agree that an option to change this behavior should be considered.
« Last Edit: April 04, 2022, 08:54:35 pm by z64555 »
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
What makes it seem more "wrong" is what I posted earlier that the ETS settings seem to work opposite of what you would expect to hear - increasing weapons or shield energy increases overall engine volume while increasing engine energy deceases engine volume.

What this seems like to me is an actual programming oversight that got past QC in the original retail code (although I don't have the original game files to install a purely retail version to confirm whether this same phenomenon happens in the retail version of FS2).

Whether this is true or not, the bottom line is that the ETS audio settings could have been programmed backwards from the get-go as described above. That being said, it may be easier to simply reverse the current ETS volume control behavior in the code than to try to come up with a whole new system to fix this engine volume issue.

Just my 2 cents.
« Last Edit: April 07, 2022, 09:02:07 pm by AV8R »

 

Online Strygon

  • 28
  • Ui-beaaaaaaaaam~
    • Steam
Re: Engine Volume Reversed
It's important to understand that the sound control isn't "reversed". It's technically doing everything correctly, even if that "correct" is wrong.
Engine volume is based off of how high your current speed is compared to the current max speed, including ETS adjustment.

Basically, imagine your ETS is normal, and you're at full speed. 50/50 speed, engine sound at 100%. All is good in the world.

Then you decide to crank up Engine power. The top speed is now 62, but you're still at 50m/s because obviously you need to accelerate first. The engine thinks "Oh, the pilot isn't at full speed yet, we can't play the engine sound at full volume until he reaches 62!"
The top speed has changed, therefore the range of volume has changed.

So, you're now at 58m/s, still accelerating. The engine volume has started increasing as it should. But now you divert energy away from the engines. Your top speed drops down from 62m/s to 35m/s. Which means you're way over top speed now, because you were flying at 58m/s. The sound control thinks "Okay, the pilot is flying at or above max speed now, let's crank up the engine volume to max." Despite lowering power, the volume increases, because the game thinks you're at top speed.

This is the whole issue here. You think the solution is simple, but it really really isn't. It'd probably require a full rework of how the engine sound volume is handled, and there's no single operation that can be flipped around, because the math is correct, it just doesn't handle sudden changes of top speed.
Makes missions sometimes.
Finished Projects: Operation: Cloak and Dagger

Current Projects: Scrolls Part 2 (FREDding), Dimensional Eclipse (Art),
The First Contact War, GTDr Amazon HTL

[23:22] strypolygon: andrew
[23:22] strypolygon: i have one favor to ask of you
[23:22] strypolygon: never try speaking german again
[23:23] Andrewofdoom: No.

[18:50] 島風改八百三: the duck has multipli
[18:50] 島風改八百三: many duck
[18:50] 島風改八百三: left side
[18:50] 島風改八百三: even side
[18:50] 島風改八百三: handle it

[21:34] MP-Ryan: Why on earth would you Google this
[21:34] The_E: why would you not

[06:46] Strigon: how big is a mini-campaign again?
[06:46] Asteroth: smaller than a campaign
[06:47 ]Strigon: thanks

[05:56] Strigon: If I had to take a shot for each time I randomly decided to change the UI sounds, I'd have died of alcohol poisoning by now

[17:36] qazwsxal: time to have some fun
[17:41] z64555: VC++5 is not my idea of fun

[EatThePath] do your missiles do anything absurd?
[Strigon] describe absurd
[Strigon] the entire mod is absurd

 
Re: Engine Volume Reversed
Reasonable solutions aren't really all that difficult, and I'm honestly surprised there's been as much bikeshedding over the solution as there is. I've made a PR which uses the ship class's tabled max speed instead, and we can continue bikeshedding there if people feel strongly about it https://github.com/scp-fs2open/fs2open.github.com/pull/4151

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
Strygon, I see what you're saying, but I respectfully disagree because I'm not talking about volume inconsistencies during ETS settings changes, I'm talking about absolute engine volume when the ship is at 100% throttle and 100% speed while in various ETS settings. When in game there are significant volume differences in each ETS power scenario I mentioned above. Using the Herc as an example again, this is what currently happens in game (these settings are in order of overall loudness of the ambient engine sound, starting with least loud to most loud):

1) Quietest - Throttle at 100%; ETS at full engine power; Speed 62/s
2) Moderate - Throttle at 100%; ETS at normal (50% across the board); Speed 50 m/s
3) Loudest - Throttle at 100%; ETS at full shield and weapons, engines a 0; Speed 38 m/s

The setting with the least amount of speed and energy to the engines is producing the loudest possible ambient engine noise. How does this make sense? What's more important to look at here is the throttle position - in every case the throttle is already at 100% and thus the speed is at 100% for each ETS setting (I use a joystick with a separate throttle controller, so I can leave the throttle at 100% - full forward - as I adjust the ETS controls). So your explanation of a shift in overall speed (and thus engine volume) when you adjust the ETS isn't the case here. When the ship's speed finally does stabilize at each setting's top speed after adjusting the ETS settings, what you end up with is what is listed above and it's backwards than what it should be. 100% throttle with all power shunted away from the engines and the ship travelling at it lowest possible max speed should NOT produce the loudest ambient engine sound (example 3), the loudest setting should be 100% throttle with 100% energy directed toward the engines (example 1).
« Last Edit: April 08, 2022, 08:03:47 pm by AV8R »

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
Reasonable solutions aren't really all that difficult, and I'm honestly surprised there's been as much bikeshedding over the solution as there is. I've made a PR which uses the ship class's tabled max speed instead, and we can continue bikeshedding there if people feel strongly about it https://github.com/scp-fs2open/fs2open.github.com/pull/4151

Thank you for considering this Asteroth - as this little detail has drove me nuts for years. Although I must confess, I do not know what "bikeshedding" means....  :nervous:

 
Re: Engine Volume Reversed
Strygon, I see what you're saying, but I respectfully disagree because I'm not talking about volume inconsistencies during ETS settings changes, I'm talking about absolute engine volume when the ship is at 100% throttle and 100% speed while in various ETS settings.
I have to say, I misunderstood you in this way as well. However, after testing this in game, all 3 situations you described sound exactly the same volume to me, and the actual volume variable being used by the code is the same as well (100% volume), provided the ship has already been given some time to reach maximum throttle speed. Are you testing this using retail? Or a mod?

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
Asteroth, I was experiencing this strictly in the FSO/MediaVPs environment. As I mentioned earlier, if I had the original FS2 installer somewhere, I would install retail FS2 and see if the does the same thing.

Please try this test on your computer/FSO install to see what I mean (and if you can, please wear headphones so you can better gauge subtle volume differences during this test):

Start in any ship with throttle at 100% and ETS at "normal". Using the Page Up key, quickly raise Engine power to max. Notice immediately how much quieter the ambient engine sound gets. Let the ship's speed stabilize to its new max speed (you should hear no difference in volume between the old max speed and the new max speed). After sitting at that speed for a minute, then push Alt-D to immediately equalize your ETS settings back to "normal" - and notice how noticeably louder the ambient engine sound becomes (even though the sound should get gradually quieter as your ship loses speed). Do the same by pressing the Insert and Home keys to max out the Shield and Weapons settings. Notice how much louder the ambient engine sound gets - but it should get softer. Let the ship's speed stabilize again and then press Alt-D to equalize again and notice how much quieter the ambient engine sound gets (even though the sound is supposed to get gradually louder as the ship picks up speed).

This is the logic bomb in the current programming and it is so obvious while wearing headphones. I understand not everyone plays this game with headphones but I prefer it since it provides better immersion and directional awareness as to where objects are audibly around you. This is what makes me so sensitive to this phenomenon since it is so easily detectable in headphones. Listening through a set of desktop speakers, I may not have even noticed - but headphones make it abundantly clear the logical reversal of volume in the given situations.

So, hearing this more accurately in headphones, the question is: why is the perceived volume at 100% speed at 100% throttle with 0% power to the engines twice as loud as 100% speed at 100% throttle with 100% power to the engines?
« Last Edit: April 08, 2022, 09:42:36 pm by AV8R »

 
Re: Engine Volume Reversed
Err, ok, so you were talking about what we thought, it is the volume changes after you change ETS settings that are the problem (hence why I clarified "provided the ship has already been given some time to reach maximum throttle speed"). The volume at 100% throttle after the speed has stabilized is always 100%, which isn't the problem in and of itself, it's that changing the ETS momentarily makes the volume quieter (if speeding up) or louder (if slowing down) which is the problem I think we should be able to agree, and which my proposed PR would fix.

And sorry, by "retail" I mean no mods loaded, I am using FSO.

 

Offline AV8R

  • 28
Re: Engine Volume Reversed
Yes, the finality should be:

Max engine ETS = max engine volume range. Minimum engine ETS = minimum engine volume range.

I dunno. Maybe absolute volume settings based on speed would be the way to go. This way no mater what the ETS setting, the current speed of the ship would dictate the volume at any given moment. BUT, there still needs to be some headroom left when the ETS engine settings are at max so the engine volume would have a little more room to increase as ETS engine values increase, which is why in my example above I left my 100% throttle with normal ETS settings volume at 80% since, when the ETS engine energy settings are then maxed out, the volume can rise to 100% in that configuration (you posted 100% for both normal and boosted engine energy configurations which wouldn't give extra volume for the ETS engine boosted speed).

Again, yes we're on the same page. But if absolute volume based on speed is the goal you're proposing, please leave some room for the engine volume to increase slightly when ETS engines settings are increased - or this will defeat the purpose of my original post: ETS engine volume settings at maximum should be loudest; ETS engine volume settings at minimum should be softest.

 
Re: Engine Volume Reversed
Yes, volume based only on speed is what I am proposing. However, even as is, the volume is not actually capped at 100%, and can exceed it. This happens when you use the afterburner, although it may be somewhat drowned out by the afterburner sound. In either case you can rest assured that there is plenty of "head room" past 100% for higher engine energy or otherwise.