- Cyberpunker 11s
- crashdown 1m
- persephone1 4m
- JustSomeGuy 8s
- RealHumanBean 18s Something?
- Atheran 3s
- jwimpeney 59s
- Revex 2m
- whatislove00 7s https://www.youtube.com/watch?time_continue=795&v=fpbOEoRrHyU
- wiebman 35m
- villa 3m
- Evangeline 28s
- dieselpunk69 19m
- SolBro 31s
- Rigo 25s
- Crucioux343 1m
- Ostheim 35m
- Vera 23s youtu.be/wmOw-jplSMk
- waddlerafter 1m
- Speccy 9m
- BCingyou 10s
- Cromptonymous 3m
- Melpothalia 2m
a Glitch 12m I am the one who puppets.
- Lycanthorph 5s
- Baron17 2m
- Manywaters 51s https://www.youtube.com/watch?v=HUxB4d_8ETM
- Hippo 4h
- Barrien 42m
- Neekly 35s
- Malanth 14s
- FancyPenguin 23m
- Baguette 46m ye boi
- Grey0 8s
- jsmith225 18s
- Rangerkrauser 3h
- Azelle 22h
a Cerberus 1d Head Builder & GM when I need to
- Chrissl1983 5h Really enjoying this awesome game to the fullest!
j Johnny 13h New Code Written Nightly. Not a GM.
And 32 more hiding and/or disguised
Connect to Sindome @ moo.sindome.org:5555 or just Play Now

Pathing Cache
Paths between rooms will now be cached

Hey All -

I've been working on a pathing cache for a few weeks. For any game devs out there you may know that finding paths between areas is really difficult and time consuming to do with code. It's no different on Sindome and a lot of times when you see bits of lag it's because a bunch of NPCs are moving around in an automated fashion.

Our new pathing cache will take the path we've calculated and store it for future use. There is a bit more to it than that, but at the surface it means if NPC A goes from Room A to Room B (be it the next room over or a room across the sector or on a different sector) that path is cached and when NPC B wants to go from Room A to Room B we make the quickest of checks and have a path.

It also works such that if NPC A wants to go to Room C and the pathing cache finds a path to Room B and Room B knows how to get to Room C, it will use it's current path + the path from Room B to Room C, thus allowing us to utilize cached paths even further!

This may not seem like a huge deal, but it will save us a LOT of computation time, and that means we can be more liberal about having NPCs move around, be dispatched, etc.

This will also work for vehicles and other classes of rooms, so a taxi going from the Drome to the Bank or the Bank to the Drome, will be able to cache that path and it can be used in the future!

-- S

Ah, the tradeoff of memory in place of time: memoization.

Here's one of my favorite articles on pathfinding: https://harablog.wordpress.com/2011/09/07/jump-point-search/

Does Sindome use A* with each room having an XYZ co-ordinate factored into the algorithm's cost heuristic?

For some types of pathing it does, but not all, due to not all rooms having XYZ locations. Or some having multiple XYZs in the same location due to buildings and such.

An update on this:

We now have 847 paths cached! I have noticed a significant boost to the speed with which NPCs can be dispatched and moved around, as well as taxis and limos due to this. They just use our cached paths instead of having to calculate a VERY expensive path from one location to another.

This opens the way for more automated actions to be present in game. We can dispatch an NPC from point a to point b and have them automatically execute an action (like tag their turf), without worrying that we will lag the MOO!

Another update on this, we now have 1,191 paths cached!

We are up to 2623 cached paths!