Auto-Jimmy v0.9.4: X-Boat Routing Release

CthulhuStig

Banded Mongoose
I thought it was about time I got my ass in gear and pulled together another release of Auto-Jimmy. Not many new features this time around, most of my time since the last release has been spent reworking existing code to allow for some of the future features I have planned.

Release Highlights:
  • X-Boat Routing
    • The jump route planner can now plot paths that follow X-Boat routes between systems
    • X-Boat (Strict) will find the shortest-time route while following the official point-to-point X-Boat routes between systems
    • X-Boat (Loose) will find the shortest-time route but can skip nodes in the X-Boat network if the ship jump rating allows
    • Both algorithms will revert to routing through non-X-Boat systems if no X-Boat path is possible
    • Can be selected from Route Optimisation drop down
  • Jump Route Import/Export
    • Jump routes and associated logistics data can now be exported & imported
    • Accessed from context menu displayed when right-clicking on the map
  • Table Export
    • Tables can now be exported to CSV, HTML or bitmap
    • Accessed from context menu displayed when right-clicking on a table
As an example of strict vs loose X-Boat routing. If you were plotting a J-4 route from Lysen (Jewell) to Regina (Regina), strict routing would generate the route Lysen -> Efate -> Boughene -> Feri -> Roup -> Regina. Whereas loose routing would generate the route Lysen -> Efate -> Roup -> Regina, skipping Boughene and Feri. Although there is no official X-Boat link between Efate and Roup, they are both nodes on the X-Boat network and are within J-4 of each other.

If you're planning to use the Windows installer, I should warn you that it’s not digitally signed (as that costs money). This means your browser may warn you that it’s not a frequently downloaded program and/or make you confirm that you want to download it. Also, when you run the installer, Windows will almost certainly warn you that it’s an unknown app and make you jump through some hoops to install it.

If you've previously cloned the Auto-Jimmy repo or downloaded the source from GitHub, you may need to re-run the command to have pip install requirements.txt. Details on how to do this can be found in the installation instructions in the Auto-Jimmy README.

Project Links:
Source Code and Docs: https://github.com/cthulhustig/autojimmy
Windows Installer: https://github.com/cthulhustig/autojimmy/releases
Screenshots: https://github.com/cthulhustig/autojimmy/blob/main/docs/screenshots.md
Known Issues: https://github.com/cthulhustig/autojimmy/blob/main/docs/known_issues.md
 
I'm not sure what tupple is, but it has no value and I have no idea of how to give it one.
Thanks for letting me know. I've pushed a fix for the bug, it's amazing the problems a single comma can cause 🤦‍♂️.

If you installed Auto-Jimmy by cloning the repo, you should be able to pull down the fix. If you installed it by downloading a zip of the source code, you can grab a new one from the same place. Unfortunately, if you use the Windows installer, you'll need to wait until I get around to creating a new one but you should be able to work around the issue by changing the Routing Type to Fuel Based.
 
Thanks for letting me know. I've pushed a fix for the bug, it's amazing the problems a single comma can cause 🤦‍♂️.

If you installed Auto-Jimmy by cloning the repo, you should be able to pull down the fix. If you installed it by downloading a zip of the source code, you can grab a new one from the same place. Unfortunately, if you use the Windows installer, you'll need to wait until I get around to creating a new one but you should be able to work around the issue by changing the Routing Type to Fuel Based.
Option 3 for me, then. Thanks.
 
@CthulhuStig, I was using the jump route planner feature to plan a route for a J6 liner running from Terra to Capital and it was an unexpected pain since a liner needs to meet certain criteria for the worlds along its route.

That led me to making this feature request. There needs to be criteria for excluding worlds. A planner should be able to set minimum levels for population, Starport class, law level threshold (high and low both), exclude red zones (or even amber if the like), exclude select government types, and mandate gas giant refueling, thought that might already be covered.

If you add those features, I’m sure that there are things that others might need. It would certainly speed up the process and fine tune the potential stops better than continually recalculating the route after excluding one world and hoping the replacement is better.

Thanks.
 
Last edited:
@CthulhuStig, I was using the jump route planner feature to plan a route for a J6 liner running from Terra to Capital and it was an unexpected pain since a liner needs to meet certain criteria for the worlds along its route.
If I'm understanding what your asking, then you're in luck, it can already do that. In the Avoid Locations section of the route planner, you can switch to the Filters tab (A in the screenshot below). It allows you to create multiple filters, each one specifying different criteria (worlds law level greater/less than a value, worlds with imperial bases etc). The Filter Logic drop down (B in the screenshot) can be used to choose if the route planner avoids worlds that match any, all or none of the specified filters.

1773706166019.png
 
If I'm understanding what your asking, then you're in luck, it can already do that. In the Avoid Locations section of the route planner, you can switch to the Filters tab (A in the screenshot below). It allows you to create multiple filters, each one specifying different criteria (worlds law level greater/less than a value, worlds with imperial bases etc). The Filter Logic drop down (B in the screenshot) can be used to choose if the route planner avoids worlds that match any, all or none of the specified filters.

View attachment 7717
I did not see that, but while it would suit, it doesn't seem to be working. Note the filters and the results.

1773715553165.png

Feeling like I misused that filter and it should be any rather than all, I reran it with any and it failed to find a route with even the most inoffensive restrictions.

1773716412464.png

Even reducing it to only a population greater than 0 as the only rule failed to find a valid route. Seems broke.

1773716612286.png

I tried matching no filters, just to be thurough. Doesn't seem to care.

1773717419838.png

It's still possible I'm doing this wrong, so any insight would be appreciated.
 
Last edited:
I finally figured out I was telling it what I wanted rather than what to avoid. Sigh.

That said, even when I selected less than D for starports (talk about counter intuitive) it still showed some D ports, so there is something wrong there.
 
Last edited:
Back
Top