5 Tips for Indie Game Development
1. Just Do It
You don't need any special skills, training, experience, or endorsements to be a game developer. You don't need permission. You are a game developer when you start making games. You can make games right now! Make word games or observational games to play in the car. Make pencil & paper games like Tic-Tac-Toe. Buy some large paper, index cards, and colored glass stones and make some new tabletop board games and card games. Start learning programming if you haven't yet. Then make games every step of the way with whatever technology you're messing with at the time. The more games you make of any type, the more of a feel for games you get, the more insights you have, the more cool ideas start flowing.
2. Start Small
The first few projects started by many game developers are far too ambitious. It's partly wanting to make "real" games, not baby stuff, and to make a big splash and find financial success with the first project. But you just can't compensate for experience with enthusiasm - enthusiasm is great and definitely necessary, but aim it in a direction where you can get something finished and out the door within a few months (or weeks if you can manage). It will feel good to get something out, you'll learn a lot, and you'll be able to make a more advanced and better-designed game in the same amount of time the next time around. Besides, some of the most popular games in history have been really simple: Tetris, Bejeweled, Flight Control, Angry Birds. By the way Angry Birds was Rovio's 52nd game and Flight Control was just a side project for Firemint while they worked on Real Racing.
3. Every Game Needs An Owner
Game production by committee just doesn't work well in my experience. Every ship needs a captain and every project needs someone to own it, manage it, make final decisions, and ultimately be responsible for its completion - a Lead Developer. The project can still be a collaborative effort, everyone can still receive equal compensation, people can own various aspects of the game (including game design, programming, level design, and art), and different people can take the lead on different projects. But someone needs to step up and say: "Here's a game I want to make. Will you join my team?"
4. Talk Is Cheap
Like bands, many game developers are moonlighting trying to get something going. And like bands, unfortunately, many of the people that are initially eager to join just won't make the cut. Not that there's a super high bar - you just need to be a good communicator and reliably produce solid work, but I've seen plenty of people who say they want to do gamedev but just never find the time to actually get things done. This is another good reason to work on small projects to start with - get to know your teammates, what they're capable of, and have a project you can finish yourself if everyone else bails.
5. Avoid Royalty Sharing
It's common for indie devs to want to do a royalty sharing agreement because nobody has any money and everyone wants a piece of the pie if a game is a big hit. And in fact we have some effective royalty-based partnerships at Plasmaworks/Castle Arcadium. But I believe that in general it's better if you can pay or get paid in cash because royalty shares are a double-edged sword - with shared ownership comes shared responsibility and obligation.
Say that I make a deal where I will program a game for 50% of the royalties. Sounds great. I program it and do a great job and we publish it - but it's not very successful. My partners say "oh hey, I bet with X changes it'll be a big hit". Now I'm in a difficult spot: I want to move on and do something else more lucrative, but I'm kind of obligated to go back and do more work on this albatross. Or alternately it WAS successful and then sales dwindle off but it's still generating a modest amount of revenue. A new version of iOS comes out a breaks the game, requiring a couple of weeks of work to re-engineer something that is now against Apple policy. I'm heavily involved in something else. Do I let my current project team down to switch to the old one or do I abandon my old partners? Or even better: I promised to split the royalties 50/50 with another programmer. They program 1/4 of what they need to and then disappear of the radar. Do I still owe them 50% if I finish the game myself?
I think the rule of thumb for experienced devs (and the industry as a whole) is: you either have money and you call the shots and the project succeeds or fails based on your own leadership, OR you are a hired gun who gets paid to do good work with no long-term commitment to the project required. If you don't have any money, be a hired gun for a while, get some, and then start your own game project!
See also: 13 Game Design Tips