So You Want to Be an Indie Game Developer?
First off, enjoying the playing videogames is not the same as making them. Seems pretty obvious, but you'd be surprised at how many people assume that just because they like to play videogames, they'd also enjoy making them. If anything, deciding to make videogames will actually cut into your time playing them, at least until you've made it big and have enough money to turn game development into your full-time career.
Making games is not about the sudden burst of inspiration and brilliant ideas. Oh, don't get me wrong - you'll get those too (and if you don't, game development might not be for you), but they account for a relatively small percentage of your game development time. The vast majority of your time will be spent slowly constructing the game, whether that's by writing line after line of code, drawing sprite after sprite, composing song after song, or any of the other tasks that needs to be performed to have an actual game. While having a completed game is rewarding and fun, the process itself also involves a lot of tedium and frustration along the way.
Start small and work your way up. When you're just starting off, you're not good enough to make your dream game. For that matter, you might not be good enough to make a game that someone will be willing to buy. Doesn't matter. The time you spend now making Text Adventure Game Extreme! or The New Adventures of Bootleg Pac-Man is time that you'll be learning your craft so that you can make your dream games eventually. It is also crucial to see a project through to completion - even with a simpler game, the experience you gain from finishing a project teaches invaluable lessons on how to proceed with more ambitious games.
You're probably not going to make much if any money at first. Don't let it discourage you. When you see a successful indie developer, chances are they made several games before they had their big hit. The successful indie developers are the ones who don't stop when they hit a setback.
Learn from your mistakes. When you release a game and it doesn't do as well as you expected, figure out why. Maybe the gameplay was good but the amateurish graphics scared people off. Maybe it was too similar to another game. Maybe you released it on the wrong platform. Maybe the price was wrong. Figure out what you did wrong and how you can improve in that area so that you don't make the same mistake next time.
Before you make a game, plan out the game's scope. Individual features will often change as you come up with new ideas or discover that old ideas don't work out as well as you thought, but if you have an idea of the general scope of your game, you can avoid it turning into a project that's beyond your time and abilities. Perhaps the number one killer of indie game projects is feature creep.
Don't do it alone. A few people are multi-talented geniuses and can make a fantastic game all by themselves. Most of us are not. Once you have some small confidence in your talents, find someone or a group that can compliment your strengths and make up for your weaknesses. Share ideas, insight, and progress - this will help keep everyone motivated. Motivation and momentum are absolutely crucial.
Make games that people will want to buy. It's not enough to just make good games. Your games need to be different enough from what else is out there that people will want to buy your games instead of the alternative. Remember, you're not just competing against other indie games, you're competing against big blockbuster games, older classics, and in short, everything out there. You need a unique hook, in gameplay, concept, execution, or whatever - if you don't, then why go for your game over someone else's?
Seek feedback especially before but also after release. Don't become defensive when someone offers criticism. Analyze the complaint and see if it's valid. If several people have the same complaint, it's probably valid.
Spread the word. You can have the best and most original game in the world but if no one knows about it, it won't sell. Create a list with media contacts to send news and free copies of your game to. Become an active user on various forums or where people who might like your game gather. Create a website, a twitter, a facebook, and other forms of social media for your company.
Be nice. If you're nice, people will help you to succeed. If you're nice and your games are good, people will buy your games. If you're not nice, they'll just pirate them.
Start now. You're never too young or too old to begin game development. The sooner you begin, the sooner you'll gain the skills necessary for you to eventually make the best game ever!