Difference between revisions of "Station Dock Control"
(27 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
[[image:sdc_sample02.png|right|400px]] |
[[image:sdc_sample02.png|right|400px]] |
||
==Overview== |
==Overview== |
||
+ | See who is currently about to leave or dock at the Space Station. If you are docked you can see this through a new option on the F4 ship-station interface screen. If you are in flight (and have 'targeted' the station) you can see this on an MFD (multi-function display). |
||
+ | |||
This OXP attempts to add some realism and depth to the game by giving each station with NPC traffic its own list of docked ships that launch when their scheduled departure time lapses. It does this in the following ways. |
This OXP attempts to add some realism and depth to the game by giving each station with NPC traffic its own list of docked ships that launch when their scheduled departure time lapses. It does this in the following ways. |
||
Line 12: | Line 14: | ||
The OXP works on both 1.80 and 1.82, but it works better on 1.82 and later. In 1.80, ships can look slightly different on launch to how they look in the dock, but new features in 1.82 fix this. Plus, there are some bugs in 1.80 relating to ship AI and hyperspace destination systems that are fixed in 1.82. |
The OXP works on both 1.80 and 1.82, but it works better on 1.82 and later. In 1.80, ships can look slightly different on launch to how they look in the dock, but new features in 1.82 fix this. Plus, there are some bugs in 1.80 relating to ship AI and hyperspace destination systems that are fixed in 1.82. |
||
− | This OXP will work with or without RandomShipNames. If you don't use RandomShipNames, the docked list will only show ship types. |
+ | This OXP will work with or without [[Randomshipnames_OXP|RandomShipNames]]. If you don't use RandomShipNames, the docked list will only show ship types. |
Hopefully, the things this OXP does do contribute to a much richer experience for Oolite players. |
Hopefully, the things this OXP does do contribute to a much richer experience for Oolite players. |
||
Line 24: | Line 26: | ||
==Dockside operations== |
==Dockside operations== |
||
+ | [[File:Docking Sequence.jpg|thumb|400px|right]] |
||
When the player is docked at a station that has NPC traffic and allows the list to be shown, an item called "Station Traffic Control" will be available on the Interfaces (F4) page. The title of this will vary, based on the name of the station. For instance, at a main Coriolis station, the title will be "Coriolis Station Traffic Control". |
When the player is docked at a station that has NPC traffic and allows the list to be shown, an item called "Station Traffic Control" will be available on the Interfaces (F4) page. The title of this will vary, based on the name of the station. For instance, at a main Coriolis station, the title will be "Coriolis Station Traffic Control". |
||
Line 66: | Line 69: | ||
Using the hack chip is risky, though. GalCop takes a dim view of security breaches, and if they catch you using it, be prepared for serious repercussions. GalCop monitor their networks carefully, and using a chip like this cannot go hidden for long. It may take only a few seconds for GalCop to trace the security breach to your ship. |
Using the hack chip is risky, though. GalCop takes a dim view of security breaches, and if they catch you using it, be prepared for serious repercussions. GalCop monitor their networks carefully, and using a chip like this cannot go hidden for long. It may take only a few seconds for GalCop to trace the security breach to your ship. |
||
+ | |||
+ | ==Third Party OXP's== |
||
+ | Several methods are available to help third party OXP's add ships to a dock, and then be informed of events that take place to those ships. Please see the separate document "developer notes.txt" inside the pack for all information about adding ships and monitoring status. |
||
==Download== |
==Download== |
||
− | Download [[Media:StationDockControl.oxz|StationDockControl.oxz]] v1.1. |
+ | Download [[Media:StationDockControl.oxz|StationDockControl.oxz]] v1.1.25 (downloaded {{#downloads:StationDockControl.oxz}} times). |
− | <br/>Download [https://app.box.com/s/nqzefpnlhnk9gx51erxsowbg752zw1uh StationDockControl.zip] v1.1. |
+ | <br/>Download [https://app.box.com/s/nqzefpnlhnk9gx51erxsowbg752zw1uh StationDockControl.zip] v1.1.25 (extract OXP folder to AddOns) |
==Licence== |
==Licence== |
||
Line 80: | Line 86: | ||
Special thanks go to:<br/> |
Special thanks go to:<br/> |
||
cim, for all his coding help and patience with my incessant list of questions. I couldn't have done this without your help, cim!<br/> |
cim, for all his coding help and patience with my incessant list of questions. I couldn't have done this without your help, cim!<br/> |
||
− | Norby, Disembodied, another_commander, and |
+ | Anonymissimus, Norby, Disembodied, another_commander, Wildeblood, Day, NorthenderPNE, and all other forum members who have sent me their suggestions and feedback, without whom this OXP would not have been anywhere near as good as it could be.<br/> |
To all the devs of Oolite, who are committed to making Oolite such a great base from which experiments like this can be launched. |
To all the devs of Oolite, who are committed to making Oolite such a great base from which experiments like this can be launched. |
||
==Version History== |
==Version History== |
||
+ | 1.1.25 |
||
+ | * Added ships from phkb's Factory Paint Jobs packs (for Boa, Boa Mk2 and Anaconda). |
||
+ | |||
+ | 1.1.24 |
||
+ | * Fix for the thargoidStrikes populator setting. |
||
+ | * Correctly set initialisation for main dataset. |
||
+ | * Added extra dock versions of ships. |
||
+ | |||
+ | 1.1.23 |
||
+ | * Code refactoring for potential speed and memory usage improvements. |
||
+ | |||
+ | 1.1.22 |
||
+ | * Added spaces to elements in the MFD. |
||
+ | * When viewing station model on dock list, size of station will now not change after viewing individual ships. |
||
+ | |||
+ | 1.1.21 |
||
+ | * Added flag (accessible via Library Config) to turn of RandomShipName's ship names in the Docking list MFD. |
||
+ | * Ensured stations in interstellar space do not get dock lists. |
||
+ | * Turned off some debug messages. |
||
+ | * Bug fixes. |
||
+ | |||
+ | 1.1.20 |
||
+ | * Turned off debug messages. |
||
+ | * Added dock version of ships from Sungs Shady Ships. |
||
+ | |||
+ | 1.1.19 |
||
+ | * Further tweaks to the populator routine to prevent gridlock and avoid stations with empty docks. |
||
+ | * Bug fixes. |
||
+ | |||
+ | 1.1.18 |
||
+ | * Additional checking types added to ship condition checking routine. |
||
+ | * Tweaks to timeslot calculation code to try and prevent gridlock conditions. |
||
+ | * Added dock version of ships from Equipment By Ship Class OXP. |
||
+ | |||
+ | 1.1.17 |
||
+ | * Prevented player ship from appearing twice on the MFD list. |
||
+ | * Removed extraneous ":" character from ship names on MFD when RandomShipNames OXP is not installed. |
||
+ | |||
+ | 1.1.16 |
||
+ | * Bug fixes. |
||
+ | |||
+ | 1.1.15 |
||
+ | * Fixed bug that was preventing late station analysis from populating docking lists. |
||
+ | * Added dock version of ships from Laser Cannons OXP. |
||
+ | * Added dock version of ships from Military Shields Ships OXP. |
||
+ | * Excluded carriers (from the Carriers OXP) from being added to a station during the population process. |
||
+ | * Incorrect default zoom factor was being applied to ship models in the dock view. |
||
+ | * Adjusted the model size for some specific ships. |
||
+ | |||
+ | 1.1.14 |
||
+ | * Improved handling of systems with no data. |
||
+ | * Moved Taxi Stations to low traffic list. |
||
+ | <div class="mw-collapsible mw-collapsed" data-expandtext="Show older" data-collapsetext="Hide older" style="overflow:auto;"> |
||
+ | 1.1.13 |
||
+ | * Excluded Behemoth's from having any traffic. |
||
+ | * Fixed method of determining whether a ship can fit in a station's dock. Function was returning true when actual result should have been false. |
||
+ | |||
+ | 1.1.12 |
||
+ | * Added Taxi Galactica stations to list of controlled stations. |
||
+ | * Added Tionisla Orbital Graveyard to list of controlled stations. |
||
+ | * Bug fixes. |
||
+ | |||
+ | 1.1.11 |
||
+ | * Turned off repopulation routines when player starts a hyperspace countdown. |
||
+ | * Turned off some more debug messages. |
||
+ | * Code refactoring. |
||
+ | |||
+ | 1.1.10 |
||
+ | * Bug fixes. |
||
+ | |||
+ | 1.1.9 |
||
+ | * Removed debug message. |
||
+ | * Added additional station-specific ship exclusions. |
||
+ | * Added protection against an "undefined" randomshipname being returned. |
||
+ | * Fixed methodology for processing escorts defined in the new format and with "[]" indiciating a specific ship key. |
||
+ | * Excluded ships from Convoys and Freighter Convoys OXP's from being added to a station during the population process. |
||
+ | |||
+ | 1.1.8 |
||
+ | * Added additional option to external menus to limit their display by station. |
||
+ | * Fixed issue where assassin escorts were displaying the incorrect ship type. |
||
+ | * Fixed issue where displaying the station model on the dock list would create a bogus station entry and empty the dock list for the current station. |
||
+ | |||
+ | 1.1.7 |
||
+ | * Added code samples contributed by forum member "Day". |
||
+ | |||
+ | 1.1.6 |
||
+ | * Further attempts to increase performance. |
||
+ | |||
+ | 1.1.5 |
||
+ | * Added more dock versions of ships from Hard Ships OXP. |
||
+ | |||
+ | 1.1.4 |
||
+ | * Added dock versions of ships from Hard Ships OXP. |
||
+ | * Added dock versions of ships from Sniper Gun OXP. |
||
+ | * Added dock versions of ships from Ionics OXP. |
||
+ | * Added dock versions of ships from Ferdelance 3G OXP. |
||
+ | * Corrected dock version entries of Classic Superpythons OXP. |
||
+ | * Some minor tweaks for increased performance. |
||
+ | |||
+ | 1.1.3 |
||
+ | * Added some additional dock versions of a variety of ships. |
||
+ | * Further attempts to increase performance. |
||
+ | |||
+ | 1.1.2 |
||
+ | * Further attempts to increase performance. |
||
+ | |||
1.1.1 |
1.1.1 |
||
* Attempts to control the amount of pre-work required to check that ships can fit in docks before adding them. |
* Attempts to control the amount of pre-work required to check that ships can fit in docks before adding them. |
||
Line 336: | Line 448: | ||
* Converted some strings into arrays. |
* Converted some strings into arrays. |
||
* Fixed issue with MFD occasionally showing "NaN" errors after jumping into a new system and before the populator function has run. |
* Fixed issue with MFD occasionally showing "NaN" errors after jumping into a new system and before the populator function has run. |
||
+ | </div> |
||
==Quick Facts== |
==Quick Facts== |
||
− | [[Image:IconLib.png|100px|right|link=Library|alt=Config options available through 'Library']] |
||
+ | {{OXPLevel|0}}{{IconOXP|ooVersion="1.80"|oxpCPU="Average"|oxpMEM="Average"|oxpGPU="Low"|oxpIsAPI=true|oxpIsDocumented=true|oxpIsConfigurable=true}} |
||
− | |||
+ | [[Image:IconLib.png|48px|right|link=Library|alt=Config options available through 'Library']] |
||
{{Infobox OXPb| title = StationDockControl.oxz |
{{Infobox OXPb| title = StationDockControl.oxz |
||
− | |version = 1.1. |
+ | |version = 1.1.25 |
− | |release = |
+ | |release = 2021-07-21 |
|license = CC BY-NC-SA 3.0 |
|license = CC BY-NC-SA 3.0 |
||
|features = MFD |
|features = MFD |
Latest revision as of 04:54, 21 July 2021
Contents
[hide]Overview
See who is currently about to leave or dock at the Space Station. If you are docked you can see this through a new option on the F4 ship-station interface screen. If you are in flight (and have 'targeted' the station) you can see this on an MFD (multi-function display).
This OXP attempts to add some realism and depth to the game by giving each station with NPC traffic its own list of docked ships that launch when their scheduled departure time lapses. It does this in the following ways.
- Maintains a detailed list of ships docked at stations that have NPC traffic. This includes ship types and equipment, pilot information, escort and group information, docking bays, destination systems, and arrival and departure times.
- Launches ships that reach their departure time, and send them on their way to other systems. Perform regular assessments of each station dock, checking its congestion level, and potentially bumping departure times for all vessels to ease launch queue pressure.
- Automatically dock ships at stations. Most ships that enter a station will end up on the dock list.
- Move ships through a full range of docking statuses: Inbound, Docking, Unloading, Docked, Loading, awaiting departure, and Launching (see descriptions of each of these below).
- Simulate real-world pilot activities: Occasionally adjust ships destination, or their departure time, to simulate real-world changes in plan. Some pilots will hide their destination from GalCop authorities, so it doesn't show up on the list.
The OXP works on both 1.80 and 1.82, but it works better on 1.82 and later. In 1.80, ships can look slightly different on launch to how they look in the dock, but new features in 1.82 fix this. Plus, there are some bugs in 1.80 relating to ship AI and hyperspace destination systems that are fixed in 1.82.
This OXP will work with or without RandomShipNames. If you don't use RandomShipNames, the docked list will only show ship types.
Hopefully, the things this OXP does do contribute to a much richer experience for Oolite players.
What's happening under the surface
The main change this OXP makes to the core game is to adjust the core populator function. For ships jumping into the system from somewhere else, there is no change. That should still happen using the existing logic. What has changed is the outbound functions, and it's worth taking a moment to explain the logic that this OXP uses. Previously, the standard populator would randomly launch ships of various types, but some of that randomness was mitigated by some balancing functions. That is, if there was more than a certain number of ships with a particular role, no more of that role would be created. What that did was prevent a system from having more than 3 heavy hunter groups, or 4 medium pirate freighter groups. If there are 3 or more heavy hunter groups, the populator wouldn't create anything.
In this OXP, some of that balancing is gone, because all of the ships in the docking queues are defined in advance. For ships coming into the system the balancing factor is still present, but for ships launching at a station there could very well be 5 heavy hunter groups.
Note: **Any OXP that changes the core Oolite populator function may potentially conflict with this OXP.** If you find an OXP that does conflict please contact the me via the Oolite bulletin board so I can work out the best approach for addressing the conflict.
Dockside operations
When the player is docked at a station that has NPC traffic and allows the list to be shown, an item called "Station Traffic Control" will be available on the Interfaces (F4) page. The title of this will vary, based on the name of the station. For instance, at a main Coriolis station, the title will be "Coriolis Station Traffic Control".
On opening the traffic control screen, a list of ships will be displayed. Beside each ship will be a scheduled departure time or current dock status (see below), and, if the ship has lodged a flight plan, what their destination system is. This list will refresh itself periodically, even while you're viewing it.
If you select a ship from the list a "Ship Information" page will be displayed. This page will outline some of the information the station has about the vessel, including the name, legal status, and whether the ship is part of a group or escort. Also, pilot information will be available, including their home system and species.
Please note that data on the list is subject to change. Ship captains can change their minds about when they want to leave, or what their destination will be.
Ship captains tend to keep destination information to themselves, unless there is some benefit to sharing the information, and they will only share the information with pilots who have a reputation they can trust. If a captain has determined to trust the player their destination will be visible in the dock list and they will permit the player to launch before or after their ships, in essence offering a token group membership to the player. When a pilot has permitted this, the options "Launch before this ship" and "Launch after this ship" will be visible in the menu. The availability of these options will be based on the reputation of the player, and the relative danger of the destination system. If the player has a reputation as a pirate hunter, then traders and couriers might value the player's presence. But if the player has the reputation of a pirate or assassin, traders are likely to be wary of the player.
You can't launch before or after any ship that is due to launch in less than 10 minutes. Station launch protocols require a minimum of 10 minutes lead time for a launch.
Occasionally, when you open the Traffic Control display, you will see this: "Establishing communications link with station traffic control. Please stand by." This message indicates that the station's data network is experiencing bandwidth issues. The list will appear after a short delay.
Exemptions:
- Police vessels are not shown in the list of docked ships. All police vessels are docked separately to civilian vessels.
- Miners, Scavengers and other Station-specific vessels: Some stations will have a miner, scavenger, or some other craft that launch and dock periodically. These are not listed in the station traffic control list, as they fall outside of the traffic controller's work policy guidelines.
Note: While the above vessels are not included on the dock list, they will still show up as "Inbound" when they are docking with the station. This is purely for information purposes. Once they enter the station they are controlled by other dockyard services and will not be displayed on the list.
Status descriptions explained
Ships that appear in the traffic control list can have one of five different statuses. They are:
Inbound This indicates the ship is just outside the station and has requested permission to dock.
Docking This indicates the ship has entered the station and is being maneuvered into a docking bay, umbilicals are being attached, ship manifests interfaced with station systems.
Unloading This indicates the ship has docked in station and cargo, passengers or parcels, are being unloaded/delivered.
Docked This indicates the ship is waiting for cargo and/or departure instructions.
Loading This indicates the ship is currently loading cargo.
Time (hh:mm) When a time is displayed, this is the time remaining until they will launch from the station.
Launching This indicates the ship has requested a launch slot from Traffic Control. Once they are cleared (and it may take some time if there is heavy traffic), they will be maneuvered into the launch tunnel.
Flight operations
GalCop stations also provide a data stream that can be accessed through a multi-function display (MFD). To access this data stream, first target the station, then select a MFD slot using the Shift ":" keyboard sequence, and then cycle through the available MFD's using the ";" key until the Traffic Control list appears:
The MFD is a "lite" version of the main Traffic Control screen. It shows, at the top, the number of ships attempting to dock at the station, and the number of ships that are currently in the launch queue. Then the first nine entries from the traffic control list will be displayed.
Note: There is a difference between "Launching" and being in the launch corridor. A ship that is launching is still inside the station in their allocated docking bay. Ships in the launch queue are being launched by the station traffic controller and should be exiting the docking port shortly.
SDC Hack Chip
In some Anarchy, Feudal and Multi-Government systems where the tech level is greater than or equal to 9, if you can find a Rock Hermit (Salvage Gangs and Hack Outposts are also possibilities if those OXPs are installed) you might be able to purchase an "SDC Hack Chip". The hack chip bypasses the security protocols of the main station's dock list, giving you complete visibility of all ships destinations. When you view the details for a ship with the hack chip installed, you will have an additional option: "Override launch authority". Selecting this option will give you the ability to launch before or after that ship.
Using the hack chip is risky, though. GalCop takes a dim view of security breaches, and if they catch you using it, be prepared for serious repercussions. GalCop monitor their networks carefully, and using a chip like this cannot go hidden for long. It may take only a few seconds for GalCop to trace the security breach to your ship.
Third Party OXP's
Several methods are available to help third party OXP's add ships to a dock, and then be informed of events that take place to those ships. Please see the separate document "developer notes.txt" inside the pack for all information about adding ships and monitoring status.
Download
Download StationDockControl.oxz v1.1.25 (downloaded 4958 times).
Download StationDockControl.zip v1.1.25 (extract OXP folder to AddOns)
Licence
This OXP is released under the Creative Commons Attribution - Non-Commercial - Share Alike 3.0 license. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/
Station image from http://www.iconshut.com
Lock image from http://simpleicon.com/lock-2.html
Unlock image from http://simpleicon.com/lock-3.html
Special thanks go to:
cim, for all his coding help and patience with my incessant list of questions. I couldn't have done this without your help, cim!
Anonymissimus, Norby, Disembodied, another_commander, Wildeblood, Day, NorthenderPNE, and all other forum members who have sent me their suggestions and feedback, without whom this OXP would not have been anywhere near as good as it could be.
To all the devs of Oolite, who are committed to making Oolite such a great base from which experiments like this can be launched.
Version History
1.1.25
- Added ships from phkb's Factory Paint Jobs packs (for Boa, Boa Mk2 and Anaconda).
1.1.24
- Fix for the thargoidStrikes populator setting.
- Correctly set initialisation for main dataset.
- Added extra dock versions of ships.
1.1.23
- Code refactoring for potential speed and memory usage improvements.
1.1.22
- Added spaces to elements in the MFD.
- When viewing station model on dock list, size of station will now not change after viewing individual ships.
1.1.21
- Added flag (accessible via Library Config) to turn of RandomShipName's ship names in the Docking list MFD.
- Ensured stations in interstellar space do not get dock lists.
- Turned off some debug messages.
- Bug fixes.
1.1.20
- Turned off debug messages.
- Added dock version of ships from Sungs Shady Ships.
1.1.19
- Further tweaks to the populator routine to prevent gridlock and avoid stations with empty docks.
- Bug fixes.
1.1.18
- Additional checking types added to ship condition checking routine.
- Tweaks to timeslot calculation code to try and prevent gridlock conditions.
- Added dock version of ships from Equipment By Ship Class OXP.
1.1.17
- Prevented player ship from appearing twice on the MFD list.
- Removed extraneous ":" character from ship names on MFD when RandomShipNames OXP is not installed.
1.1.16
- Bug fixes.
1.1.15
- Fixed bug that was preventing late station analysis from populating docking lists.
- Added dock version of ships from Laser Cannons OXP.
- Added dock version of ships from Military Shields Ships OXP.
- Excluded carriers (from the Carriers OXP) from being added to a station during the population process.
- Incorrect default zoom factor was being applied to ship models in the dock view.
- Adjusted the model size for some specific ships.
1.1.14
- Improved handling of systems with no data.
- Moved Taxi Stations to low traffic list.
Quick Facts
Version | Released | License | Features | Category | Author(s) | Feedback |
---|---|---|---|---|---|---|
1.1.25 | 2021-07-21 | CC BY-NC-SA 3.0 | MFD | Mechanics OXPs | phkb | Oolite BB |