I'm writing a platform game engine now, once the engine's done, I'll write my game using it, I'm putting as much into external files and the level structure as possible to allow for varied gameplay. I'm also releasing the engine for free on my youtube videos:
http://www.youtube.com/amcadam26
http://www.youtube.com/amcadam26