The main issue starting with the game engine is that you might never finish the game because you will keep on adding new features and restructuring your code/design as you learn more about the art of game writing. Of course this might not be bad, unless you actually intend to finish a game...
If you really want to finish a game, it might help to use an existing game engine. I use GTGE (
http://goldenstudios.or.id), which is particularly good for platform games. I'm sure there are other good 2D game engines as well. So if you are more interested in the actual game creation more than working on the engine, this might be the way to go.