Two choices of Navigation menu

Shout-Out

User Tag List

Results 1 to 10 of 10
  1. #1
    wanyancan's Avatar Member
    Reputation
    1
    Join Date
    May 2009
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Two choices of Navigation

    It appeared that several threads before this discussed about the nav mesh navigation scheme. From what I understand, it looks more like the game AI developer's way of thinking: build the path from the known knowledge of the whole space. The advantage is accurate and large scale. However, it takes extra efforts to calculate them especially when the target is extraordinary far away, and need to calculate the meshes from the scene model file.

    There's another way of thinking the problem, from a robot designer's perspective(we're building the 'bot', right? ). Assume that what we can get is only a camera which can detect the obstacle ahead(use TraceLine or other detection method such as the changing of position over pulses). From this view, the navigation becomes a local navigation problem. And there's already a simple and elegant way of doing it (30 years ago) which adapts the concept of potential field from static electromagnetic filed solution. Assume that the target is an negative charge, and obstacle is a positive charge. Then the E-field vector's direction will always points from the positive charge to the negative. And the direction of path can be directly calculated from the charge distributions (here, the target and obstacles). More about this concept can be found here (Visual navigation and obstacle avoidance using a steering potential function, google it). This method I think is more proper for out-process bot developer.

    Two choices of Navigation
  2. #2
    pendra's Avatar Active Member
    Reputation
    46
    Join Date
    Jul 2008
    Posts
    42
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The approach you describe is common for 2D navigation with large, simple obstacles. Wow is 3D, so even if you're only walking you have to take obstacle height and contours of terrain into account. How do you tell the difference between a hill and a wall without casting a bunch of rays at it? Look at ppather for an example of somebody trying to do that.

    The whole point of the nav mesh is to avoid having to cast thousands of rays every time you move in order to figure out where is safe to go. I would be quite surprised if you beat HPA* on a graph for path finding speed by doing ray casting.

    The local nav approaches involving line of sight/obstacle avoidance work much better when you can provide them with quasi-2D obstacle geometry, imo, so to use a potential field approach you probably want to compute a simplified walkable space and then perform the local nav within that space.

  3. #3
    wanyancan's Avatar Member
    Reputation
    1
    Join Date
    May 2009
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I forgot to mention that actually we can introduce randomization and dynamically building the list of obstacles. Every time you move (fly as well, therefore I don't think this method is for 2D nav only), you can detect the none-changing of position (without casting a bunch of rays) no matter of whether hitting a wall or a hill. Adding the position in front of you as an obstacle and adding another randomized temporary point as new target, then re-calculate the direction based on the new information. No matter how it may seemingly be slow and lagging, the bot can actually get the destination without too much tries in my testing! I found that this randomization is amazingly useful when doing other thing such as clicking on the screen to loot target like the fishing blob as well!

  4. #4
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's the major drawback to an insect based pathing system.

    Caves.

    Yup.

  5. #5
    wanyancan's Avatar Member
    Reputation
    1
    Join Date
    May 2009
    Posts
    40
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yep, true.
    It's a local navigation, so works inside cave...
    Actually there was once my 80 dru was farming in a cave at The Storm Peaks, and somehow died(most likely by PvP) and can't get back with the ghost mount...

  6. #6
    darrensmith0125's Avatar Member
    Reputation
    18
    Join Date
    Apr 2009
    Posts
    19
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How easy is it to test a system which uses a traceline type implementation, Is there any complication creating a local world to test against?

    With a navmesh you can test outside of the game using the real data until you are happy it is working. If you find a scenario in game that is an issue it can be set up and tested very quickly as you know the coords.

  7. #7
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Remember that potential fields are only useful for *local* navigation, not generalized pathfinding.

    Potential fields (which I've been investigating for my bots) really solve a different problem than navmeshes do.

    Navmeshes actually have issues at the small scale, just like PF's do at the large scale.
    Don't believe everything you think.

  8. #8
    nitrogrlie's Avatar Member
    Reputation
    11
    Join Date
    Oct 2009
    Posts
    81
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'll add that in addition to obstacles you would also have to ray-cast for holes in the world (aka edges of islands) otherwise your bot might walk of the edge thinking it can simply walk from one island edge to another because there is no obstacles in the way forgetting that there is no ground in between either. :P

  9. #9
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeah, when I was doing raycasting for local pathing, I was constantly raycasting both forwards and down. It wasn't pretty, but it sorta worked. Actually it wasn't even pathfinding, it was just an "am I blocked?" function.

    Pathfinding implies that the algorithm can actually FIND a better path; afaik only things like navmeshes and waypoints can do that.
    Don't believe everything you think.

  10. #10
    vulcanaoc's Avatar Member
    Reputation
    31
    Join Date
    Jul 2008
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I tinkered with a TraceLine navigation system for a few days, and was met with limited success and a plethora of problems.

    My initial idea took two points as input, a start point, and an endpoint, and potentially generated a list of points that connected the two. The algorithm was recursive, and used a series of TraceLines between a 'last good point' and the endpoint. If an intersection was found, I used TraceLine raycasting to check for perpendicular vantage points that produced a 'move around object' effect. Obviously, many flaws were embedded in the concept, and the algorithm would fail or just take too long to compute if a complex set of obstacles and terrain existed between the start and end points. Another issue that was particularly hard to eliminate was ensuring that the point list didn't contain points that were unreachable for a character. For example, sometimes a point would be ON a large tree that was even slightly concave, whereas it should have been on the ground below the tree.

    The technique was plausible for navigating into line of sight of nearby objects, but its moderately high potential to fail limited its usefulness even in this situation.

    If the source code I have isn't too mangled, I'm willing to share it with anyone interested.

Similar Threads

  1. Two Requests
    By XxKajxX in forum WoW ME Questions and Requests
    Replies: 0
    Last Post: 09-26-2006, 06:18 PM
  2. Two modeling questions
    By saucynoodle in forum WoW ME Questions and Requests
    Replies: 2
    Last Post: 08-28-2006, 09:01 PM
  3. How I grind with two accounts simultanously (Mac, btw)
    By wowpew in forum World of Warcraft Bots and Programs
    Replies: 11
    Last Post: 08-27-2006, 06:34 AM
  4. two good gold ways!!
    By Turkeyman in forum World of Warcraft Guides
    Replies: 0
    Last Post: 08-21-2006, 06:12 PM
  5. Any hack for two-on-one accounts ?
    By insolencation in forum World of Warcraft General
    Replies: 11
    Last Post: 07-12-2006, 01:44 AM
All times are GMT -5. The time now is 11:56 AM. 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