Advanced Navagational Array: Allow player to plot their own course

An area for discussing new ideas and additions to Oolite.

Moderators: another_commander, winston

Post Reply
Rekrul
Competent
Competent
Posts: 49
Joined: Fri Mar 13, 2020 10:17 am

Advanced Navagational Array: Allow player to plot their own course

Post by Rekrul »

I know this has been mentioned before, but I had some extra suggestions to make.

Currently the ANA (Advanced Navagational Array) only lets you plot the shortest route between your current location and whatever system you click on. It offers a choice of routes based on least number of jumps or shortest amount of time. However sometimes you want to make a detour, but without being able to plot your own course, you have no idea how it will affect the total travel time.

The most useful method of doing this would be to allow the user to CTRL-Click on one of the systems on the route and drag the route to a new system. However, this would probably be complicated to program since you would be making changes to the middle of a route. However, I have an idea that I think would be easier to implement from a programming standpoint.

As it is now, once you've clicked the ultimate destination system and the ANA has plotted a route, if you click one of the systems along that route, that system will become the new destination and the ANA will end the route there. What I propose is that If the player then CTRL-Clicks on a system, the ANA will use the last system in the route as a sort of new starting point and will plot a route from that system to the one that the player CTRL-Clicked on. The original portion of the route will be left undisturbed. The ANA will not plot a new route from the original starting point to that system, only from the last system in the route. Each system that the player CTRL-Clicks on will be added to the route and will become the new point that the ANA starts from. I made some images to illustrate my idea.

The ANA has plotted a route to Aate;

Image

However, I want to take a detour to Erbiti. So I first click on Solageon to cut the route there;

Image

Then I CTRL-Click to add Erbiti to the route, and then Reesdice. This forces the ANA to add them to the end of the existing route;

Image

Finally, I scroll over and CTRL-Click on Aate and it will then plot the route from Reesdice to Aate;

Image

CTRL-Clicking on a system will cut the route short at that point, but will preserve any jumps that the player has previously added. In other words, if I went back and CTRL-Clicked on Reesdice, it would end the route there, but would preserve my detour to Erbiti.

Basically, CTRL-Clicking a system will set a waypoint that the ANA has to add to the route. That waypoint will then be used as the jumping off point for routes to any additional systems that the player CTRL-Clicks on. If the player simply clicks normally on a system, the ANA would revert back its normal function and all waypoints the player had added would be cleared.

This would allow the player to add detours to a route by overriding the ANA's normal selection. By CTRL-Clicking to add a waypoint, it tells the ANA that the route up to that point is set in stone, don't change it. Only plot new routes from the last system in the route (regardless of whether that system was selected by the ANA, or set by the player). Of course, the time and number of jumps would automatically be updated to reflect any changes made to the route.

Additionally, I recommend using a different color for any jumps the player adds, as I've done in my examples, so that the player can see where the route started to change from what the ANA suggested. If you wanted to get really fancy, you could have the ANA concurrently plot the route from the original starting point to whatever the currently selected destination is and display any parts of the routes that overlap in green. Then the player could easily see exactly where their route deviates from the one the ANA suggested.

Full disclosure: I don't know any modern programming languages. I only know BASIC and a little 6502 assembly, so while I have some idea of the mechanics of doing this, I don't know any of the nitty-gritty or how easy it would be to code.

Any thoughts?

EDIT: Additionally, there should be a way to save the route so that it won't be cleared when you're using the chart along the way to plot your next destination. This would leave the route overlaid on the map while you click to plot each individual jump. Also a way to clear the stored route. If you have a stored route and you plot a new route and save it, THAT route would become the stored one, replacing the previous one.

Post Reply