pioneerspacesim / pioneer

A game of lonely space adventure
https://pioneerspacesim.net
1.61k stars 366 forks source link

Autopilot overuses fuel during long-range cruising #4191

Open caligari87 opened 6 years ago

caligari87 commented 6 years ago

Not sure if this has been reported yet. I searched under "fuel" and "autopilot" and didn't find anything that matched my experience, but I may have missed it.

Observed behaviour

Per the title, the autopilot uses too much fuel for micro-corrections during long-range cruising (outside acceleration or deceleration). On short hops (less than ~4-5AU) this is entirely negligible. On trips from outside the system (such as after hyperspace jumps) where the distance is longer (more than ~10-15AU), this is extremely dangerous because there seems to be no safe limiter and the autopilot will happily microburn all the fuel during the week or so it takes to fly into the system, leaving none (or at least not nearly enough) available for deceleration or maneuvering.

Generally what I have to do is select "fly to vicinity of target", timelapse until the ship is up to speed, then disable the autopilot and drift until I'm within 2-3 AU before reactivating it. Otherwise I run out of fuel or crash.

Expected behaviour

Simply, the autopilot shouldn't run me out of fuel on long trips. I should be able to trust it to get me in-system without intervention.

It seems these 00.01% fuel burns are attempting to compensate for the relative orbital movement of the target, since it can take several days or weeks to fly into the system from a hyperspace jump. I believe the autopilot should ignore these kinds of orbital corrections at excessive ranges, or something. In any case it should not simply burn fuel doing micro-corrections until the ship is much closer to the target.

Steps to reproduce

My pioneer version (and OS): 20171001, Linux 64-bit (Ubuntu/Mint)

bszlrd commented 6 years ago

It's a known problem. I had some close calls because of it on SAR missions a couple of times. But I'm not convinced that it's a real problem. I mean we want to give the players as much incentive as we can to actually fly manually, and one could consider this autopilot behavior as that. And it's mostly a problem for targets in a fast/tight orbit. Apart from that it's because RCS thrusters are way less efficient compared to the main thrusters, so they eat trough propellant much faster.

True, a 3200 era autopilot should be able to fly at pin-point accuracy and efficiency, but then you could play the whole game by autopilot. AKA why put people in space at all, if robots can do all the stuff, and even better than us? I think this is a question where game-play should be above realism. And if so, then one might be better off with a proper overview like/tycoon type game instead of a simulator. And yeah, we need more and more interesting stuff to do on these long travels, and around stations and bodies, so flying and doing missions are more interesting in general.

Other possible workarounds:

impaktor commented 6 years ago

agreed with @nozmajner. Although, we do need current exposed "perfect" autopilot to be (close as possible to) "perfect" since it's the same that AI uses. But functionallity exposed to player should be lower in accuracy.

Maybe @jaj22 has insights?

fluffyfreak commented 6 years ago

Disagree with these views, mostly because although the goal is laudable it misses out on the AI and that the player should have the option and not be hobbled by bad code ;)

Ignoring deviations below a threshold sounds like the quickest and easiest way of helping with this issue. A small planet in a fast orbit at a long distance away shouldn't cause course corrections until you get much closer and have slowed down. For example we could apply this filter/test to only happen when a ship is within the root frame and greater than some arbitrary distance from it's target.

caligari87 commented 6 years ago

I can see the logic behind wanting to encourage more engagement for the player, but I disagree that the player should be forced to do it. Personally I find long-range cruising kinda stressful (maybe because I'm still bad at it, but anyway). Planning, trading, shopping, mission selection, and landing/takeoffs are where I have the most fun. I'd rather set the autopilot with confidence and make a sandwich while it cruises to vicinity, then handle the small stuff myself.

Would there be anything wrong with making it an option? Have 2-3 autopilots available for purchase, and each one has better fuel efficiency and/or route-planning. Easy start gets a better one, hard start gets the worst one or none.

(I can split the above into a feature request if its outside the scope of just improving/fixing the current autopilot).

impaktor commented 6 years ago

I think we're drifting from the topic.

What should be discussed here is the observed errors of the current auto pilot, and since it is the same as the AI it shouldn't have any discernable error.

Another-MrZ commented 6 years ago

A separate but related issue is that when the fuel runs out, no warning appears on screen, and the time acceleration does not return automatically to 1x. If you have to manually refuel your ship, you want to do it before you drift too much away from your destination.

lolo101 commented 1 day ago

Updated link to learn how to fly manually :wink: