Installing Works Again

Hey Folks! After a morning of wrangling, the install/uninstall interactions are working again. Michael's digging into pathfinding optimizations. And I'm digging into an inbox mountain.

Yesterday's hunch was right about the timer syncing, and doing that was enough to get uninstalling up and running again. I had to remove a minor optimization I added that skips updating if the elapsed time was 0, as my "stop waiting" fix relied on that case. And my special handling of "wait" in the update loop needed to be sensitive to cases where wait had 0 seconds left, so it wouldn't cause an infinite loop.

Once that was done, I could uninstall conduit, and it would do everything it should! Right animation. Right teleporting of uninstalled item. Right exchange of actions, grabbing, tool, etc. But installing was failing.

It took a little while to figure out why, but eventually I noticed it was due to my zero-waiting change. Because installing equipment involves three parties doing a dance (the crew, the item to install, and the placeholder representing the final install point), there were some collisions in the timing of replies and waiting.

Fortunately, the solution was pretty simple. Issuing a "wait" command just needed to get priority, so it was inserted at the head of the queue. This way, an object or crew would stop immediately when told to wait, and then resume once done, and everybody would do stuff in the order it was prescribed.

There's probably one case where this makes things worse, which is AI freezing while another crew walks to them. And if they're far enough apart, it'd look artificial. But that might be solvable via other means, and is just a minor issue right now.

Anyway, yay! Repairs to begin again soon.

Michael just emailed me to let me know he saw a big opportunity for faster pathfinding, and is having success with that. So that could be another jump in performance soon. Particularly for large ships.

And finally, emails. Forums. Comments. I'm still catching up on the backlog, so I dove into a bunch of those today. The good news is that I should be able to put in some good hours tomorrow. Looking forward to it!

Tags: Ostranauts