I have finally finished the physics/collision detection engine for platform games. If you see any real problems in the system let me know. I want to make sure it works before using it.
I added a gravity modulator. You can change the direction of the gravity to see that the physics doesn't depend on it.
Finally, before you look for errors I'd like to point out 2 things that you may find unusual, don't report them:
1- On some surfaces the ball bounces. These are "non-floor" surfaces and they slightly repel the ball to avoid a few mistakes (Like sticking to the surface, even against gravity).
2- You will not be able to jump on "non-floor" surfaces. They are supposed to be walls or ceilings in normal gravitational conditions and are not meant to have an effect on jumping.
As usual, the control keys are A/D for left and right motion and the space bar for jumping. Well, that's it. Hopefully I'll be making games with this soon enough. I hope you enjoy this.