I'm just a step ahead of you actually. If you're looking for a good place to start, I would say start with a 'point-and-click' 2D engine. This is where I started. Speficially with engines like RPG Maker (shhhhhh), or The Games Factory, or Game Maker, etc. to kind of get a handle on the development process. Then after that I moved on to learning the basics of C++, and from there I then went to a more advanced scripted engine. 3D Gamestudio is my engine of choice. The scripting language can seem difficult at first, but if you ignore their tutorials (which assume you're an experienced programmer in my opinion) and just start coding VERY simple actions like spinning objects and build from there you'll know enough to be able to program a game on your own (with some help from the reference manual of course).
Then from there I would look into a book like Sam's Teach Yourself Game Programming in 24 Hours or something like that. They'll help you develop an engine and. Well actually I never got past chapter 7 in that book because once the engine was developed I got bored with his games and wanted to make my own. Also, if you're going to use a book like that, I recommend ignoring the classes he writes and try writing them yourself first. Then you can compare them when you're done, but having that blindfold on means you'll learn a helluva lot more than you would by just copying his code. Although I did pretty much just copy his windows code word for word because I don't care to learn that stuff.