Go home, RichAI! You're drunk!

RichAI very frequently overshoots the goal it’s headed towards (especially if it has a high top speed and a low acceleration (this example uses an 8:1 ratio, in this case to make it obvious))

It makes lots of wild dipsy-doodles and the occasional whimsical squiggle. Sometimes it creeps along at a snail’s pace and sometimes it suddenly scoots like a rocket.

Maybe I just need it to perform simpler movement, like how AILerp works. I would use AILerp, but AILerp doesn’t handle traversals.

Could you add that? I just need something like AILerp that can handle traversals as nicely as RichAI does. I’d use FollowerEntity, but FollowerEntity doesn’t handle Alternate Path modifiers.

I’m trying to make a player movement system and I know it would make players very angry if I can’t iron out these eccentricities. I don’t understand what’s going on under the hood. I just need the movement to be fast, accurate and responsive.

I tried getting rid of things like Slowdown Time and giving it enough acceleration to change direction on a dime (I once gave it 999 acceleration) but I haven’t had much luck.

I made a custom subclass of RichAI so that I could override MovementUpdateInternal() and TraverseFunnel() to get lerped motion when I set the acceleration to 0.

It worked, then I discovered that RVO is trying to avoid hitting the edges of the navgraph, resulting in slowdowns.

image

Setting the Obstacle Time Horizon to 0 on the RVO Controller fixed that.