Path Finding for RuneScape's graph-based map with over 10 million nodes optimized to generate any path in <200ms.
Visit Explv's Project to check out pathfinding with Dax Path generation!
Daxwalker is included in the Tribot installation. It is released via Tribot Central.
You can reference this library via Gradle/Maven through Tribot Central, or reference the JAR itself from the .tribot/install/tribot-client/lib
directory.
View JavaDocs
Please visit https://admin.dax.cloud/ for more information. To use your Api Keys, please configure your Dax API Key provider.
DaxWalker.setCredentials(new DaxCredentialsProvider() {
@Override
public DaxCredentials getDaxCredentials() {
return new DaxCredentials("YOUR-PUBLIC-KEY", "YOUR-SECRET-KEY");
}
});
- This is the client side of dax walker, which includes a wrapper for the server-client interaction of generating paths from point A to point B and navigating through the path.
- Back-end pathfinding is coded using a combination of dijkstra's and A* algorithm. Dijkstra's is mainly for region limiting for performance purposes whereas A* calculates the actual path. Wayports (Node jumps) cannot be calculated using a heuristic value so Dijkstra's is needed in this scenario.
- The Walker Engine includes path walking, waypoint navigation (Ship Chartering/Portals/etc), and path randomization using BFS to prevent trackable walking patterns.
-
Speed. Despite RuneScape's huge world of 10M tiles in a sparse map of 15000x15000x4, my optimized engine will generate a path from any two points in less than 200ms, guaranteed. My custom heuristic function for A* will calculate portals and teleports without loss of accuracy for your individual character.
-
Ease of use. Implement the engine into your script by simply calling:
DaxWalker.walkTo(new RSTile(1,2,3));
DaxWalker.walkToBank(Bank.VARROCK_EAST);
-
Shortcuts. Using all and only the shortcuts that your Player can access, whether it is skill level (Agility level needed for shortcut) or inventory item requirements (Such as gold needed for ship or fee to enter dungeon). This also includes quest requirements.
-
Obstacles. All obstacles such as doors/ladders/etc are supported as long as area is mapped.
- All Cities (Except Lletya) including Zeah
- Wilderness
- Gnome Slayer Dungeon
- Relleka Slayer Dungeon
- Stronghold of Security
- Most underground locations (Falador Mine, Varrock Sewers, etc)
- Debugging visualization. Draw a live feed of the Path and Collision Data the engine is working with on the minimap using:
WebWalkerPaint.getInstance().drawDebug(graphics);
- Nodes that direct to another, and not vice versa (Such as one way entrances) are supported as well.
Path from outside to inside. (Enters front door.)
Path from inside to outside. (Exits through back door.)
- Client side shortest path calculation for every location in the current region in a single call.
Reachable.getMap();
The algorithm is designed to limit itself to only the regions that will lead towards the destination. This is how we will generate paths in the fastest time possible.