This morning's update brings new yacht locomotion, evasive maneuvers, and pathing visualization.

Up until now the orca and yachts shared the same locomotion logic which makes a certain kind of sense -- they're both waterborne long moving things -- but I ended up needing the yacht to move pretty differently to reliably follow its paths. I really like how the orca movement feels and I don't want to mess with that system too much, so yachts get their own logic.

When you nudge or ram a yacht it will recalculate its path, in theory it will pick points that are "away" from the orca and the point of contact. This... kind of works? Maybe it's good enough to feel like evasive maneuvers when the debug view is off.

Pathing is still not 100% there. I made it into a coroutine so that it can run without blocking the frame, which made it easy to visualize the "thinking" process as cyan lines. But it still returns no path in certain situations where it should really just return some path. This is also a fix for how long pathing can take -- just give me the longest path you have so far after a certain timeout / step limit.

The core yacht logic also needs some rethinking because we have nudging, ramming, path recomputation, death, a lot going on that's kind of grown organically and has a bunch of edge cases.

You can play the full thing here.