Jump to content

Join our Slack

Talk to other users and have a great time
Slack Server

Welcome to our Community

Click here to get your Exiled Bot license
Donation Store
Sign in to follow this  
Jarvis101

New script monkey here with an idea

Recommended Posts

Hey guys, I've seen your bot on the OC forums and decided to donate my skills if you can find them helpful.

I noticed you're looking for a way to handle pathing for your bot. I think there are multiple ways of going about this, but it all boils down to the map. PoE maps are randomized and this is why you can't build a simple pathing system. To put it bluntly, you need to know where you're going before you can go there.

Now as far as I can see, this can be handled one of two ways.

- Store all possible map variations in a database.

- Piggy back on the work of PoE MapHack, or at least figure out how their getting the map data.

Once you do this it's just simply a matter of utilize distinguishing features to determine which map you're on, then pull up a set of pre-coded coordinates to run off.

Hope this helps.

Share this post


Link to post
Share on other sites
Guest

Thanks for your suggestion mate, i will tell you how we're supposed to handle this because i've already done this on Diablo 3 which also has dynamic maps (my D3 bot can run all the maps of the game atm)

The goal is to retreive the whole map object and to know for every cell of the map if we can walk on it or not.

After that we find the entry and the out point of the map.

The goal is to go from point A to B in the shortest line because if we want to explore the whole map, we'll end up running on a zone we've already been cleaning to reach a corner of the map we didn't so it wastes us time.

We planned to use the A* or the TSP algorithm.

A* works like this to go from point A to B :

Posted Image

While TSP works like this :

Posted Image

Both of them are really hard to setup especially when you don't know how many nodes you'll have to check.

The more powerful is of course the A* BUT, A* eats a bunch of memory while doing the calculus...

If you need more infos on the pathfinding feel free to ask i'll be glad to answer (if i can of course :P)

Share this post


Link to post
Share on other sites

Hey guys, I've seen your bot on the OC forums and decided to donate my skills if you can find them helpful.

I noticed you're looking for a way to handle pathing for your bot. I think there are multiple ways of going about this, but it all boils down to the map. PoE maps are randomized and this is why you can't build a simple pathing system. To put it bluntly, you need to know where you're going before you can go there.

Now as far as I can see, this can be handled one of two ways.

- Store all possible map variations in a database.

- Piggy back on the work of PoE MapHack, or at least figure out how their getting the map data.

Once you do this it's just simply a matter of utilize distinguishing features to determine which map you're on, then pull up a set of pre-coded coordinates to run off.

Hope this helps.

Indeed, pathfinding will be implemented soon.

ATM, we are searching for a memory structure containing a map exit portal and its world position.

Thank you for your help, reversing the game and programming the bot need both time and research, and its hard to do them at the same time.

So if you have an idea or any hint that could help us implementing pathfinding, you are welcome.

Share this post


Link to post
Share on other sites

The only way I could think of doing this would be to intercept the packets, and experimentally go through all the data in a sandbox environment until you know what's what. it's tedious and inefficient, and probably not of much help.

Share this post


Link to post
Share on other sites

wow awesome, you guys are on top of that....A* my favorite too, used it for my bot in wow (wowglider made mine obsolete though, i didnt put that much work into it!). of course i didnt have to deal with random maps, but i also didnt have to deal with having to know each map either, i used A* just to route myself around objects/obstacles so i wouldnt get stuck somewhere.

is TSP more accurate in the end? dont quite understand the algorithm...

Share this post


Link to post
Share on other sites

In my reading I've found that A* is the better method to use. And I believe this is what will be used once the bot reaches the stage that we start getting some pathing added.

Share this post


Link to post
Share on other sites
Guest

A* pros : more powerful.

A* cons : memory eater ! :)

TSP pros : quicker to get the path, less memory eating

TSP cons : path not as accurate as A*'s path

I'd like to use A* really, it's powerful and really what we need, but we also have to take care of the memory it uses :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...