Jump to content
daxmagex

[Dax] WebWalker

Recommended Posts

For the past week, I've been on my own webwalker since Tribot's Webwalker is lacking functionality and accuracy.

Here are some images of my current work in progress.

Wizards Tower (Different Planes)

  • Simple demonstration of pathfinding from different planes. Jagex tends to put dungeons not on the the plane directly below, but really far away coordinates, which is pretty annoying.

m6F3yt9.gif

 

Stronghold of Security (Level 1)

  • Haven't really collected all the data yet for dungeons, since I have to edit nodes by hand to remove door collision data.
  • Here's a path generated from the first floor of the dungeon. My Walker Engine will be handling the stronghold doors.

zQBAIVv.png

 

Semi-Far Distances (Lumbridge -> Grand Exchange)

  • So far, semi-long paths are being computed pretty quickly. Will see how it'll do when I map P2P areas to calculate longer distances.

plnpygM.png

ff8atme.png

 

Here's a visual of how it finds the path slowed down (By a LOT).

NaSeBKz.gif

 

 

Path Requirements

  • Currently, I assume all paths are accessible to you. But once I incorporate the code into tribot, it should be pretty simple.

aB4QxTn.png

 

One-Direction Paths

  • An example of a directional path is the main door of Draynor Manor. You can only enter it one way.
  • Here's a small demonstration of how the walker will act in these cases.

 

From outside -> inside

2B2MyZ8.png

 

From inside -> Outside

Ne2Ydy1.png

 

Walker Engine

  • 0% done
Edited by daxmagex
  • Like 11

Share this post


Link to post
Share on other sites
23 hours ago, Butta said:

@daxmagex will you give other scripters access to it?

I'm thinking of open source but that depends on how far I get with it. All wayports has to be done by hand (Areas that lead to another that are not implied through collision.)

 

 

Lumbridge -> Ardougne

Finding Path from (3215,3219,0) to (2582,3300,0)...!
We will be limiting the search to 45 regions.
We could not find path within the limit. Expanding limit.
We will be limiting the search to 135 regions.
Path took took 217ms to generate.
Finding Path from (3215,3219,0) to (2582,3300,0) FINISHED!

Zp1nydg.png

Share this post


Link to post
Share on other sites

mCg3L4l.png

 

Guided path are fixed so that wayports don't mess with A* move cost calculations.

 

Lumb bank -> ardy bank looking good.

 

Looks like it decided to

Port Sarim "Pay Fare" to Karamja. Karamja "Charter" to the other port of karamja, then "Pay Fare" to Ardy

 

 

Edited by daxmagex
  • Like 2

Share this post


Link to post
Share on other sites
6 hours ago, Sphiinx said:

@daxmagex How is it looking in terms of resource usage when the path is being generated in that short amount of time?

When you call the webwalker from point a to point b, it'll use the guided path to decide which regions to load, which you see on the images. They are the highlighted blue lines. 

Those regions will be the limit of our A* search. Each region file is 36 kb, and should be a lot less when loaded into memory since I use strings to store boolean values in the file.

A very long path from lumbridge to castlewars for example loads 56 regions into memory.

y10dJQ8.png

Edited by daxmagex
  • Like 2

Share this post


Link to post
Share on other sites

zCtYOCk.png

 

HnJXGtN.png

 

I've finished nearly everything done on the back end. Currently implementing the walker engine which will be making smart interpretations for object handling/navigation jumps depending on the path. Tribot webwalker seems to have problems with handing objects interfering with the path.

 

The real time minimap collision debugger is also completed. It's very inexpensive to paint since it is a cached image that only updates when needed.

Edited by daxmagex
  • Like 1

Share this post


Link to post
Share on other sites

Path Analyzer is finally finished. Walker Engine works until it hits the first object obstructing its way.Development will slow down the next couple of days in preparation for finals weeks but I expect this project to be available in BETA to public before the end of this month.

qkasehM.png

Edited by daxmagex
  • Like 1

Share this post


Link to post
Share on other sites
34 minutes ago, daxmagex said:

Path Analyzer is finally finished. Walker Engine works until it hits the first object obstructing its way.Development will slow down the next couple of days in preparation for finals weeks but I expect this project to be available in BETA to public before the end of this month.

qkasehM.png

This will be a 100% free resource? also what areas will be premapped?

Share this post


Link to post
Share on other sites

No ETA yet.

I've decided on a Web-Based Walker.  I'll be hosting a server with multiple computation instances. The instances will split the load the server has, and can scale depending on how good the server cpu is.

Benefits:

  • No memory consumption for calculating paths.
  • Little to no CPU 
  • No dependancies

Cons:

  • May be slower due to server latency
  • Downtimes (Should be rare since I'll be looking for a reliable server)

 

I've done some local stress testing and it looks like even my CPU (6600k) can handle a lot of requests.

http://i.imgur.com/Um9W6GT.gifv

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By daxmagex
      Source over at GitHub

       
      Example:

       
      Debug Paint:

       
      Api-Access
      How to use Api-Key
      WebWalker.setApiKey(apiKey, secretKey);  
      My web walker will always be free, and the engine will always be open sourced. 
      However, I currently pay 79 per month keeping my computation server up to be able to support Tribot's huge user base. Pathfinding algorithms aren't exactly light on the CPU. I've spent 200+ on the open beta keeping servers up for the past 3 months (40 + 79 + 79). I will try my best to keep the engine updated but I cannot guarantee I will be available to do so. Overtime, there will be more documentation on my walker engine. Feel free to create your own git branches and add features to my walker.
      If you profit from making scripts and use my webwalker, please consider buying yourself an api key. The public key will hit its call limit if everyone uses it. Funds go towards server costs and development time. 
      Keep in mind that you are paying for the computational server + client-server communication, not the engine which is completely open sourced. Server will be up 99% of the time. I've managed to keep a total downtime of <30 minutes the past 3 months.
      Contact me right after you bought an api key!
       
      400 Call Limit (~6.6 calls per second) resets every minute
      Free! - Already Included in source

       
      1000 Call Limit (~16.6 calls per second) resets every minute
      $20.00/month


       
      3000 Call Limit (~50 calls per second) resets every minute
      $40.00/month


       
      Not a developer? Support my project through Patreon!
      Public key limit will be raised once I hit the goal! All patrons have access to a developers key.


       
       
  • Our picks

    • This release will:

      Fix key event handling issue


      Fix other event handling issue


      Fix RSServer hook


      Update world hopper to have it use OCR, thanks to Todd


      Use proper disposal of old Graphics objects


      Reformat code


      Rearrange code


      Organize code imports


      Apply around 8000 automated code refactorings


      Make preparations for Java 9


      Fix 11 various bugs


      Add more reliable debugging support


      Fix mouseEntered/Exited event dispatching bug


      Fix minimap walking bug where it opens the map


      Fix broken hooks for today's game update
        • Thanks
        • Like
      • 86 replies
    • This update will:

      Fix GE inventory item positioning bug


      Fix broken object hooks
        • Like
      • 27 replies
    • This release will:

      Fix some ClosedChannelException bug


      Fix bug in RSObject#getAllTiles


      Add game tab support for "Kourend Favour"
        • Like
      • 15 replies
    • This release will:

      Fix Settings UI placement bug


      Fix game object location bug


      Fix small layout bug making the client shift up and down


      Fix client crashing bug where loading the client with a small display area will cause the client to crash


      Fix annoying Linux bug relating to painting events and peers


      Fix settings saving bug where settings are saved to disk more often than they should


      Fix RSInterface#isBeingDrawn bug affecting a limited amount of people


      Drop Java 1.7 bytecode version for 1.8


      Important: Since the downloadable RS client uses Java 7, it will no longer be compatible with Looking Glass. To make up for this, we will add support for using other clients such as RuneLite (at a later date).


      This change was necessary to allow us to use Java 8 syntax. It also paves the way for Java 9/10/11 support.
        • Like
      • 40 replies
    • This update will:

      Fix the RSMenuNode bug which also fixes the bug with bank opening


      Fix the incorrect object positions bug


      Fix and re-enable the LG Objects API Accelerator


      Fix the RSObject#getAllTiles bug
        • Like
      • 22 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×