This would be nice, but I'm not sure if the relatively small benefits of such a route plotter would be worthwhile enough for FDev to go to the trouble of making a route plotter that can calculate this in a reasonable amount of time.
From what I understand, the algorithms that the route plotter uses are fairly simple and need very little in the way of processing power to run. I may not be correct here, but my guess is that the algorithms are as follows:
- Fastest Route
- Get a list of systems that are within the player's jump range
- Note that this could probably be optimized to only take the 200-1000 systems that are farthest away
- Find the system on the list that is closest to the destination system
- Add the system to the route and repeat
- Economical Route
- Get a list of the 10-20 systems that are closest to the player
- Run a fuel consumption calculation for each system
- Find the distance to the destination (DtD) for each system
- Subtract the the current DtD to the DtD of each system to get the net distance
- Divide the net distance by the fuel consumption for each system
- Add the system with the lowest distance/fuel ratio to the route and repeat
Both of these plotters are very simple and can plot hundreds of of optimized jumps in a few seconds. With this in mind, I'm really not that sure how to go about making a "destination in a single tank" route plotter. My best guess would be some form of looping economical route plotter with a minimum range:
- Run a variation economical route plotter that excludes systems below a certain range
- start the algorithm with a minimum range of 0ly
- When the route plotter completes, determine how much fuel will still be in the tank
- If there is fuel remaining, increase the minimum range of the plotter and repeat
- This would probably work best with some kind of variable range incrementation (For example, 20ly, 10ly, 5ly, 2ly, 1ly)
- If there is no fuel remaining, the previous route is the fastest without scooping
- If using variable range incrementation, go back to the previous range, reduce the range increment one step, then add the new range increment and plot a new route
- If using variable range incrementation and there is no smaller range increment, the previous route that could be achieved on a single tank is the fastest without scooping
Note that this algorithm will run the economical route plotter MULTIPLE times and will probably be very resource intensive. As such, if it needs to be done in a reasonable amount of time the maximum range to destination should be reduced for this plotting option. I'd say that this plotting option should only be used out to a distance of around 500ly, since you'll either bring a fuel scoop or be using economical routing past this point anyways.
Another way that a "destination in a single tank" route plotter could work would be with a fastest route plotter with a restriction to maximum range:
- Run a variation fastest route plotter that excludes systems above a certain range
- start the algorithm using the current jump range
- When the route plotter completes, determine how much fuel will still be in the tank
- If there no fuel remaining, decrease the maximum range of the plotter and repeat
- This would probably work best with some kind of variable range incrementation (For example, 20ly, 10ly, 5ly, 2ly, 1ly)
- If there is fuel remaining, the plotted route is the fastest without scooping
- If using variable range incrementation, go back to the previous range, reduce the range increment one step, then subtract the new range increment and plot a new route
- If using variable range incrementation and there is no smaller range increment, plotted route is the fastest without scooping
This variation is probably a bit less processor-hungry, but would still use quite a bit of processing power. Again, the maximum range to destination should probably be limited to 500ly to keep plotting times low (it's not like anyone sane would ever want to use this option past this distance anyways).
Both of these plotters are far more complex than the plotters they are based on, and would likely need quite a bit of optimization before they could be added to the game. Considering how infrequently this type of plotter would be needed, and that the entire point of the plotter could be avoided by fitting fuel scoop, I cannot see FDev adding something like this any time soon (unless of course half of the community bands together to get it added).