Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Graphs Pathfinding #2468

Merged
merged 18 commits into from
Sep 13, 2024
Merged

Feature: Graphs Pathfinding #2468

merged 18 commits into from
Sep 13, 2024

Conversation

hannibal002
Copy link
Owner

@hannibal002 hannibal002 commented Sep 6, 2024

TODO dont forget hanni before merging:

  • add options for hoppity
  • remove diana
  • rename command for testing hoppity

Dependencies

What

Bringing Graphs to other SkyBlock islands, no longer only the Glacite Tunnels! 🔥

This pr adds an API for loading and working with the graph feature.
We now create one graph per island type. Dwarven mines/Glacite tunnels need special handling here.
Graphs consist of nodes (points in the world) that are connected. We use the Dijkstra algorithm to then calculate the fastest route between two nodes of the network.

When calculating the closest node to a target location to get a graph to the closest node to the player, we can draw a path finder to the target.

The graph editor view now has the option to set predefined tags to the different nodes. e.g. "npc" or "area beginning".

There are also already features done:

  • I've added a GUI with all areas in the current SkyBlock island. When clicking on an area, the graph feature will draw a path to the beginning of that area
  • When entering a new area, there is a title now.
  • Added support for graphs for Hoppity, Diana and /shtestwaypoint. (Diana is not useful at all, as we would need a way bigger graph network)

All those features still need config options.

For a full list of planned ideas with this graph feature, see the comments in the file IslandGraphs.kt.

Changelog New Features

  • Added Area Navigation. - hannibal2
    • Reused the logic from the Tunnel Maps Graphs (Glacite Tunnels), now applied to other islands.
    • Displays a list of all areas on your current island. Click on a name to find a path to that area via pathfinding.
    • Find a route to the Hoppity egg. Useful for islands with small, nested corridors.
    • Get a title warning when entering an area.
    • See area names in the world.
    • Does not yet work with Spider's Den and Dungeon Hub. Only partial support for Farming Islands and the Rift.

@hannibal002 hannibal002 added this to the Version 0.27 milestone Sep 6, 2024
@hannibal002 hannibal002 added the Soon This Pull Request will be merged within the next couple of betas label Sep 7, 2024
@hannibal002 hannibal002 merged commit 5e01624 into beta Sep 13, 2024
9 checks passed
@hannibal002 hannibal002 deleted the graph-island-areas branch September 13, 2024 18:23
@github-actions github-actions bot removed the Soon This Pull Request will be merged within the next couple of betas label Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant