Some thoughts on achieving the intended goal of hovermode.
First off, this may very well be what they are going for in 3.7/3.8. If so, awesome.
In my opinion the change in ship behavior between space travel and atmospheric flight in a gravity well should not be dictated by a blanket change in thruster behavior based on the proximity to a planetary body, but instead be the result of a calculation based on the parameters of that body, available thruster strength, atmospheric density or drag, lift, and gravitational strength.
Unlike other flight sims that only have to deal with the conditions of a single planet, SC is trying to recreate at least a sim-lite experience in multiple planetary conditions. To properly impart this feeling to the player, the planets/moons themselves should be providing most of the variables that impact flight.
In a very loose crayon on a napkin kind of concept, here's what I'm imagining:
Each individual thruster has a value of potential thrust output, this is a numerical value of the max force a thruster can output in undamaged, ideal situations. (As damage to that thruster increases, this value lowers). We'll call this PTO for potential thrust output, 'cause I'm clever like that.
Take the total PTO from all thrusters active in a given action to give your Total Potential Thrust. Let's say you're just hovering level, you have 4 downward facing thrusters holding you up, each with a PTO of 100. 4 x 100 = 400 TPT at max throttle. (in this example, user input is 100% strafe up).
That 400 TPT is the same no matter where you are, unless damage or wear begins to degrade the thrusters in question.
In space, you have no atmosphere or gravity, so your thrusters preform at peak efficiency, you get the most bang for your buck.
However, once you enter a gravity well, things are added into the equation.
Let's say the gravity of a planet pulls on the mass of your ship with a force of 300 (whatever arbitrary balancing number devs might care to use) we'll call this AGP for Arbitrary Gravity Points because I can't think of anything better this morning.
Now you take that 400TPT and subtract the 300AGP . That gives you a remainder of 100, your actual available thrust (AAT) on that planet, hovering on 4 thrusters.
If AAT ever falls to zero, vertical upward movement would be impossible with those thrusters (requiring you to hit that VTOL toggle perhaps, or turn and point your mains towards the ground to create separation, if it falls below zero, you are losing altitude. So in this case, dropping your vertical strafe slightly you would begin to slowly descend.
If in this case you decide to point your nose to the ground and try to hover that way, you limit your available thrusters to two (as our imaginary ship only has two forward facing thrusters), which halves your TPT, this falls below the threshold of the AGP, meaning your ship will begin to descend, unable to hold a consistent altitude.
IF, however, you are not just hovering but are flying in a manner that creates lift, you would subtract L (lift) from AGP. Meaning your thrusters would need to use less power to maintain altitude, and if your lift exceeds the AGP of a planet, you reach true atmospheric flight and are not dependent on strafing thrusters at all.
I would imagine in addition to all of the above, that atmospheric density, or drag, would interact with the 'mains' or counteract any horizontal thrust the ship would output in a similar fashion, limiting top speed/acceleration as applicable.
Descent rate would be determined by taking the speed of a falling object on any given planet (which is probably the AGP I mentioned above if we were doing a "real" calculation, but I haven't finished my coffee yet so... whatever.) and subtracting the negative number created by TPT - AGP. Leaving you with a rate less than free fall.
So to sum up:
Individual thruster output x #of thrusters = Thrust.
Thrust - (gravity - lift) = Actual, available force. This determines ability to maintain altitude, and vertical acceleration. Both up and down, down being an additive.
This makes that annoying "hover endlessly on your nose thing" impossible for ships that do no have enough thrust available to pull that off, but potentially possible for high performance ships. Possible in low gravity, but less so in higher gravities.
Landings in this situation could be set up so instead of the user actively "thrusting down" they would instead "thrust up less". (Which makes more sense to me, personally). Landings in this set up can also be done similar to aircraft landings today, by diminishing lift instead of lowering downward force.
Using this concept, I would also imagine a user toggle being set in place where the IFCS can manage the force required to maintain altitude, or the user can take control, allowing for both a 'simple' flight mode and a far more skill based one.
/shower thoughts on game physics.
Wow, that ended up being a wall of text.
Thanks for reading this far if you bothered!
Posted Oct 5, 2019, 4:23 PM UTC
What you described is pretty much exactly how the flight model currently works - IFCS automatically blends thrust (and lift, if you have wings and are moving at speed in thick atmo) to thrust and counter gravity precisely. Since there's no way to turn off IFCS' automatic thrusting against gravity, the ships feel "floaty", but if you read the g-meter you can see the reduction of available upward thrust when in level flight under gravity, or when strafing up notice the decrease in upward acceleration (Eg, the caterpillar can output a total of 1.2g upward - in 1.0g on Hurston, you only accelerate at 0.2 upwards). Drag limits your top speed (and affects you in all axes), atmospheric density affects the amoutn of drag and lift you get, etc.
Right now most ships can accelerate in most axes far in excess of the 0.3g you need to stay aloft on moons or the 1.0g you need to stay aloft on planets, from almost any angle. I'm interested in CIG's plan to decrease thruster efficiency as atmosphere gets denser (though this would have little effect on nearly airless moons), as when combined with higher gravity planets you should see an inability to stay aloft with non-vtol/main thrusters without using afterburner when canted at weird angles. Right now at sustained high loads individual thrusters will eventually overheat - so a decrease in thruster efficiency will naturally generate more heat. An avenger's thrusters outputting 0.3g to stay up on Daymar aren't going to overheat, since the max capacity is something like 4g. But if they were less efficient, maybe you'd eventually overheat, even if they had enough power to keep you aloft (if hovering instead of traveling quickly to take advantage of lift).
I would personally love a toggle, either gameplay or in game settings, to turn off IFCS' automatic gravity compensation thrusting, as it seems to me that it takes a lot of "fun" out of planetary flight (I would even accept this turning off when you engaged decoupled mode). You can play around with the aerodynamic flight model right now by doing things like turning off downward thrusters in the power MFD (and trying to stay aloft only with lift), or turning down thruster power while in level flight and seeing drag have an effect - if you turn it all the way to zero you can see how drag affects your ship's free fall (eg, if you nose down in a caterpillar in thick atmo and turn thruster power to 0% you'll have a higher terminal velocity than if you're belly down)
There was a fun bug in 3.6 where in a 5km zone around underground bunkers there was an extra 1.0g, so on Hurston's bunkers there was 2.0g total in that radius. Some ships didn't notice the extra gravity since IFCS just used spare acceleration to compensate (like the avenger which can do something like 4g upwards), but larger ships that could barely or not quite put out 2.0g noticed (and would fall out of the sky unless AFB was used). To a lot of people it felt like "hover mode bugs" when it was actually a gravitational anomaly - but partly because of IFCS attempting to compensate automatically, it was hard to 'feel' it. But this was potentially an interesting testbed for "how would the ships behave if they were only half as good at thrusting against gravity" (since gravity was doubled).
Cheers :)
Yup, I didn't actually think that how I was considering the FM should work was all that much different than what actually exists. (And perhaps I was more just talking it out in my head).
Perhaps then, gravity and atmo just don't effect the thrust nearly enough currently. And/or perhaps the IFCS is just too efficient to provide any valuable tactile feedback to the user.
I don't see value as some suggest in decreasing the power of thrusters as that would negatively affect space flight, but increasing the effect of gravity/drag/lift might be the way to go.
Thanks for the writeup in any case!
CIG's proposal (mentioned in a recent ships livestream I think) is to decrease efficiency of (maneuvering?) thrusters in atmosphere only (less efficient as the density increases), which I think is a decent solution - it has some plausible basis in physics, and won't affect flight in a vacuum or very low atmosphere. Right now you can use the drag and lift in thick atmospheres to stay aloft, slow down, pull tighter turns than you can in space, etc, so it seems less important to have powerful thrusters when atmosphere is thick (eg, to airbrake you can just nose up and let drag slow you down).
Ifcs reacts instantly and so do the thrusters afaik. There is zero lag time between ifcs's calculations and thruster output levels. I think it'd be plausible and change the feel of things if thrusters weren't instant on/off like they are now. A short (likely in milliseconds) delay or ramp up/down of the thrusters requested output that could be affected by thruster health and environmental conditions might add just what everyone's looking for.