Docking Computer

General discussion for players of Oolite.

Moderators: winston, another_commander

User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Docking Computer

Post by Smivs »

<nods>
I'll often engage the DC as soon as I'm within the Aegis, then sit back and relax with a nice cup of tea - made earlier as the tea-maker doesn't work when the DC is active.
It's often nice ro relax after a long, hard flight. :wink:
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

Problem with Docking with Moveable Objects:
  • Deep Space Dredger: c works some of the time - the rest of the time it takes a veritable eternity as it sends your Cobra whizzing off to the far end of the galaxy; C never works
  • SLAPU/ZGF: c works; but C does not
  • Luxury Liners: yet to try c; but C works just fine
Is there a reason for this rather haphazard state of affairs? And how can I fix it?

Incompatibility with Music:
The music (Strauss's Blue Danube) is utterly unsuitable for the action of the Docking Computer. The Blue Danube is music for a Viennese Waltz, where the partners dance holding each other tightly for the duration of the piece, never breaking the embrace. https://en.wikipedia.org/wiki/Waltz#/me ... 07690d.gif

This is unlike the more modern Waltz where the gentleman occasionally twirls/spins his partner, or can dance loosely in steps such as the weave. https://youtu.be/o6CHxrWAB_A - see about 4 mins 54 seconds into the video (at the end)

But the Docking Computer often sends one's craft around the Dock, and often with one's back to the Dock. This sort of movement is not seen in either variety of the waltz - it is seen in Latin American dance such as the Rhumba or the Cha-cha. https://youtu.be/syXqn9yx0nw

I would humbly suggest that either the terpsichorean twists engendered by the Docking Computer require urgent pruning by our daring, dedicated and devoted developers - or that the music requires changing to something with a more Latin lilt.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: Docking Computer

Post by dybal »

I always assumed the Blue Danube was a reference to 2001 A Space Oddisey
User avatar
phkb
Impressively Grand Sub-Admiral
Impressively Grand Sub-Admiral
Posts: 4830
Joined: Tue Jan 21, 2014 10:37 pm
Location: Writing more OXPs, because the world needs more OXPs.

Re: Docking Computer

Post by phkb »

dybal wrote: Thu Oct 15, 2020 1:06 am
I always assumed the Blue Danube was a reference to 2001 A Space Oddisey
It was, which Bell and Braben leveraged/paid homage to in the original Elite by having it play with the docking computer. Of course, my experience with the original was that it was quite likely to crash, which made the gentle rhythms of the music clash with the nail-biting last few seconds when you didn't know if you'd make it or not.
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 556
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: Docking Computer

Post by Nite Owl »

Cholmondely wrote: Wed Oct 14, 2020 11:36 pm
Deep Space Dredger: c works some of the time - the rest of the time it takes a veritable eternity as it sends your Cobra whizzing off to the far end of the galaxy; C never works...
In order for the Fast Docking Computer (shift+c) to work the following code must be included in the station's or carrier's entry in shipdata.plist:

Code: Select all

 "allows_fast_docking" = yes; 
It might behoove you to make an in depth study of the HOW TO OXP page as you seem to have reached a point where The Dark Side is calling out to you. Do not worry, cookies are available. When first starting out on my never ending tweaking parade the list of plists that are a bit further down on that page proved invaluable. They give you access to an endless realm of possibilities. JavaScript and Materials and Shaders and all of the other stuff that make Oolite what it is are topics for later discussions. First learn the basics of the plists in an OXZ's Config folder and what they can and cannot do. Bookmark the HOW TO OXP page as you will be referring back to it quite often. My journeys there still occur almost daily.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

Nite Owl wrote: Thu Oct 15, 2020 5:09 am
Cholmondely wrote: Wed Oct 14, 2020 11:36 pm
Deep Space Dredger: c works some of the time - the rest of the time it takes a veritable eternity as it sends your Cobra whizzing off to the far end of the galaxy; C never works...
In order for the Fast Docking Computer (shift+c) to work the following code must be included in the station's or carrier's entry in shipdata.plist:

Code: Select all

 "allows_fast_docking" = yes; 
It might behoove you to make an in depth study of the HOW TO OXP page as you seem to have reached a point where The Dark Side is calling out to you. Do not worry, cookies are available. When first starting out on my never ending tweaking parade the list of plists that are a bit further down on that page proved invaluable. They give you access to an endless realm of possibilities. JavaScript and Materials and Shaders and all of the other stuff that make Oolite what it is are topics for later discussions. First learn the basics of the plists in an OXZ's Config folder and what they can and cannot do. Bookmark the HOW TO OXP page as you will be referring back to it quite often. My journeys there still occur almost daily.
Thank you for the tip, sir.

Is there anything that gives context? Such as what a plist actually is and how many different varieties there are and what they all do? I sneaked a peak at Wikipedia, and for a non-programmer such as myself it looked like an exercise in utter gobbledegook:
In the macOS, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files.
Property list files are often used to store a user's settings. They are also used to store information about bundles and applications, a task served by the resource fork in the old Mac OS.
Property lists are also used for localization strings for development. These files use the .strings or .stringsdict extensions. The former is a "reduced" old-style plist containing only one dictionary without the braces (see propertyListFromStringsFileFormat),[1] while the latter is a fully-fledged plist. XCode also uses a .pbxproj extension for old-style plists used as project files.
Would you happen to know of anything a tad less jargonised?

______________________________________________________________________________

I notice that the oxz's which I've transmogrified into oxp's still seem to work despite having manifest.plists rather than a requires.plist

I also notice that very few of the programming tools which people have mentioned in these hallowed pages seem to work on an AppleMac!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
montana05
---- E L I T E ----
---- E L I T E ----
Posts: 1166
Joined: Mon May 30, 2016 3:54 am
Location: lurking in The Devils Triangle (G1)

Re: Docking Computer

Post by montana05 »

Cholmondely wrote: Thu Oct 15, 2020 7:27 am
Would you happen to know of anything a tad less jargonised?

I also notice that very few of the programming tools which people have mentioned in these hallowed pages seem to work on an AppleMac!
Try this one: .PLIST File Extension, basically similar information but explained for non-programmers as well.

.Category:Oolite scripting shows the available files Oolite is using.
Scars remind us where we've been. They don't have to dictate where we're going.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

montana05 wrote: Thu Oct 15, 2020 9:49 am
Cholmondely wrote: Thu Oct 15, 2020 7:27 am
Would you happen to know of anything a tad less jargonised?

I also notice that very few of the programming tools which people have mentioned in these hallowed pages seem to work on an AppleMac!
Try this one: .PLIST File Extension, basically similar information but explained for non-programmers as well.

.Category:Oolite scripting shows the available files Oolite is using.
Thank You! That is much better than Wikipedia.
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

Nite Owl wrote: Thu Oct 15, 2020 5:09 am

Code: Select all

 "allows_fast_docking" = yes; 
This was the code Nite Owl gave above for "Viennese Waltz-free" docking with modern OXP dockables.

1/2) What about legacy script (as for BioSphere)?

