Recast map dumper with doodads? menu

User Tag List

Results 1 to 6 of 6
  1. #1
    badusername1234's Avatar Active Member
    Reputation
    26
    Join Date
    Apr 2017
    Posts
    47
    Thanks G/R
    18/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Recast map dumper with doodads?

    Hi, I've been using the Mangos movemap generator for my pathing solutions so far. It works really well but it will completely ignore doodads.



    For example, the pathfinder will try to run through these fire objects in Orgimmar and get blocked. A solution I came up with was to just noclip through doodads which works fine but looks too obvious to other players and I'd rather not do that.

    Are there any versions of the map generator which do take into account doodads? I have found a few different versions so far but none of them have seemed to include that. I know I could implement this myself if I had the time but I'd be surprised if someone in the emu scene hasn't done this already.

    thanks

    Recast map dumper with doodads?
  2. #2
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    You can add temporary obstacles using recast. You should do it when a doodad with collision is loaded in.

    recastnavigation/Sample_TempObstacles.cpp at master * recastnavigation/recastnavigation * GitHub

  3. #3
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    My experience with Recast’s support for temporary obstacles is too much complication for too little results. It introduces ambiguous and confusing terms and the method it uses is not well described. I had better luck rolling my own support, wherein I serialize the finalized mesh data for a tile but also the uncompacted height field. This way temporary obstacles can be rasterized into the heightfield and the final compaction and tesselation can be done in relatively short order. I’m fairly sure that this is essentIally the same approach as recast, but it seems simpler to me and “just works”.

    Note also that depending on your use case, you don’t necessarily want to avoid doodads.
    Last edited by namreeb; 12-26-2017 at 12:32 AM.

  4. #4
    badusername1234's Avatar Active Member
    Reputation
    26
    Join Date
    Apr 2017
    Posts
    47
    Thanks G/R
    18/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the suggestions guys, I wouldn't have thought of just using the doodads as temporary obstacles. It sounds like an easier way to approach things and I'm most likely going to need to implement dynamic obstacles at some point anyway ( i.e to avoid a pack of high level mobs with whom bot has no interest in fighting, avoid hunter traps or avoid aoe ).

    Before I get to the point of implementing temporary obstacles into the navmesh, I need to be able to get the temporary obstacles. I believe I already know how to hook doodads spawning but I'll need to figure out how to get the mesh data. Do you think I'd have an easier time trying to grab that mesh data from memory, or just to find out what model name the doodad uses and load that from a file?

    Also, why wouldn't I want to avoid doodads? The use case for this is a general-purpose bot so I'm not sure I can get away without this. Every time I've tested my bot doing something it has worked nicely until randomly managing to find a doodad to get stuck on. For example, it would die in RFC and corpse run back to the instance portal but run into those metal brazier things on the way down into the cleft of shadows... I suppose I could avoid all of the hassle by just teleporting through doodads and hoping it just looks like lag haha

  5. #5
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by badusername1234 View Post
    Thanks for the suggestions guys, I wouldn't have thought of just using the doodads as temporary obstacles.
    Just to be clear, I don't think that is what you should do. The server cannot spawn doodads, so they are not actually temporary, and therefore you might as well process them ahead of time. It shouldn't be too hard to fix the parsing code you're using to include them.

    Originally Posted by badusername1234 View Post
    Also, why wouldn't I want to avoid doodads? The use case for this is a general-purpose bot so I'm not sure I can get away without this.
    When I wrote that, I was thinking of gameobjects rather than doodads. If you are writing pathfinding for NPCs, there is some evidence that avoidance of temporary obstacles (read: game objects) is not blizzlike.

  6. #6
    MaiN's Avatar Elite User
    Reputation
    335
    Join Date
    Sep 2006
    Posts
    1,047
    Thanks G/R
    0/10
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by namreeb View Post
    My experience with Recast’s support for temporary obstacles is too much complication for too little results. It introduces ambiguous and confusing terms and the method it uses is not well described. I had better luck rolling my own support, wherein I serialize the finalized mesh data for a tile but also the uncompacted height field. This way temporary obstacles can be rasterized into the heightfield and the final compaction and tesselation can be done in relatively short order. I’m fairly sure that this is essentIally the same approach as recast, but it seems simpler to me and “just works”.

    Note also that depending on your use case, you don’t necessarily want to avoid doodads.
    Digesting Duck: Handling Temporary Obstacles
    Digesting Duck: Temporary Obstacle Progress
    Digesting Duck: First Iteration of Temporary Obstacles Checked In
    Digesting Duck: Time-sliced Temporary Obstacle Handling
    Digesting Duck: 2D Grids for the Win!
    http://digestingduck.blogspot.dk/201...avoidance.html (more steering than temp obstacles)
    http://digestingduck.blogspot.dk/201...ance-pt-2.html (more steering than temp obstacles)
    http://digestingduck.blogspot.dk/201...-progress.html
    http://digestingduck.blogspot.dk/201...r-portals.html
    http://digestingduck.blogspot.dk/201...ress-pt-2.html
    http://digestingduck.blogspot.dk/201...ress-pt-3.html
    http://digestingduck.blogspot.dk/201...-overview.html
    http://digestingduck.blogspot.dk/201...in-detour.html
    http://digestingduck.blogspot.dk/201...-progress.html

    What you describe is essentially how the tile cache works, except it decomposes into 2D layers (instead of 2.5D tiles) which makes the updating much faster.

    Also for @OP: Bonfires are game objects, not doodads. You will need to collect them manually (or get a database from a private server and hope it is accurate) and add them yourself.
    [16:15:41] Cypher: caus the CPU is a dick
    [16:16:07] kynox: CPU is mad
    [16:16:15] Cypher: CPU is all like
    [16:16:16] Cypher: whatever, i do what i want

Similar Threads

  1. [Selling] 100% map completion with twilight!Hot unlock Ranger main
    By polsky01 in forum GW2 Buy Sell Trade
    Replies: 0
    Last Post: 06-17-2017, 02:37 AM
  2. Replies: 2
    Last Post: 12-01-2010, 10:15 AM
  3. Problem with doodads
    By Larrylaffer in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 08-03-2010, 07:47 PM
  4. The dead scar instant pop *with map*
    By Ark in forum World of Warcraft Exploits
    Replies: 6
    Last Post: 01-22-2007, 02:28 AM
All times are GMT -5. The time now is 08:11 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search