This is the collision engine for Newer Super Mario Bros Arcade (which by the way is canceled, but might come back later.) I did many modifications and it now works amazingly, supporting moving and non-moving platforms of all shapes and sizes. YOU can include this in your platformers (be sure to credit me though, because I did put a lot of time into coding and figuring out math for this). It may have a few bugs, like the camera shaking when on a moving platform, and how on the transition from steep slopes to the regular ground it sometimes glitches out, but overall it is fairly accurate. If you find a bug besides these that is fixable, I’d appreciate the feedback.
This project is meant to be an extremely flexible physics engine that can handle many shapes and sizes of platforms, as well as scaling with them automatically. It also takes into account the size of the playersprite, so no need to change the code when making the playersprite bigger or smaller.
This will (probably) not be turned into an extension, because it would be hard to implement all of the customizability that this has to offer into an extension (and it would probably be hard to use, and require projects to use a lot of blocks repetitively). I enjoyed working on this project, and if I continue developing Newer SMB Arcade, I’ll probably use this version of the physics engine.