RichAI, RVO Local Avoidance and TimeScale

Hi everyone!

I’m using a NavmeshGraph and multiple agents with RichAI’s attached as my primary method of moving my agents around a structure, with an RVO controller to prevent agents from mashing into each others faces.

I’m having an issue with timescale and trying to increase it. I’ve been having a similar problem to what Aron outlines in[1] - that they’re overshooting and get getting slightly confused by tight corners (in this case, navigating between closely spaced teachers.)

As outlined in the local avoidance documentation [2], using RVO for avoidance with AILerp doesn’t make a lot of sense, but is unfortunately what would be the solution to help from overshooting on pathfinding.

So going forwards, the options that I can see are:

  1. Don’t increase Timescale - write a custom script to manually update the game features that are affected by timescale but allows the Agent to avoid overshooting whilst still using RVO.

  2. Rework the RichAI agent to use AILerp style movement (or at least experiment with improving the quality of path for AILerp - currently behaves less well than RichAI with some tweaks) and then try and work out a different way to deal with local avoidance.

Does anyone have other suggestions for getting around this problem, or any input on solutions they’ve attempted to implement?

Thanks.

Links below are the other topics that I’ve found and read through trying to solve this. (only allowed two links so second two I’ve just taken the end of the link.)

  1. Multiple questions regarding AIPath and timeScale

  2. https://arongranberg.com/astar/docs/localavoidance.html

  3. why-does-aipath-not-work-with-timescale/3076

  4. timescale-and-pathfinding/2264