Orbital Plot Interaction
Hey Folks! Short day today as I had to watch our daughter while Rochelle took an exam across town. But I was still able to churn out a few new things on the orbital plotter.
The first thing was to get the same "onion skin" effect on the ship as I added for planets yesterday. The reason for this was to see if it would help predict future positions of the ship vs. a target planet, and allow the user to plot a course that worked.
It sort of does. But it's not enough info nor sophistication for a full flight yet. It's mainly good at showing objects' relative positions over a range of time. And the useful time range varies a lot depending on the speed of the ship and/or planets in question.
So the next thing I added was making the time range adjustable, as well as the rate at which the plotter moves things around the system. And this meant adding my first on-screen buttons!
Up until now, I've been temporarily wiring everything into hotkeys like WASD and arrows. Good for quick testing, but not a long term solution. Eventually, I would need on-screen widgets for the user to interact with.
Adding those turned out to be pretty straightforward. And I even have a mix of buttons and text readouts!
So far, I added controls for increasing/decreasing the number of "onion skins" to see further into the future for objects, or clean them up if I wanted to pare-down to just the present again. And I also started adding some controls/readouts for controlling the speed of time in the System map. Sort of like VCR controls for the map to move things around.
Already I'm starting to think my first approach to navigation is off, as choosing a direction and then plotting a course seems too clunky and fraught with edge cases. I'm now thinking maybe the user adjusts the crosshairs on the map to their desired location, and the nav computer will calculate the most direct route and show it on the map. Then, I can use these VCR controls and onion skin tools I've created to let the user preview the flight. Maybe add waypoints, set maximum delta V to conserve fuel, avoid regions or grav wells, etc.
I'm thinking it'll still require user intervention when the planned flight encounters certain conditions (e.g. mid-transit maneuvers, unexpected objects, deviation from plotted course gets too large, fuel reserves changed, etc.)
However, all this is meaningless until I give it a shot and see how it actually feels!