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