anthonylangsworth/RoutePlotter
Plot the shortest route to visit a set of star systems in Elite: Dangerous.
Route Plotter
Introduction
Route Plotter is a small Python program that calculates the shortest route to visit all star systems where a minor faction in the Elite Dangerous galaxy is present. Visiting each star system in-game while running a tool like Elite Dangerous Market Connector (EDMC) ensures the data in third-party tools like Inara, EDSM and elitebgs.app is up-to-date. This helps players supporting a minor faction determine whether work is required to support, protect or expand their minor faction.
This problem is a traditional "travelling salesman" problem, solved using a genetic algorithm with the MLROSE library.
Use
In a Linux prompt (using Windows Subsystem for Linux (WSL) on Windows):
- Download the files, such as by a
git cloneof this repository's URL. - Navigate to the folder containing the files from this repository.
- Run
pip install -r requirements.txtto download dependencies. This only needs to be run the first time. After that, the dependences are present. - Run
wget https://www.edsm.net/dump/systemsPopulated.json.gzto download the latest data on populated star systems from EDSM. Run this (1) the first time, (2) when the minor faction expands into a new system, (3) when the minor faction retreats from a star system or (4) it has been a while since you ran this program, just to be safe. - Run
gunzip systemsPopulated.json.gzto decompress the downloaded file. Run this whenever you run the previous step to download new data on populated systems. - (Optional) Change the name of the minor faction in
MINOR_FACTIONaround line 135. It defaults to my minor faction but yours is likely different. This only needs to be changed once. - Run
python bubble_runner.py. It outputs the following to the console:- The route. Start at any system then follow the jump sequence. Once you reach the end, jump to the first system and continue until you reach the star system you started at.
- The total distance in light years (LY). This is a rough measure of how spread out your minor faction is.
- The longest jump required. A ship that can jump at least this far can do the route in a single jump per step.
License
See LICENSE.