I'm very happy to announce the beta release of the Station Dock Control, version 0.1. In short, this OXP attempts to simulate the arrivals and departures of a space station, and give the player full view of most ships docked at a station. Ships will launch according to the scheduled departure time, docked ships will move through a number of statuses, and pilots will sometimes change their minds or hide their destinations from the player.
Download link for OXP:
https://app.box.com/s/nqzefpnlhnk9gx51erxsowbg752zw1uh.
Screenshot 1: Example of a page from the Station Traffic control
Screenshot 2: Example of ship detail page
Screenshot 3: Example of Traffic Control MFD
The readme.txt file contains a lot more information, so I encourage you to read that file.
This OXP is quite a bit more than just a list of ships or a slightly more complex system populator. One path I could have taken is to just create a fake list of ships, and have items disappear when ships "launch", and add items to the list when ships "dock". When you're docked it's not like you have a view port to see what ships are actually docking or launching, and when you're in space, who cares whats going on inside? But I didn't want to create a dummy list that had no relation to the actual game world. I wanted to have a real list of ships that launch real ships. I wanted to see a whole group of ships dock with a station, see them in the dock, and see them launch again. Achieving that level of detail and complexity requires quite a bit of code, I discovered, which is why the OXP is quite large for a package with no graphical elements.
So, while I'm really happy to be sharing this, I'm also fairly nervous - I'm playing with things way above my pay grade here! I hope you understand that what I'm saying is that I need help to make sure I haven't broken something horribly, but that the core game of Oolite still continues to play in a satisfactory way. With this much code the potential for unforeseen conflicts and breakages is huge, so I need some feedback from some willing testers on a few issues. Testers will need to pay close attention to their actions as they will have a big impact on the dock list.
1. Empty dock lists: Do you ever get to a point where there are no ships in the list, particularly at main stations? Where were you and what did you do to make that happen?
2. Launching/docking frequency: Does the number of ships launching and docking feel right? The idea is that traffic volume should match the system tech level, station type and system busyness.
3. Changing data: Do ships change their departure time or destination too often or too infrequently? Did you even notice this happening?
4. Performance issues: Do you notice any slow downs or regular hiccups on your system? Do you notice when this OXP is installed?
I'm outputting a lot (and I mean, a *lot*) of data into the log file, so hopefully that can provide answers to any issues that arise.
If someone is willing I'd also appreciate feedback on the code, particularly for ways to improve the speed of various sections. I really need some help with the code that puts ships directly into the system (as opposed to launching them through a station). The code, at present, seems to put ships in the launch corridor, despite my best efforts (and help from others) to position ships away from it. There's also a pretty good chance that some code could be cut, so suggestions along those lines would be appreciated as well. Any suggestions that can help make this better would be great.
For the moment, I'm just releasing this as an OXP, rather than OXZ, the reason being it's a lot easier to see and change things in an OXP, and I'd like to encourage people to look inside as much as possible. An OXZ will follow once the code is stable.
There's more information about what is going on in the "readme.txt" file, and the code itself has a few comments explaining the reasoning behind, and logic for, a number of core parts. I'm happy to explain anything I've missed, or change things whenever improvements can be made. Nothing is set in stone!
I hope you enjoy using this OXP and that it deepens the Oolite world on your PC.