Page 1 of 2

Sugestion for a new Docking AI

Posted: Wed Jan 11, 2012 5:39 pm
by Cmdr. Maegil
Everybody agrees the current docking AI is flawed. and something should be done about it... I'm not good enough to code this, but I have a rough idea to improve it that might just work in the right hands.

If put in practice, it could allow for fluid and speedy autopilot approaches.


1) set destination to 9Km away from the docking port, and when within 1000m, request docking clearance;

2) if not granted because the station/carrier is launching, take a queue ticket and move closer (within 500m of a point 6Km away from the docking port);
if because it won't receive the ship, go elsewere;

3) if clearance is granted or the ticket turn arrived, set three beacons aligned with the docking bay and engage a modified racing AI;

4) the first racing beacon should be set at 5000m from the bay, so that with the docking ships will have a shallow entry angle on the first marker, easily corrected on the subsequent markers;
the speed should be standarized to, say, a python's top speed - 2.0;
the second marker at 2000m, and the third at 500m;

5) after passing the last marker, match rotation and set another three beacons , with the last laying behind the docking bay.

Adding bells and whistles, the markers could be permanent, and even surrounded by a circle of 4-6 flashers with the same radius as the docking bay entrance, coloured to show the player's docking status.
This could be Red for "not requested" or "denied" and yellow for "wait your turn", which would turn green for "cleared for docking" as soon as the last before the player went by each marker.

Re: Sugestion for a new Docking AI

Posted: Wed Jan 11, 2012 9:06 pm
by Commander McLane
Technically that doesn't sound very different from the current dockingAI, so I don't see yet how it would be an improvement. Currently ships go through waypoints, not racing points; but I think the underlying mechanism of racing points is waypoints anyway.

Also, parking all approaching ships inside a very small circle doesn't sound like a good idea. I have seen 20 ships or more waiting to dock. They would hardly fit inside a sphere with 1km diameter.

For me the main slowdown factor is that NPCs come to a virtual standstill at every waypoint. If that could be changed, and perhaps their speed factor be raised, docking would become much smoother IMO.

Re: Sugestion for a new Docking AI

Posted: Wed Jan 11, 2012 10:09 pm
by Cmdr. Maegil
Commander McLane wrote:
Currently ships go through waypoints, not racing points; but I think the underlying mechanism of racing points is waypoints anyway.(...)
For me the main slowdown factor is that NPCs come to a virtual standstill at every waypoint. If that could be changed, and perhaps their speed factor be raised, docking would become much smoother IMO.
The point is precisely to make the ships "race" into the docking bay instead of stopping at every waypoint.
If I suggested sizes or amount of waypoints, it was only for illustrative purposes, the objective being to represent a "funneling" of the ships into alignment with the bay.

Re: Sugestion for a new Docking AI

Posted: Wed Jan 11, 2012 11:58 pm
by SandJ
If this high-speed docking is implemented can it please be:

a) an OXP so it does not come as standard
or
b) never available for non-Coriolis (i.e. standard, core game) space stations
or
c) a piece of expensive kit?

Part of the Elite experience is the slow docking and that bloody tune during the auto-dock. I fetch more beer, go for a wee, read posts on here, post on IRC, talk to Mrs SandJ, or otherwise take a screen break. I know I always have the option of manual docking, if I want to go through the pain of learning how. I have been through that pain and can dock very well manually, but I rarely do.

To go whizzing in to a populated space station would NEVER be approved by safety engineers. Customers of space stations would not frequent them if 400 tonne ships could come hurtling in at 0.4 LY speed. Staff would not take jobs there. But worse, it would break the immersion for me. Also, it would not be Elite.

Elite, for me, is actually all about docking at space stations. Doing so is like getting home after a holiday, putting the key in the lock, kicking your shoes off and collapsing in the comfy chair with a cup of tea. That you went trading, or pirating, or crossed half a galaxy, it doesn't matter once you hear those first few notes of the docking music. You're home. You're safe. You're still alive. After possibly hours of RealWorld™ time and weeks of game time, the adventure is over, the heart rate can return to normal, the blood pressure go down, and thoughts return to trading prices, rearming, repairs and planning the next trip. (Or even saving the game and going to bed to get two hours kip before getting up for work.)

