How to learn game programming
Realism
First of all stop. You are not going to make that huge mmo you are thinking about, you will not be working on that killer FPS you had in mind, that procedurally generated RTS? Forget about it. For a few years at least. To begin with you are not going to be very good so you have to start small.
Which Language?
This is one of the biggest questions we get asked here at gamedev and the answer is it doesn't matter. Yes more large companies code in C++ but this irrelevant to you as they aren't going to hire you without at least a few years experience. Once you get good at a language switching between them is not as big a deal as you might think when starting out. I personally recommend either C# or Phython just for the fact that they are simpler to use then some other languages and still very powerful.
OpenGL or DirectX?
Neither. Newbies put a lot of weight into this question and its not a very important one really. Graphic programming is only a small part of game programming and a pretty boring part at that. To begin with you should be using a library that does it all for you, that way you can learn all about the real code of game programming before worrying about the nitty gritty stuff.
I recommend SDL, SFML, Irrlicht or any of the simple libraries that will handle the rendering for you (those also do input and window management which is one less headache when learning). Once you have made a few simple games you can learn either GL or DX, but remember that most game programmer would be able to use both depending on that the requirements for the game are.
Where do I start then?
Pong. Seriously. This game will teach you about lives, physics, collision, AI, game loop, scoring, leveling and much more.
Next make tetris. This will teach you much the same as above but with more advanced collision detection and smarter game logic for the score counting and block removal.
Now make PacMan to learn more about AI. Nuff said.
Now make a platformer (mario clone) to learn an abundance of new things. If you feel up to the challenge use a physics library and particle effects.
*** Side Note ***
Do all of your games have sound? Menus? Help screens? Pause? Scoring? Can you change controls? Save? Add all of this to your game to make it really complete.
Conclusion
Once you have done all of this you are well on your path to a career in game development. You will now be at a level where you know what benefits you will gain to learning a graphical AI (or you might have sense to stay away from them and use a decent engine instead). Either way, you will now have all of the core knowledge you will need to become a game programmer and if you are still having fun then you know that this is the career path for you.
Happy coding.