A* Pathfinding Project

RVOAgent stuck when other RVOAgents Lock

  1. Open RVO demo scene, and RVO Agent Placer Set 4 Agents
  2. Lock 2 Agents
  3. step2 result in agent stuck behind locked agents (green and red agent locked, purple unlock)

I want to know how to solve it that can make purple walk around locked agents?



The RVO algorithm is inherently local and will get stuck in local optima (like in this case). That agent’s can be locked is not something that the RVO algorithm was originally built to handle, and it does affect the quality in situations like these.
The good news is that I do have another local avoidance algorithm in development that handles these cases a lot better. It is based on how Starcraft 2 does it.

Here is a demo of it https://www.youtube.com/watch?v=wBUdMXeeej0 (when the agents start attacking other agents then they are marked as locked, but agents behind them still manage to move around them to get to the front line).

I’m not really sure when it will be released though, I have a lot of stuff going on right now. I could perhaps upload a beta version pretty soon.


Great job!I can’t wait to see new features. I am trying to replace RVO algorithm with RVO2 Library and add some context steering controll because this problem.


Can you send me this beta version first? I am very urgent to fix this problem.gmail: qingsonglai89@gmail.com



I have uploaded a beta version (on the branch “rts”) here: https://www.arongranberg.com/astar/download
Click the ‘Show Older Versions’ button to reveal it.

I don’t think the RVO2 library allows locking agents at all, and in any case I think it will have the exact same issue if you do implement locking. They use almost the same underlying algorithm after all.


You are right. RVO alone cannot solve the stuck problem. I have added some game context controls such as locks, weights, getting more neighbor information, etc. like your SC2Avoidance scripts.