Well then, another update. We now have a complete new spaceport interface through which the colony and ships can interact. Today I finished implementing a working mechanism for loading cargo onto a ship, on both client and server. It's simplified for now, but it works.
This seemingly simple task turned out to be more difficult than planned, though the preparation consumed most of the time. That preparation consists of several mechanisms without which everything else won't work. Yes, I could have made it simpler: attach a button to the ship, click it, and something appears aboard. At present we're interested only in reconnaissance and research stations, so it would be easy. But!
Building such workarounds is wasted effort because they later have to be thrown away and rebuilt properly. Instead, consider what we now have.
The spaceport is the link between a colony, its industry and population, and colonies on other planets. A spacecraft transports cargo from one spaceport to another.
A spaceport doesn't necessarily mean elaborate towers and many trillions of credits. It's simply a function: first and foremost, communication with a ship, providing it with a landing site, and carrying out loading and unloading.
So a spaceport might be nothing more than a level clearing in a forest, lights for the hours of darkness, a tent with communications equipment, and a couple of bearded geologists responsible for the schedule and so on.
A spaceport consists of landing pads and terminals. In the geologists' example, it would have one pad and a level-zero general-cargo terminal, meaning manual loading and unloading with whatever people and equipment are available. Very long, difficult, and slow, but not impossible. Add a small hangar nearby with supplies for your little ship and it becomes a service terminal, making it possible to maintain systems locally.
Bring machinery to the clearing and set up a couple of cranes, and the terminal gains a level, speeding up cargo operations. Cover the clearing in concrete, and the pad's level rises so that a heavier ship can land.
Meanwhile, crates fill the neighboring clearing. This is the storage area of the general-cargo terminal. Cargo consignments are assembled here once they're ready for transport, accompanied by documentation, and covered by a signed contract. When the cargo is ready and a ship is ready to accept it, we press a button and it loads aboard!
At the destination, we unload it. In the case of research stations, we land on a planet and deploy a camp. The cargo disappears from the ship and an outpost appears on the planet.
There. I haven't yet made the outpost generate from the cargo, but that's a couple of hours' work. Unloading in port, now that the main process has been written and debugged, will take perhaps an hour.
So that's it. All this now works, is retrieved and displayed automatically, and even has pictures rather than looking like a database. Tomorrow I'll finish it completely, and then all that remains is to populate a couple dozen surrounding star systems. For now, they're clones of the Solar System. And if I haven't forgotten anything, we can start flying! Where are my testers?!
