I'm creating a 2.5D platformer in XNA which uses 3D models that are constrained to travelling along a 2D plane (just like Trine).
To make things tricker, however, I want the 2D plane itself to be able to curve. Consider this replay of Klonoa (you only need to watch for 10 seconds): although the player was on a 2D plane, the plane itself could wrap around the side of a mountain, effectively allowing the player to travel through 3D space - all the while constrained to the regular 2D plane of a platformer.
How should the physics be approached in a game like this?
- Should I use a 2D physics engine or a 3D physics engine?
- Are there any physics engines actually designed with this situation in mind?
- For any that weren't designed for this: what hacks or tricks will be necessary to get the physics engine cooperating with me?