pioneerspacesim / pioneer

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

Automatic pilot low orbit values #203

Open Azimech opened 13 years ago

Azimech commented 13 years ago

It's really great Pioneer has the option to park the ship in a stable orbit, but even low orbit seems often quite high for me. Once the fuel scoop becomes functional, it will be quite hard to find the appropriate altitude when flying above a gas giant with 50 km/s. I'd love to have the possibility to manually enter a value for kilometers above ground level, or even better: a mode where the ship flies with through the upper atmosphere, and the autopilot uses the engines to counteract the drag. It will make fuel scooping a lot simpler.

Right now we only have a faint visual cue where the upper atmosphere starts. If we could know the value in kilometers below the ship, that is helpful as well.

richardpl commented 13 years ago

You could use fixed speed mode (F5), set speed relative to body to 0 with return/enter and right shift and use U/O keys to maintain altitude/distance or I/K thrusters if U/O thrusters are weak/slow for you.

Brianetta commented 13 years ago

Yes. For diving into atmospheres in particular, it's easier to use engines in set speed mode than to try to maintain an orbit.

In any case, scooping for fuel shouldn't necessarily be easy. Buying fuel from a station is easy. Scooping is hardcore. (-:

Azimech commented 13 years ago

I was wrong the fuel scoop is already functional. I just stole 80 tons of hydrogen from Jupiter. Indeed it's much easier with "set speed" although still very time consuming because of the lack of a stardreamer override. Scooping from Neptune wasn't possible, not sure why.

richardpl commented 13 years ago

I do not think we have different compositions of upper atmosphere for gas giants.

Luomu commented 13 years ago

It's really great Pioneer has the option to park the ship in a stable orbit, but even low orbit seems often quite high for me. Once the fuel scoop becomes functional, it will be quite hard to find the appropriate altitude when flying above a gas giant with 50 km/s. I'd love to have the possibility to manually enter a value for kilometers above ground level,

I don't think the interface can be cluttered with an autopilot option for every situation (and a text entry popup for thisone). I see three ways to fulfill this issue: 1) We externalize enough of the autopilot logic to scripts so you can easily edit the orbit values to your liking 2) I can't be the only one who whould like to have a debug console for testing! If we ever implement one, then it would be trivial to also let you write DoOrbit(5000) or such if you really so wish 3) We decide that the low orbit value could indeed be a bit lower in general :-) It is a bit high perhaps, I never use medium/high orbit

robn commented 13 years ago

1) I almost made Ship.Enter*Orbit be a generic Ship:EnterOrbit(target, distance). I opted against it in the end because I figured that most of the time a script would only want low/medium/high and that should be the same as whatever the autopilot UI used. Adding Ship.EnterOrbit() now would be trivial to do.

Another idea I had which might be useful here is to let scripts set the options in the comms menu by target, so you could have a script add a "scoop fuel from target" if the target is a gas giant.

2) Yes, its on my list somewhere. I want a full Lua environment in the console so you can write and debug scripts there and call any script function.

3) Low orbit is currently planet radius * 1.1. For asteroids you'd struggle to find a safe smaller value that won't run you into the terrain. A minimum would probably sort that out though.

Sukender commented 12 years ago

Hi, Could this lead to a new ship equipment? I'm not sure about the particular case of orbiting at low altitude, but maybe we could have things like:

Well, my two cents :)

Brianetta commented 12 years ago

That's almost the plan. Set speed mode and attitude hold mode will be functions of the autopilot, in addition to its current function of complete control. Presence or absence of those functions in an autopilot will be determined by the autopilot's model, which will also be reflected in its cost.

Sukender commented 12 years ago

Great! Can this be related to #20 ("Economical autopilot")?

Brianetta commented 12 years ago

Congratulations. (-: