Most recently I’ve been experimenting with some additional mechanics, for example – pivoting platforms:

As it turns out, building a simple pivoting platform isn’t that hard, because I can reuse most of the code I already wrote for pressure plates and sloped surfaces. Most of the side-effects come out right automatically – as the platform pivots, ComputeStandingY positions the player appropriately to match the new slope of the surface, and collision detection still works right even from below the surface.

As you may notice, though, the motion looks a bit jittery if the slope of the surface becomes steep enough, and some of the details like the speed of pivoting need more tuning for it to really be interesting. But it was still suprisingly easy to build regardless – and I’m happy with how it turned out. Next, I need to figure out how to integrate it with other mechanics – maybe a pivoting platform that triggers a pressure plate, or two pivoting platforms that have linked positions?

Unintended, yet awesome side effect: I recently discovered that if your timing is just right, you can wall-jump off a pivoting platform. I might leave that one in.