i would start with something like flash or java start making games uploading them on newgrounds ect then start learning C++ and it will be alot easier
school really isnt needed because you can find guides and learn just as fast if not faster depending on how well your are able to pick it up and understand/remember ect, but haveing a degree when looking for a job will help alot.
Yeah, start off with a web-based scripting language, like ActionScript; it's the object-based language people use for flash games.
Bigger games like you're thinking take awhile to develop and you're gonna need to know quite a few languages unless you have a development team.
The first actual programming language you should start with is C++, because it's the most common for games, and it can get really flexible as you get better at it and learn efficient coding techniques.
But remember, you have to work at it. It takes quite awhile to get good with any programming language, so don't just expect to start making games on the first day, or even after a year.
Also, not to be a downer, but you're gonna have to like your job. Programming a major project will take up a lot of your time. Expect to be sitting there for hours at a time trying to perfect the game engine etc. It's best to have a development team unless you're already using a pre-coded engine like Havok, and even with that a team is recommended. Who knows, people can go far by themselves. Counter-Strike was made by one person using Valve's SDK. It's all about patience and determination.
This is a great website that's helped me a lot with getting started on C, and C++ - http://www.cprogramming.com/
It's best if you can find yourself a book somewhere, like at Books-a-Million or something. Look online for e-books, too. Websites like the one above won't help you too much in the beginning. I started with a book, and that's what taught me most of what I needed. Also, do the lessons in the books, and anywhere else you can get tutorials from. Do them over and over and over. Then do it all again.