Learn many languages. I recommend C/C++ with SDL & OpenGL. That's the "low level" stuff nowdays and will be the toolset that allows you to create cross-platform stuff that is actually fast. You might be better off starting with a higher level language such as Python, but making larger games should probably be done with a language that gives you more control.
Create a text adventure with C++. Learn the basic tools, memory pointers, references, singleton patterns, factories and all that (as mentioned above). Once you have some kind of data structures and programs written, move on to SDL (Simple Directmedia Layer).
Lazyfoo's tutorials are good. Once you can handle SDL on some level, learn basic OpenGL. I recommend reading the
OpenGL Super Bible. Now merge SDL and OpenGL and make your game.
EDIT: Also,
This is somewhat important.
EDIT 2: Oh, also ask a lot of dumb questions. I still do that.