This video shows 16 agents following a common policy map. The leader creates the policy and shares it with its followers.
With 256 pawns...
showing region path finding still works
This is just showing policy pathing. The idea is that rather than creating a specific path for each agent, you create a policy that can be shared across multiple agents. This is a necessary pre-cursor to multi agent flocking.
Rather than creating a path finding plan for each individual AIs, i'm trying a policy graph that cab be shared across a flock.
The arrows below represent the policy. So if there is a hoard of AI heading up the hill, a temporal policy graph is created. The arrow are quantised to 60 degrees, but you can get an idea on how it would work.
I got a question about performance, so I bit the bullet and enabled it. Once the call back returned, it initiated another path finding request. I'm not sure exactly what the numbers really mean, but the game thread was not chugged up by the path finding and neither was the pipe updating. The biggest issue with path finding is its non-deterministic-ism. Which is why it works well to be on it's own thread, it won't make the UI non-responsive.
I replicated my work on the sphere onto flat world. I picked up a few bugs along the way. It makes it all worth while. I'm not sure whether flatworld will see the light of day, but the being able to write the code twice so to speak does reduce the bug count and make the code more robust (IMHO).
I just finished re-using the code for the flatworld. The smoothing is a bit messed up along the borders. I'll have to amp down the noise for path finding. Still it is quite interesting visually.
Here is the path finding results of the nav mesh solution.
Here are my results of my dynamic regions. You can see the original in the first image. The next one shows what happens when a block is placed (the region becomes a few smaller ones). Then you can see what happens when the block is removed. Noticed the fragmentation. I can't really recreate the regions every time a block is added or moved.
I hope to have a navmesh style pathing going soon. The hexagon graph search pathing works fine.
These are the convex pathing polygons. You can see how they will speed up and make pathing much more natural.
Below, the dots in red show a natural super highway.
Here are my results from my water shed processing. Red borders a non-pathable area. Basically the borders of polygons. I'm going this in yet another separate worker lockless thread with the idea that when tiles are moves, the regions (nav mesh) can be recalculated. This is one of the first steps for creating a nav mesh.