Thread: BFS Path Finder

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 29
  1. #11  
    Registered Member
    Optimum's Avatar
    Join Date
    Apr 2012
    Posts
    3,570
    Thanks given
    871
    Thanks received
    1,745
    Rep Power
    5000
    Awesome job bro, I’ll be taking inspiration from your stuff

    Quote Originally Posted by DownGrade View Post
    Don't let these no life creeps get to you, its always the same on here. They'd rather spend hours upon hours in the rune-server spam section then getting laid! ha ha!Its honestly pathetic i haven't seen so many lowlifes in my life its actually insane i wish that this section would just vanish its probably the only way to get these people out of the community...
    PLEASE BE AWARE OF IMPOSTERS MY DISCORD ID: 362240000760348683
    Reply With Quote  
     

  2. #12  
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,179
    Thanks given
    260
    Thanks received
    1,012
    Rep Power
    2003
    Quote Originally Posted by Tomm0017 View Post
    I'm not planning on making this pfer as extensible as that. I'll give it some thought, but unless I can add it without any perf hit/cost, I probably won't make it a priority.
    Not just for external customisation, you'll need it for floor items and possibly following depending on how you do it, 0 additional cost; just replace it with an interface for fun reached(...): Boolean


    There's also a debate to be had about whether the path finding should be incorporating distance checking for combat (which can also be done in place of the interaction), which would be a performance improvement over doing the full path and checking the distance every tick and cancel when within distance.

    And another debate of whether line of sight should be implemented as a pathfinding algorithm
    Attached imageAttached image
    Reply With Quote  
     

  3. #13  
    Renown Programmer

    Join Date
    Oct 2017
    Posts
    198
    Thanks given
    167
    Thanks received
    302
    Rep Power
    1567
    Quote Originally Posted by Greg View Post
    Not just for external customisation, you'll need it for floor items and possibly following depending on how you do it, 0 additional cost; just replace it with an interface for fun reached(...): Boolean
    I'll have to test out those scenarios on rs before doing any big changes, but good call
    Reply With Quote  
     

  4. #14  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    Quote Originally Posted by Greg View Post
    Why? Because currently your only supporting player movement on land, you'll need support for flying and swimming npcs too which means checking against different collision flags.
    This is something we have no information about, as it's solely server-sided.
    Do you have any theories on how either of what you just mentioned would work? And is there any way to confirm those theories?
    I have theories of my own, but I have no means to confirm any of it.

    ---
    Edit: Looked closer into these, and found some new info.

    (Credits to Cjay for insight on the swimming part)
    I believe swimming is done with just the floor flag inversed(the flag that's set in map loading, outside of object spawning(since water isn't an object!). Looked into it in OSRS and any ducks and other similar creatures which spawn on water, could never leave water. In Lumbridge, there is a farm in which there are also ducks on the main land, however those ducks have a different npc id, and can never enter the water. They also have a custom script where they flee from any player that walks near them.

    As for the implings and other flying creatures, I believe it would be done through projectile checks. There is a scenario in Wintertodt, where the walls aren't projectile clipped, thus allowing creatures such as implings to wander inside, however I believe there's a further check down the line that checks for certain area controllers which prohibit unwanted creatures from entering said area.
    Reply With Quote  
     

  5. Thankful user:


  6. #15  
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,179
    Thanks given
    260
    Thanks received
    1,012
    Rep Power
    2003
    Quote Originally Posted by Kris View Post
    This is something we have no information about, as it's solely server-sided.
    Do you have any theories on how either of what you just mentioned would work? And is there any way to confirm those theories?
    I have theories of my own, but I have no means to confirm any of it.

    ---
    Edit: Looked closer into these, and found some new info.

    (Credits to Cjay for insight on the swimming part)
    I believe swimming is done with just the floor flag inversed(the flag that's set in map loading, outside of object spawning(since water isn't an object!). Looked into it in OSRS and any ducks and other similar creatures which spawn on water, could never leave water. In Lumbridge, there is a farm in which there are also ducks on the main land, however those ducks have a different npc id, and can never enter the water. They also have a custom script where they flee from any player that walks near them.

    As for the implings and other flying creatures, I believe it would be done through projectile checks. There is a scenario in Wintertodt, where the walls aren't projectile clipped, thus allowing creatures such as implings to wander inside, however I believe there's a further check down the line that checks for certain area controllers which prohibit unwanted creatures from entering said area.
    Yeah that's exactly what I was about to say, 0x200000 inversed

    Attached image
    Attached imageAttached image
    Reply With Quote  
     

  7. #16  
    Registered Member
    Tyluur's Avatar
    Join Date
    Jun 2010
    Age
    26
    Posts
    5,103
    Thanks given
    1,818
    Thanks received
    1,767
    Rep Power
    2438
    Have you benchmarked this? I’m interested in how it performs in comparison to past solutions.
    Quote Originally Posted by blakeman8192 View Post
    Keep trying. Quitting is the only true failure.
    Spoiler for skrrrrr:

    Attached image
    Reply With Quote  
     

  8. #17  
    Registered Member

    Join Date
    Feb 2010
    Posts
    3,253
    Thanks given
    1,145
    Thanks received
    909
    Rep Power
    2081
    Quote Originally Posted by Tyluur View Post
    Have you benchmarked this? I’m interested in how it performs in comparison to past solutions.
    Yes there is a jmh package and clear details in the project readme of his results...
    Reply With Quote  
     

  9. Thankful user:


  10. #18  
    Registered Member
    Tyluur's Avatar
    Join Date
    Jun 2010
    Age
    26
    Posts
    5,103
    Thanks given
    1,818
    Thanks received
    1,767
    Rep Power
    2438
    Quote Originally Posted by Fire Cape View Post
    Yes there is a jmh package and clear details in the project readme of his results...
    Sorry lol I was reading this after just waking up
    Quote Originally Posted by blakeman8192 View Post
    Keep trying. Quitting is the only true failure.
    Spoiler for skrrrrr:

    Attached image
    Reply With Quote  
     

  11. #19  
    Renown Programmer

    Join Date
    Oct 2017
    Posts
    198
    Thanks given
    167
    Thanks received
    302
    Rep Power
    1567
    Added support for custom "Collision Strategies." Along with this, added an "inverse collision flag" strategy, which works for npcs such as ducks and krakens (can't go outside of water and vise-versa).

    There was trade-off with performance (due to XPathFinder::findPath now taking a CollisionStrategy param and being used in collision checks for each tile). This hit is only noticeable for long routes, i.e GameClickLongPath (avg +0.0053ms/request) and GameClickAltPath (avg +0.009ms/request)

    Spoiler for duck:
    Attached image
    Reply With Quote  
     

  12. Thankful users:


  13. #20  
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,179
    Thanks given
    260
    Thanks received
    1,012
    Rep Power
    2003
    Quote Originally Posted by Tomm0017 View Post
    Added support for custom "Collision Strategies." Along with this, added an "inverse collision flag" strategy, which works for npcs such as ducks and krakens (can't go outside of water and vise-versa).

    There was trade-off with performance (due to XPathFinder::findPath now taking a CollisionStrategy param and being used in collision checks for each tile). This hit is only noticeable for long routes, i.e GameClickLongPath (avg +0.0053ms/request) and GameClickAltPath (avg +0.009ms/request)

    Spoiler for duck:
    Attached image
    I don't see the point in serverPathConstructOnIteration, serverPathCoroutineDispatcherThreadLocal & serverPathCoroutineDispatcherConstruct

    Surely you wouldn't recommend creating a path finding instance for each search or sharing one between multiple coroutines, so what's the benefit from benchmarking them?

    Also I don't think serverPathCoroutineDispatcherThreadLocal is working, it's probably just resetting the instance 2k times then calculating the path once?
    Attached imageAttached image
    Reply With Quote  
     

Page 2 of 3 FirstFirst 123 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Path finder issue!
    By Kiissmyswagb in forum Help
    Replies: 14
    Last Post: 04-20-2016, 09:33 PM
  2. paths and compilers! for xp
    By king swintell in forum Tutorials
    Replies: 8
    Last Post: 04-21-2008, 01:42 AM
  3. Fix For "Path Cannot Be Specified" Jdk.
    By Jonny J in forum Tutorials
    Replies: 4
    Last Post: 03-11-2008, 01:36 AM
  4. Frame ID Finder
    By flash214 in forum Configuration
    Replies: 10
    Last Post: 02-21-2008, 08:27 AM
  5. Environment Variables, An End to Paths.
    By Whitey in forum Tutorials
    Replies: 2
    Last Post: 07-23-2007, 09:28 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •