Thread: BFS Path Finder

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 27
  1. #11  
    Registered Member
    Optimum's Avatar
    Join Date
    Apr 2012
    Posts
    3,517
    Thanks given
    830
    Thanks received
    1,580
    Discord
    View profile
    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,136
    Thanks given
    233
    Thanks received
    798
    Discord
    View profile
    Rep Power
    1575
    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
    Reply With Quote  
     

  3. #13  
    Renown Programmer


    Join Date
    Oct 2017
    Posts
    188
    Thanks given
    164
    Thanks received
    275
    Discord
    View profile
    Rep Power
    1464
    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  
    Contributor
    Kris's Avatar
    Join Date
    Jun 2016
    Age
    23
    Posts
    3,536
    Thanks given
    703
    Thanks received
    2,322
    Discord
    View profile
    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 [Only registered and activated users can see links. ], 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,136
    Thanks given
    233
    Thanks received
    798
    Discord
    View profile
    Rep Power
    1575
    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 [Only registered and activated users can see links. ], 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

    Reply With Quote  
     

  7. #16  
    Banned

    Join Date
    Jun 2010
    Age
    23
    Posts
    4,836
    Thanks given
    1,676
    Thanks received
    1,563
    Discord
    View profile
    Rep Power
    0
    Have you benchmarked this? I’m interested in how it performs in comparison to past solutions.
    Reply With Quote  
     

  8. #17  
    Registered Member

    Join Date
    Feb 2010
    Posts
    3,187
    Thanks given
    1,124
    Thanks received
    834
    Discord
    View profile
    Rep Power
    1514
    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  
    Banned

    Join Date
    Jun 2010
    Age
    23
    Posts
    4,836
    Thanks given
    1,676
    Thanks received
    1,563
    Discord
    View profile
    Rep Power
    0
    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
    Reply With Quote  
     

  11. #19  
    Renown Programmer


    Join Date
    Oct 2017
    Posts
    188
    Thanks given
    164
    Thanks received
    275
    Discord
    View profile
    Rep Power
    1464
    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:
    Reply With Quote  
     

  12. Thankful user:


  13. #20  
    Renown Programmer
    Greg's Avatar
    Join Date
    Jun 2010
    Posts
    1,136
    Thanks given
    233
    Thanks received
    798
    Discord
    View profile
    Rep Power
    1575
    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:
    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?
    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
  •