• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • [Stuck] Channel Map same area...

    Discussion in 'Archives' started by conebuddy, Dec 28, 2015.

    1. conebuddy

      conebuddy New Member

      Joined:
      Sep 19, 2015
      Messages:
      44
      Likes Received:
      0
      Trophy Points:
      0
      who should i report this to?
      exilebuddy forum / devs ?
      map runner plugin Dev ?
      totem routine/plugin dev?

      I keep getting stuck in channel maps... same location every time.
      I have tried turning down combat range from 70 to 40, and even 35. same problem.

      But as you can see... any time there is water with like a bridge, it gets stuck.
      if mobs eventually move close enough to the side after 20 minutes. the bot will move down to the bridge...
      then move back to the same stuck position lol.
      This is why i wasn't sure who to report to exactly.
      stuck.jpg

      Edit: Even if i stop the bot, and manually move it decent distance away.... it still walks back to the same spot and gets stuck lol fail.

      moved the character super far this time, near a pack of mobs. it killed the mobs, then randomly walked to another nearby staircase and got stuck again... fail... this bot loves stairs...


      Temp fix... maprunner ( avoid channel map )
       
      Last edited: Dec 29, 2015
    2. Unknown Buddy

      Unknown Buddy Member

      Joined:
      May 20, 2015
      Messages:
      603
      Likes Received:
      17
      Trophy Points:
      18
      Its a nav issue so nothing to do with any plugin or setting. Its been reported several times. Im assuming its not a simple fix since its been a known issue for a really long time. There are a few other spots as well such as mines map and that first zone in act 3. Pushedx did recently add an experimental fix to the act 3 area. If it works out maybe it can be applied to these other areas as well but im not sure what the experimental fix is trying to do. I didnt see my bot get stuck in act 3 tho after the fix, but i only went through twice so extremely small sample size.

      For now simply add Channel Map to the blacklist.

      Also for future stuck issues you can use the thread on the main page: https://www.thebuddyforum.com/exilebuddy-forum/221766-stuck-issues-thread.html
       
    3. conebuddy

      conebuddy New Member

      Joined:
      Sep 19, 2015
      Messages:
      44
      Likes Received:
      0
      Trophy Points:
      0
      Thank you for that information.
      it seems that, after I changed the combat from 70 to 35, and restarted my computer.
      Now in the channel map , I'm not getting stuck as often, tested on 2 channel maps.
      maybe just had to restart the bot to take effect.
      maybe its certain mobs/layouts, or movement speed involved.

      But yes navigation indeed needs a small tweak.
      need to find, if stuck for X amount of time, just start a new map.
      if stuck on specific map X amount of times, add map to black list.
       
    4. Unknown Buddy

      Unknown Buddy Member

      Joined:
      May 20, 2015
      Messages:
      603
      Likes Received:
      17
      Trophy Points:
      18
      You can enable the Stuck Detection plugin that comes packed with EB. Its just not turned on by default.
       
    5. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      The issue is related to I believe Recast & Detour.
      Simply because X and Y are on a 2D plane. the distance is a finite A + B = C.
      Since PoE is a sort of like isometric hybrid game, it has a Z Plane (depth).

      For a point on the same level terrain;

      Vector2i pointTest = (1,1);

      Vector2i Point(pointTest.X,pointTest.Y);

      When you do a Me.Distance(Point), you get a float back(even though vector2i is an int). As long as Point is on the relative same Z plane.

      For a point on higher grounds, ie on stairs.

      Let point now be pointTest (1,1);

      Vector2i PointStairs(pointTest.X,pointTest.Y);

      PointStairs will now be a ridiculously huge float positive or negative, depending on lower or higher grounds.

      I have no clue why this happens, could be some conversion from Vector3 to Vector2 but, I think that's what's going on.

      But the other more prominent case is, GGG's engine sucks, the bot relies on pathfinding from GGG's engine I assume, and becuse the labels for loot is sometimes not where the actual item is, shit fucks up.

      That's why toggle loot comes in to play and is very handy.
       
    6. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      Unfortunately, there's no real fix for this issue. It happens typically in Docks too.

      The way stairs and height differences work in this game, movement tends to breaks under very specific circumstances. It just so happens the bot is able to trigger these more than an normal player because human input is more dynamic (if you see your character is getting stuck along something, you change the way you move). If you were to try and move yourself the same way the bot was, you too would see the same issues. because that's all the bot is doing (moving like a person would).

      The thing is though, the paths being generated are generic and you can't arbitrarily improve them because the terrain is randomly generated (it's template based though, so some pieces get generated the same, which is why it consistently gets stuck there). However, we can't really identify that "we're on or near stairs", movement just breaks so at that point you either have to rely on stuck detection or some other logic to try and work your way around it.

      City of Sarn had a similar issues that I attempted to fix recently by looking at pathfinding data near the player and moving away from it in the player mover if it "looked" like it was possible. That case was a little more simple because it was arbitrary proximity detection. If there was unwalkable areas on your left, and a bunch of free space on your right, move towards the right. I don't know if similar logic would work around stairs really though, but it's one of those things where it's better to avoid those areas or help the bot where you can. If someone wants to try a custom player mover for that specific area, they certainly could; the bot supports that. However, with the variations in terrain data and the technical reasons why movement breaks there in the client, actually fixing that might be a long shot.
       

    Share This Page