I think most of the honest people here 30 or younger will say they got into programming in some part due to videogames. These days, it seems more viable than it used to, with the various routes for self-publishing available through the Xbox Live marketplace and the app markets.
After seven years of doing much less interesting varieties of programming at work while making silly JS games at home - my urge to actually make videogames is stronger now than ever. So, I took action. I downloaded the XNA Toolkit and banged out a basic pong clone in an hour to start off with and moved forward from there. Coincidentally I happen to be friends with an amazing musician who was more than happy to provide me with music and a great artist to provide me with graphics. Fast forward to today and I've got a game that I can feasibly see myself releasing this week.
I want to keep doing this and would love if I could start doing it full time; it's been a blast. I'd like to do this full time but like most people, I'm not independently wealthy quite yet. I still have to feed myself. So, all of that is to say, has anyone here tackled the same endeavor and succeeded? Are there people who fund games other than the big successful videogame companies perpetuating themselves or does everyone find success on the side then keep going? Certain platforms sell better than others (I've heard Steam's much better than the Xbox 360 market)? Any hurdles to watch out for?
* Make sure you focus on the company aspect of things. Why are you making games? If the answer isn't 'to make money' you're doing it wrong - make them as a hobby instead. Starting a video game company because you have great game ideas, or because making games is something you love to do is a bad, bad idea. The reason for this is that at the end of the day, if you don't focus on the financial aspect of things, your company.will.fail. Most game companies fail because they're living month to month off of publisher's paychecks without trying to establish revenue streams of their own (other than royalties).
* Speaking of royalties. If you're getting funding through a video game publisher, make sure you understand how the payout will happen, how your advance is being payed off, etc. You probably won't have much negotiating power here, and this isn't really a route I'd recommend unless you _really_ need the funding.
* Start small, don't try to make a game engine right out of the gate. Put something simple together and iterate on it. If it turns out you're making a lot of the same type of game over and over, then think about abstracting an engine out of it.
* Reconcile the awesome game that's in your head, with the awesome game you can make given the time and resources available. Don't overcommit, you'll just end up implicitly cutting features instead of explicitly cutting them, and the game will suffer.
* Don't forget about the importance of marketing and timing. Great games fail _all the time_ because they weren't marketed well, or because they released and then got buried by the latest AAA or hyped up title.