I should add the following recommendations to game design quests:
- Run Linux -- libraries are free, compilers are free, help is usually free ... on Windows, it's more likely you'll be stuck with DirectDraw and cryptic documentation.
- If you want to try OpenGL, it's not great, and it is hard, but you can do stuff that will work in Windows & Linux this way. Get a generic OpenGL book that does not pose as a "games programming" book -- these books typically use a lot of prewritten engine code, have bad examples, and only run on Windows.
- I'm not a huge Python fan, but PyGame looks pretty sharp in comparison to what is available in Perl for making simpler games. I'd rather work with OpenGL myself, but that is because I like C and C'ish kinds of things.
- Graphics are 'hard' to do in a whiz-bang way, but this is what most corporate games spend money on. As a stylistic tip, gameplay is sooo much more important, which is why Atari 2600 games are still fun today -- remember to spend time on gameplay before you worry about graphics!
I should also add, that graphics programming, 3D modelling, and game/level design are traditionally done by seperate people in the real world, and it's hard to find jobs in any of these... but it's a great hobby, so explore, have fun, and enjoy it.