Good news – work continues!
Over the weekend I have successfully corrected the problem with two or more agents going for the same target and getting stuck, because no one had a clear priority over others. I have tried two different ideas and choose the best.
Also greatly improved pushing out of idle agents.
Changes and improvements were also made to other parts, such as pathfinding and selection of the next waypoint en route.
Many additions were also made to the debug rendering, for easier isolation of problems and debugging.
Now there are two relatively easy problems:
– In the narrow corridor agents often interfere with their neighbors, if they did not touch the waypoint while walking past it. Here the solution is already known – needs just implementing and debug.
– Idle agents are much too “scared” sometimes. If some other agents approaches them and stops one tile short, they run back around 1/5 of tile. I still need to re think how to solve that, because this behavior is a part of the interaction and collision avoidance algorithms.
All-in-all everything is going pretty well so far 🙂