You don't mention if you have any programming experience....
(I'm assuming not)

C or C++ is probably the best thing to learn
almost every other language out there bases itself on the syntax of C
learn C or C++, and other languages will be simple to pick up

Also, games (due to the need for speed) are almost always in C/C++

If you don't know C or C++, then starting with complicated games is probably not the best way to learn

First up is to learn the language

you'll need some references and tutorials, so have a browse through these
www.cprogramming.com
www.cplusplus.com

Get the basics of programming down

then make a really simple game
(hangman, snake, digdug, whatever)

Moving on to real, complicated games, can I suggest you start out modifying an existing game.
To jump straight in the deep end will leave you completely confused
and making your own game engine is probably out of the question (have you ever seen any? they make your head hurt)

Pick an open source game that you're interested in
then change it

After that, you can take an existing open source game engine, and make your own game using the engine

Open source is your friend
learn from what others have done