My AStar map is built around a 3D regular hexagonal prism grid and even for relatively small maps the areal map used by flying entities requires a lot of points. This takes a crazy long time for the Astar maps to load from data because of this, and pathing itself also seems to take a hit, reaching 500ms when calling get_point_path()
which hurts the speed of my AI's testing for valid paths.
so I'm thinking of trying to take advantage of the fact that I have a lot of space on the map that is empty most of the time by removing these empty spaces entirely (besides the edge spaces) and assuming any path through it can be made directly.

All the hexes are connected to opposing hexes across from the empty space.

But now i've realized that there's issues with this, That if there does happen to be points occupied within the empty area, I'd need to disconnect all these connections across the empty space and re-add all the astar grid within that space and disable the occupied points before running get_point_path()
.
And this process will likely not be performant at all since I still have to add the points and connections one by one to the astar grid and I'd need to run it every time an entity enters or exits an empty space. though I guess it depends on the size of the empty space and how many empty spaces could be occupied by the same entity if it's a huge entity.
so I'm unsure what I can do besides maybe create an alternative pathing system for flying entities that doesn't use Astar. 🤔
looking for suggestions.