So I saw an advert for Super Mario 3D on the 3DS on TV the other day and I thought to myself, wouldn't it be nice to just stop worrying about complicated physics for a bit and just write a platformer like I used to, just based on axis-aligned bounding boxes.
Then I thought, if I'm going to do that, it isn't a huge issue to do it in 3D instead of 2D. If I keep the camera oriented down either the Z or the X axis, I can just use four directional keys for movement instead of two, same system with a jump button, but have a retro-style platformer in a three-dimensional environment.
And, of course, it turns out to be trivial to extend the kind of old "physics" I used to use for 2D platformers to 3D platformers.
The major appeal of the simplicity of an AABB-based platformer is that over recent years I've been developing stuff using physics engines, mainly Box2D, and found that in exchange for the nifty features, I have to sacrifice so much creative flexibility and end up almost being driven by the physics engine in terms of what features I can put in my games.
Strictly AABB-based physics isn't very next-gen but it creates perfectly fun games and gives me back the creative freedom to decide what features I want to implement, not which ones are going to be feasible within a given physics framework.
So the above is just a randomly generated 3D map with a white cube representing the player which can run and jump around the level with the camera panning to keep the player at the centre of the screen, as much to prove the concept to myself as anything. No idea where I'm going with this but I'm looking forward to developing something with my own physics implementation, however simple, again instead of struggling with and against some behemothic physics library.
No offence, Box2D. You know I love you lots.