Start off by making a silly text adventure. Work your way up to a trivia game. Then make some freeware with 2D graphics. Then go for either (A) a 3D freeware game, or (B) a 2D shareware game for additional fine-tuning. If you go with B, make your next project a 3D shareware game, or start working on a demo with a basic working engine for a 3D game. By the time you finish all of these projects, you'll have every ounce of programming knowledge you could ask for, especially if you make a few of them multiplayer.
And don't forget that you don't
have to do all of the work yourself. You could assemble a team to work with you on the basis that they'd earn a percentage of the title's net profit, or if it's freeware, just offering the experience is sometimes enough to get people to work with you. My team currently consists of two programmers, three lead designers (two of whom have other jobs), a few 3D modelers, a few 2D artists, a foley artist, and a studio musician, most of whom live in the same city as me and all of whom are working for a basic 3% commission of the game's net profits on a bi-weekly basis. You might have the same resources at your fingertips without even realizing it! And if you don't, you do have the internet, which is your gateway to a plethora of talented individuals. Just keep in mind that you always have options. But if you decide to go with a team, albeit over the net or local (which is always preferable if it is available to you), keep these rules of thumb in mind:
A. Don't fuss with visions of grandure. You might truly love your game and expect 1 million+ sales, but in reality, you'd be pretty lucky to break 50,000.
B. Be professional, but not fool-hardy. Don't lead your team to believe they'll all become millionaires, but at the same time, make sure your team is properly organized and efficiently produces the assets your project needs.
C. Contracts! The worst thing in the world is to have people drop out at the last minute, or in the middle of your development cycle, or never show up at all. Make people sign contracts which assure that both (A) you'll pay them when money starts coming in, and (B) they'll provide the work that they're signing up to do in a timely fashion. If anyone tells you this is crap and won't work, tell them they're full of it because if it can work for me, it can definitely work for you
"Hell is an Irish Pub where it's St. Paddy's day all year long" ~ Christopher, The Sopranos