Since last time I’ve been chipping away at NPC movement whenever I get the time. Most of it has been refactoring work, but there are a few highlights. First, I’ve ripped out all the capsules. They may return later, but for right now bounding boxes simplified things. Second, I’ve fixed a bug that caused moving NPCs to hover a bit off the ground. Here’s how that bug looked:

I’ve also reworked how NPC movement works, converging code from player movement where it made sense. Although, during this work a few old bugs reared their head again. Here’s a particularly funny looking one:
The cause of the bug is that when an NPC begins to rotate, it sometimes chooses to rotate the wrong way. It’s rare enough that I’ll get back to it later. After that, I’ve taken a stab at hooking up the animation system to the NPC’s speed. Now NPCs will stop their move animation if they’ve been stopped:
Ideally, I would blend between the previous animation and the new one. The collision code is also sometimes a bit unstable, resulting in bugs like this:
The fix is likely to reduce the number of bounces NPCs can make when resolving collisions.
That’s it for this update!