Jarvis101 75 Report post Posted June 13, 2013 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. Quote Share this post Link to post Share on other sites
Guest Report post Posted June 13, 2013 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 : While TSP works like this : 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 ) Quote Share this post Link to post Share on other sites
alkpone 1000000 Report post Posted June 16, 2013 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. Quote Share this post Link to post Share on other sites
Jarvis101 75 Report post Posted June 16, 2013 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. Quote Share this post Link to post Share on other sites
poebo 1 Report post Posted June 25, 2013 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... Quote Share this post Link to post Share on other sites
AnThRaX 1 Report post Posted June 25, 2013 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. Quote Share this post Link to post Share on other sites
Guest Report post Posted June 27, 2013 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 Quote Share this post Link to post Share on other sites