When I split the codebase from Hibernator, I also removed most of the code specific to actors for that game, including the entire player’s Lua source. In Hibernator, only the player has gravity and platformer movement, because it’s all hardcoded into the player script. If you were to place a snake enemy in the air, it would just float horizontally, and it wouldn’t teleport through the transporter-style gates either.

So, this isn’t much of a platformer without any kind of platformer movement. It’s time to add that stuff back in. I understand Lua a bit better at this point, so I’m separating the platformer movement handling into a separate module, and dumping all of the state related to platforming into a sub-table. I’m hoping to have something generic enough that it can be shared between the player and other actors / objects.