You have to think about your long-term goals. Do you want to
a) make games quickly (the goal is important),
b) learn a programming language and make a game with it (the goal and path to it are both important),
c) learn a programming language to understand how the computers work and then, maybe, start making a game one day in the distant future (the path is important)?
Look at those options and try to answer honestly. Now, let's see:
a) Use some of the "makers" available. It depends on which genre should the game be. Unity 3D is good for large-scale 3D. UDK (Unreal development kit) is good for indoor FPS games like Doom or Unreal. I've liked RPG Maker when I tried it (the target genre should be apparent
). Game Maker is most suitable to 2D games.
b) I would suggest C# as it isn't AS (notice the capital letters) difficult as low-level languages like C++. You should be able to do "something" in 2 years.
c) ANSI C or C++ seems like a good entry point for this. You will need a lot of time and patience, but after a 5+ years, you should be able to program almost everything you wish (but be aware that the time needed to do it will still be in years).
Abandon the idea that you will be able to code a game in a short amount of time; you will fail. A game (engine) programmer should have 5+ - 10+ year experience with programming.
On the other hand, you are still young, so if you persist, you will find a new and interesting world of programming. The one where everyone bows to your every command (unless it's invalid, of course)
Edited by ifthen, 16 November 2012 - 01:29 PM.