|
All the flags are supported, even the ones used in higher revisions. Also has constants for flags you'd only use serverside(primarily for NPCs blocking other NPCs).
Validation is part of the pathfinding but also accessible externally as you want to validate each step as the character advances, as well as verify that once they reach the destination, they can in fact interact with it from that position(e.g. if you clicked a tree and a wall somehow spawned right before the tree, you'd reach the correct tile but should not be able to interact with the tree anymore).
The pathfinder is just a relatively bare-bones library with support for everything necessary, you should have your own little layer on-top of it that manages things like needing to recalculate the path, ensuring accessibility and all that.
Yeah my bad. I was checking RSMod first as it is being dickrode as something revolutionary quite often lately. After checking Blurite it does indeed have those flags. I'll edit my previous post. That's the first time I've seen it them in another source. Pretty solid library. I'm still going to do my own implementation for now so it can fit better with what I currently have. My goal is to have route batches that get processed in bulk on multiple threads while the main loop waits on them to complete due to the logic portion of the loop having good use cases for seeing if the player is currently headed somewhere and where that place might be.
They're pretty much the same library at this point. I originally forked off of Tomm's initial one, did some fixes over time, changed some structure. Tomm recently(few weeks ago) ported over all the fixes and any other improvements I had done.
I also multithread pathfinding, even though RS likely does not(found some potential evidence against this recently). The simplest way of doing that is having a thread-local pathfinder object(each individual object is not thread-safe, but having it thread-local with a fixed-size threadpool does the trick just nicely).
Cool tutorial.
Oh I'm basically 100% sure Jagex's pathfinding is not multithreaded. Making it multithreaded after the fact is pretty much just as complex as porting Minecraft's main process loop into multithreaded handling and I highly doubt Jagex went through the trouble of doing that. Plus they have MASSIVE issues with tick rates at this point especially on RS3. 150+ players and I notice the tick rate exceeding 600ms lol. Guarantee it has to do with the exact same kinds of issues that we've been discussing in the thread so far too.
My plan for it was pretty much to run the input/player packet processing, player logic, and npc logic parts of the tick loop, then wait for the route executor to finish processing everything before moving on to the next point. Then any post-processing logic that relies on whether or not the player is moving and where they are moving to will function exactly the same and not have any race conditions. Should cut lots of time off the main tick loop even doing it this way.
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |