Generally, I agree with fireside. Maybe not 30 2D games, but obviously, many pure coders undervalue the complexity and the "experience curve" in knowing how to design a good game.
Do not build a game engine unless you want to become an engine/toolset/framework builder. There are lots of threads here that a search for "game engine build" or some such would fill hours of time. The gist of the con argument is that a) there's an inherent amount of time writing and debugging that's high that n00bs don't realize and a majority of the experience gained in the process is non-transferable to designing a game.
As fireside says, there are lots of mature engines out there that do a lot of the grunt work for you, are relatively well-written, and have a community to lean on. Now, it may be that you'll want to change some parts, for example a different rendering technique, or a procedural aspect not available in the engine, but at least you get to skip things like writing and debugging input handling.
I would recommend OGRE, Horde3D or C4 for you. Be assured that there's still lots of coding left, of varying amounts, to do even after you pick one of these. Note that OGRE and Horde3D are render engines, leaving lots of network, sound, AI, physics and such to code up. C4 gives you even more, but there's still all the game logic to code.