Might it be:


<key>fast_docking</key>
<string>yes</string>
?



Here is the shipdata.plist for reference

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>

	<key>biosphere_dome_sub</key>
	<dict>
		<key>ai_type</key>
		<string>nullAI.plist</string>
		<key>energy_recharge_rate</key>
		<real>0</real>
		<key>forward_weapon_type</key>
		<string>WEAPON_NONE</string>
		<key>max_energy</key>
		<real>50</real>
		<key>name</key>
		<string>sphere-sub</string>
		<key>model</key>
		<string>sphere.dat</string>
		<key>roles</key>
		<string>sphere-sub-role</string>
		<key>thrust</key>
		<real>0</real>
		<key>frangible</key>
		<false/>
		<key>rotational_velocity</key>
		<!-- Frist number speed higher the slower - rotate around Y axis -->
		<string>25 0.0 0.342 0.0</string>
	</dict>
	
	<key>biosphere</key>
	<dict>
		<key>ai_type</key>
		<string>stationAI.plist</string>
		<key>bounty</key>
		<integer>0</integer>
		<key>energy_recharge_rate</key>
		<real>25</real>
		<key>forward_weapon_type</key>
		<string>WEAPON_NONE</string>
		<key>fuel</key>
		<integer>70</integer>

		<key>has_ecm</key>
		<true/>
		<key>has_shield_enhancer</key>
		<true/>

		<key>max_energy</key>
		<real>10000</real>
		<key>max_flight_pitch</key>
		<real>0</real>
		<key>max_flight_roll</key>
		<real>0</real>
		<key>max_flight_speed</key>
		<real>0</real>
		<key>thrust</key>
		<real>0</real>

		<key>max_missiles</key>
		<integer>0</integer>
		<key>missiles</key>
		<integer>0</integer>

		<key>model</key>
		<string>bs_base.dat</string>
		<key>name</key>
		<string>Bio-Sphere</string>
		<key>roles</key>
		<string>biosphere carrier</string>

		<key>beacon</key>
		<string>B-code</string> 
		<key>beacon_label</key>
		<string>BioSphere</string>
		<key>scanClass</key>
		<string>CLASS_STATION</string>

		<key>subentities</key>
		<array>
			<string>biosphere_dome_sub 0 0 -10 1 0 0 0</string>
			<string>dock -0.1 -116.5 38.2 1 0 0 1</string>

			<string>*FLASHER* 0 266 -16 40 0.5 0.5 50</string>
			<string>*FLASHER* 0 -418 0  40 0.5 0.5 50</string>

			<string>*FLASHER* -181 -116 188 20 0.5 0.5 20</string>
			<string>*FLASHER* 181 -116 188 20 0.5 0.5 20</string>

			<!-- Docking Cross -->
			<string>*FLASHER* -0.1 -116.5 38.2 40  1 0.5 10</string>
			<string>*FLASHER* -0.1 -103.5 38.2 60  1 0.25 5</string>
			<string>*FLASHER* -0.1 -129.5 38.2 60  1 0.25 5</string>
			<string>*FLASHER* 20.1 -116.5 38.2 60  1 0.25 5</string>
			<string>*FLASHER* -20.1 -116.5 38.2 60 1 0.25 5</string>
		</array>
		<key>frangible</key>
		<false/>
	</dict>

