ananace / dotnet-SEAnalogGridControlPlugin

Analog Grid Control Plugin for Space Engineers
MIT License
3 stars 2 forks source link

Flying with dampeners on. #3

Open mugsy8 opened 7 months ago

mugsy8 commented 7 months ago

Observation/suggestion.

I have used this a fair amount now, it is excellent to be able to have this game setup to feel so natural. Flying from place to place in full manual and balancing on the upwards thrust perfectly and efficiently in gravity is just so good.

Then you turn the dampeners on to land. There is just something that doesn't feel right about the way the seemingly too large amount of thrust kicks in and out while you maneuver into a dock.

If I keep the speed under 9m/s it all feels excellent. Larger adjustments are not handled well by the game, I realise it's the game and I'm not sure if you can do anything about it.

I feel like it would be more natural to have whatever range in the axis that is currently used by the dampeners to be cancelled out until you exceed that amount of input. I could be totally wrong about it of course but my example would be that the dampeners are using 70% of lift and you are coming in to land, your up thrust axis should not do anything until you exceed the 70% already used and then you would still be able to finely adjust all the way to the top of the axis.

At the moment with the dampeners on, all of the inputs to need to be very small or very large. Anything in between feels quite odd.

ananace commented 7 months ago

The dampeners in SE are very much designed around a digital world, where input is always either 0% or 100%, which makes them a little difficult to handle properly.

It might be possible to get the requested thruster outputs from the IFCS system, smooth the values, deconstruct them into a movement vector, and then filter any inputs that's less than the dampener output. Not sure how it'll behave though, as dampener output on any axis cuts the moment you have any manual thruster output in that direction.

mugsy8 commented 1 week ago

Not sure how it'll behave though, as dampener output on any axis cuts the moment you have any manual thruster output in that direction.

Yes, if you can work out what this value is from the dampeners at any given time, my suggestion is that you cancel out any user input that would trigger it to cut until the value is higher than the dampener would be.