Microplot Cleanup, Ship Docking

Hey Folks! Hope everyone had a good weekend. Ours was made more exciting by regular B-17 Flying Fortress passes overhead, and (I think) maybe a German Stuka. We're not far from the Boeing Museum of Flight, and I suspect this is the season for air shows and historic aircraft tours.

Back at the office, there was a flurry of email and forum catch-up across various sites, and then it was back to the prototype.

First order of business was to tidy-up the microplot code. I had to rewire a bunch of the system to better accommodate reliably finding and recalling important people in a plot. So now, all crew generation is done via person spec templates, which includes filter info and/or specs for age, homeworld, naming, careers, etc. This also meant some changes to save/load game code, to better store and recall that info (particularly separate first/last name, as it was a single field before).

This also included some code in plot encounters to reliably refer to "us" or "them" when making social relationship changes. As of now, I can add/remove/change relationships to second and third party plot members per-interaction. (E.g. I can add a contact for our bartender giving us a job, and a contact for the target he's referring to, so our contacts journal has a ref to both).

Then, it was a few fixes and touch-ups to smooth out the kinks these changes introduced. And a minor change to the message log to make homeworld changes less busy looking.

And now that we can reliably create/retrieve plot people, it's time to start finding and talking to them! And for that, we need better docking reliability. Also, we'll need to dock with ships as well as stations.

So the first thing I did was to change out the old point-of-reference code in the orbital plotter to use ships instead of celestial bodies. Now, the plotter lists relative position and velocity to any station or ship. I may someday need to restore celestial bodies for things like asteroids (not too hard to do), but I also might be able to fudge that by making them rocky space stations or something. A bridge to cross when we get there.

With that done, there's one other major obstacle: orbital jitter.

As mentioned last week, getting close enough to dock is a bit tricky in all but the closest planets to the Sun. Even though we amped-up precision to smooth out orbits for outer planets, double precision is still pretty coarse when we're dealing with dozens of km differences at an orbital radius of dozens of AU. Rather than smoothly moving across the screen, they tend to pop at that zoom level. And since that's the current docking range, it can be frustrating.

I think the first order of business is to just increase docking range for now. I.e. we'll just switch to docking ring alignment at 4000km or something. This should make it easier to dock for now, and free us up to test things again until we get a better docking system in place.

Ideally, I'd like there to be some flying or navigation type gameplay to get the player from deep approach range (~4000km) to docking range (close enough to worry about ring alignment). Maybe manual, maybe auto. But whatever it is, it needs to avoid being tedious or frustrating. And ideally interesting and engaging! Otherwise, we just skip it.