</dict>
</plist>
2/2) And ... which bit of the shipdata.plist tells Oolite that the bally thing is actually dockable in the first place?
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
montana05
---- E L I T E ----
---- E L I T E ----
Posts: 1166
Joined: Mon May 30, 2016 3:54 am
Location: lurking in The Devils Triangle (G1)

Re: Docking Computer

Post by montana05 »

Cholmondely wrote: Wed Mar 24, 2021 1:34 pm
Nite Owl wrote: Thu Oct 15, 2020 5:09 am

Code: Select all

 "allows_fast_docking" = yes; 
This was the code Nite Owl gave above for "Viennese Waltz-free" docking with modern OXP dockables.

1/2) What about legacy script (as for BioSphere)?

Might it be:


<key>fast_docking</key>
<string>yes</string>
?


2/2) And ... which bit of the shipdata.plist tells Oolite that the bally thing is actually dockable in the first place?
Close enough,

Code: Select all

<key>allows_fast_docking</key>
<string>yes</string>
probably will work. :wink:

Regarding 2/2:

You need to assign a dock as a subentity, in shipdata.plist you have several ways:

in roles carrier or station
is_carrier is also possible
another way is to set scan_class to station

Since you are already in the twilight I am excited to wait for your first OXP :wink:
Scars remind us where we've been. They don't have to dictate where we're going.
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

Hunh! As mentioned earlier this week, I can't even get Oolite to recognise the fact that it exists. Malacandra will have to wait a little longer for his piece to go up. I also want to put up Ganelon's Carver's Anarchy. I feel that both add depth to the Ooniverse, and that while reading them on an MDF is a pain, it should help advertise them as being worth looking at. I've still a couple of tricks up my sleeve, though, on the oxp manufacturing front!

Thank you for your help!
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
montana05
---- E L I T E ----
---- E L I T E ----
Posts: 1166
Joined: Mon May 30, 2016 3:54 am
Location: lurking in The Devils Triangle (G1)

Re: Docking Computer

Post by montana05 »

Cholmondely wrote: Wed Mar 24, 2021 2:05 pm
Thank you for your help!
I really appreciate your work on the wiki, its brilliant. As mentioned in the past, if I can help (and see if :oops: ) I am happy to assist.
Scars remind us where we've been. They don't have to dictate where we're going.
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Docking Computer

Post by hiran »

I am trying to understand how the docking computer works. Blyme, I did not read this full thread - but it seems related to the docking computer.

First I tried to find docking computer logic at all. Seems it is contained in the vanilla game distributed over several files:
Partly in PlayerEntity, partly in ShipEntity. Partly in the dockingAI.plist script.

But nowhere I find the real algorithm how to approach the dock. Seems the dockingInstructions must be coming from somewhere else - a location that I have not yet found.
Sunshine - Moonlight - Good Times - Oolite
User avatar
Cholmondely
Archivist
Archivist
Posts: 5365
Joined: Tue Jul 07, 2020 11:00 am
Location: The Delightful Domains of His Most Britannic Majesty (industrial? agricultural? mainly anything?)
Contact:

Re: Docking Computer

Post by Cholmondely »

hiran wrote: Sun Jan 07, 2024 8:14 pm
I am trying to understand how the docking computer works. Blyme, I did not read this full thread - but it seems related to the docking computer.

First I tried to find docking computer logic at all. Seems it is contained in the vanilla game distributed over several files:
Partly in PlayerEntity, partly in ShipEntity. Partly in the dockingAI.plist script.

But nowhere I find the real algorithm how to approach the dock. Seems the dockingInstructions must be coming from somewhere else - a location that I have not yet found.
Is DockingAI relevant?
Comments wanted:
Missing OXPs? What do you think is missing?
Lore: The economics of ship building How many built for Aronar?
Lore: The Space Traders Flight Training Manual: Cowell & MgRath Do you agree with Redspear?
User avatar
hiran
Theorethicist
Posts: 2403
Joined: Fri Mar 26, 2021 1:39 pm
Location: a parallel world I created for myself. Some call it a singularity...

Re: Docking Computer

Post by hiran »

Cholmondely wrote: Sun Jan 07, 2024 8:51 pm
hiran wrote: Sun Jan 07, 2024 8:14 pm
I am trying to understand how the docking computer works. Blyme, I did not read this full thread - but it seems related to the docking computer.

First I tried to find docking computer logic at all. Seems it is contained in the vanilla game distributed over several files:
Partly in PlayerEntity, partly in ShipEntity. Partly in the dockingAI.plist script.

But nowhere I find the real algorithm how to approach the dock. Seems the dockingInstructions must be coming from somewhere else - a location that I have not yet found.
Is DockingAI relevant?
Well spotted. Yes, it is definitely relevant although it looks like an almost verbatim copy of the dockingAI.plist that I had seen earlier. Without any further explanation there is no added value. Hooray, someone commented that it is an extremely complex job. That explains everything! :-)

Who knows how this works?
Sunshine - Moonlight - Good Times - Oolite
Post Reply