A game is simply a computer program. It's written like any other computer program: using a programming language, and is shipped with relevant data files (i.e. graphics, sound, etc).
I was fascinated by the idea of making a game as a teenager, so much that I learnt to program in C and C++ just so I could write games. I ended up liking programming more than I did games though. Civilization III is the only game I play at the moment, and before that came out, I didn't play any games at all for several years.
The idea of programming games still fascinates me (at the moment I'm stuck doing relatively boring stockmarket stuff), but even if you're skilled, the industry is small and difficult to get into.
To get into game development, you have to be skilled in one of the major areas: programming, graphics, or perhaps sound. Being able to 'design cool levels' almost certainly isn't going to cut it.
Being good at physics and math is helpful. Nothing too complicated though, just some fundamentals.
If you want to learn a language, C++ is the best but hardest language to know. If you want to start with something easy, you could try Python. It's free, and easy. There's a Python module specifically designed for doing games:
www.pygames.com
Also, if you want to learn more about programming generally, I suggest considering installing Linux on your machine. It has lots of free language environments (including C++, Python, and others), and will teach you alot more about how computers work. (NOTE: I am not advocating Linux as a good desktop operating system for all or most computer users, but for someone who wants to learn to program).
If you have questions about learning how to program, the IRC channel #C++ on irc.freenode.net is good - I'm regularly on there with the same nick as here. I'd be happy to answer questions on programming in more detail there...
-Sirp.