So by all means have a fair and interesting queueing system, have ships rotating in stacks, "You are number 17 in the queue" messages, GalCops and medical ships taking priority and jumping the queue, high-speed docking in Con-Stores, high speed drive-through fuel stations but, please, do not take away my slow, tedious, reassuring auto-dock. Without it, Oolite is not Elite.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 12:07 am
by Commander McLane
SandJ wrote:
...please, do not take away my slow, tedious, reassuring auto-dock. Without it, Oolite is not Elite.
Note, however, that the docking computer in Oolite is slower and much more tedious than it ever was in Elite. This is what Maegil wants to improve, making the look and feel closer to Elite.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 12:23 am
by CommonSenseOTB
SandJ wrote:
...please, do not take away my slow, tedious, reassuring auto-dock. Without it, Oolite is not Elite.
Oolite is not Elite...the last time I looked anyway... :P

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 12:34 am
by SandJ
CommonSenseOTB wrote:
Oolite is not Elite...the last time I looked anyway... :P
Ooh, it is. Frontier wasn't, but Oolite is. IYSWIM.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 7:41 am
by Switeck
Commander McLane wrote:
Note, however, that the docking computer in Oolite is slower and much more tedious than it ever was in Elite.
The docking computer in the Commodore 64 Elite was bloody incredible. Come in blazing at full speed, turn on the docking computer just before impact with the station and it would overwhelmingly prevent the crash AND dock successfully in <2 minutes. Coming in below the station and turning on the docking computer as you passed could have it dock in <15 seconds consistently.

Oolite's Docking Computer is trying too hard to get precisely lined up with the z axis (of rotation) of the station. If it's even a little bit off, it gives up...turns around, opens up the distance, and tries again from scratch.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 11:17 am
by Micha
Switeck wrote:
The docking computer in the Commodore 64 Elite was bloody incredible.
Even if only 90% successful... There was a decent chance of a 'press space' moment. So I always watched it like a hawk - and ready to press disengage and abort the attempt.


In my personal vision of future Oolite docking there are 3 separate docking computers:

1. Station-controlled - no need for docking computers, although costs money; only available at high-tech stations who remote-control the ship in upon request. (Only used if the ship has no functioning docking computers)

2. Docking computers with traffic-control from the station. (Ie, Docking Clearance)

(1 & 2 would essentially be the same from a game perspective, and very similar to the current docking system. Improvements are to make the approaching ships fly smoothly along the approach path instead of stopping at each stage, as well as having the station switch periodically between launching & docking ships.)

3. Docking computers with no traffic-control from the station. Ships barrel in from wherever, fastest first, although there'd need to be a little bit of cooperation to avoid multiple ships cramming into the bay at once and colliding. This would be similar to the Elite docking computer.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 7:36 pm
by Bazabaza
I like it as it is. But it would be nice that if stuck a queue the pilot pointed you at the station so you have something to watch whilst you wait.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 7:59 pm
by Smivs
Bazabaza wrote:
I like it as it is. But it would be nice that if stuck a queue the pilot pointed you at the station so you have something to watch whilst you wait.
Now that's an excellent idea! :D

Re: Suggestion for a new docking AI

Posted: Thu Jan 12, 2012 8:40 pm
by SandJ
[offtopic, but may trigger some ideas to do with reputation or elite status or GalNavy war bond ownership...]

Some years back I used to commute between London Gatwick and Glasgow on the small friendly airline that was AirUK. Most of us were regulars; we knew the staff and they knew us.

On one occasion on coming in to Gatwick on the last flight of the day the pilot announced:

"I'm sorry ladies and gentlemen, but it appears there was a problem here earlier today at Gatwick. They have 'planes backed up in a number of stacks and we have been told we'll have to join the top of one of these and wait for permission to land along with all the international flights. I'm sorry, but I cannot tell you how much delay this will cause, but it will be substantial. Please accept my apologies, beyond AirUK's control, et cetera, blah blah blah." (Literally those words.)

Two minutes later we plunged from the air at an incredible angle and levelled out into a path aligned with the runway and whizzed straight down onto the runway at an amazing speed.

As we taxied - at some speed - toward the terminal, the pilot came on again:

"Ladies and gentlemen, I am sorry if you found that a little uncomfortable but like you, I have a home to go. So I told air traffic control I was flying on fumes. Have a nice evening and thank you for flying AirUK. Good night."

Re: Suggestion for a new docking AI

Posted: Thu Jan 12, 2012 8:43 pm
by Cody
SandJ wrote:
the small friendly airline that was AirUK.
I flew with AirUK a few times... they were indeed good people to fly with.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 9:17 pm
by Eric Walch
Bazabaza wrote:
I like it as it is. But it would be nice that if stuck a queue the pilot pointed you at the station so you have something to watch whilst you wait.
Interesting idea. You could change one line in the docking AI as follow:

Change

Code: Select all

	STATIONKEEPING =
	{
		ENTER = (performIdle, "setSpeedTo: 0.0", "pauseAI: 10.0");
into

Code: Select all

	STATIONKEEPING =
	{
		ENTER = (setDestinationToTarget, performFaceDestination, "setSpeedTo: 0.0", "pauseAI: 10.0");
That way the ship will not go 'Idle' when entering the waiting loop, but first doing a turn towards its destination. And this will always be the station for docking. performFaceDestination will automatically turn itself into a performIdle when pointing in the correct direction, so no further reaction is needed.

A brief test with the player shows it works as planned.

Re: Sugestion for a new Docking AI

Posted: Thu Jan 12, 2012 9:27 pm
by Smivs
Brilliant, I'll try that. Thanks. :D