Have you ever thought about becoming an indie game developer? Has your game company just gone under, sick of working for publishers or do you just want to break into the games industry? Whatever the reason, one thing that rings true for all Indie developers is the goal of making a good game. A lot of friends in the games industry have recently made the decision to "go Indie". I thought I'd write up my guide to becoming an indie game developer taken from my experience and the experience of friends both starting out and with completed independent games.
Is it for you?
Indie game development isn't for everyone. The pay is low, you typically need a "day job" and you need to work extremely hard for little reward at the beginning. It's not all bad though as you are your own boss (and project manager), the monetary rewards can be higher and the reward of creating something of your own is overwhelming.
If you're passionate about making games then the negatives might seem inconsequential, however I'd recommend taking some time to think them through. You need to be well informed about how long indie games take to develop and you need to be realistic with the goals you set. My biggest advice is to talk to people who have done it before. These guys can tell you where the stumbling blocks are, and give you a realistic view into what life will be like once you take the plunge.
Set Concrete, Realistic Milestones
Many indie games are killed by a lack of interest after a few months or years of development. By keeping your goals realistic and achievable you are reducing the chances of failing in the worst way, by not completing the game. Always have one primary goal you are heading towards (e.g. alpha, beta, release). The primary goal should be made up of smaller, measurable goals (e.g. implementing level 5). Finally these smaller goals should be broken up into a constant "to do" list. If you have any spare time, you should know exactly what you should be working on next. This cuts down on procrastination and helps you have a clear direction for the coming days and weeks.
Find a Great Team!
Realistically, there are few games that can be created by a single person. Your team needs to cover all the bases - programming, design, art, audio, project management. Even if you have all these skills, having at least one other person will half the amount of work you have to do and double the number of people contributing to game ideas and "finding the fun".
Find people who are passionate about game development. Passion trumps ability when it comes to independent games. As long as the team member is good at their job, it's more important to find someone who's passionate then the very best in their field. The lack of short and medium term rewards from indie game development means the team will be rely on their passion to make it to the end-game.
Don't expect to "fill the gaps" at the end of a project by slotting someone in once everything else is done. You need a well rounded team from the outset so all areas of the game get enough love and attention.
Different people have differing levels of time they can invest. Work this out up-front and all agree on your level of commitment. Roughly schedule the entire game so everyone is area of expectations and can commit to the duration of the project.
Get a day job
Most people will need a "day job" to pay the bills while they live the dream of being an indie developer. Be careful if you plan on living off your savings as they disappear quickly, and there's nothing worse than having to go back to working full-time because you ran out of money.
Find the highest paid job you can, no matter how boring. Think of it as a short-term solution to the problem of funding your own indie game. You can probably find a higher paid job outside the games industry by looking at similar industry that also use your talents. Programmers can take on business contracts, artists can go freelance, designers can become technical writers and project managers can work on "normal" software projects. Use your imagination and focus on having as much time as possible to work on your game while still paying the bills.
Learn project management
Love it or hate it, project management needs to be done. Indie teams rarely have one person dedicated to project management, and so the task is shared throughout the team. This includes scheduling, planning and making sure they are met. A great way for people to lose focus and motivation is not have a clear plan for the project. Look at one of the many agile development methodologies (e.g. scrum) as a great way to keep from bogging down in project management.
There are plenty of great tools available to help with project management, here are a few I'd recommend looking at:
Be pragmatic in everything you do. Aiming for perfection will give you a great tech demo that no one will buy. People will pay for a great game, not great technology. Since working for myself I've stepped into what I call "Fanatical Pragmatism". Do the absolute minimum required to achieve your current goals without digging yourself into a corner.
Overestimate time and money
Everything always takes longer and costs more than you expect when you turn indie. All the indie developers I know have spent far more money and have taken over double the time they first expected. Constantly update schedules to keep a realistic target for your milestones. When the schedule starts to slip, be realistic and evaluate if everyone is happy continuing.My recommendation is to estimate how long the game will take to create and how much it will cost and multiply these values by three. Either you'll be happy working on the game for this long (and can afford to) or you need to cut back the scope of the game.
Make constant playable builds
Aim for a playable prototype as early as possible. It's difficult to be objective with your own game, so you need to reply on other people's opinions. Listen to their feedback and stop if your game is no good. There's no point spending months developing a game that's no good. Constantly create playable demos and show everyone you know.
Keep it small and watch feature creep
Keep the design tight and focussed. Find the fun parts first and build only what's necessary. You're an indie developer so people won't expect a AAA title. Aim for a lower price point and people's expectations will be lower. All the indie developers I've spoken to have had major feature creep causing their schedules to blow out. The smaller you can start your design out, and keep it that way, the more success your project will have. Your platform choice will help you keep things small...
Pick the right platform
The best choices for an indie developer are PC, iPhone and web. The specific choice comes down to risk versus reward. PC games are generally larger and therefore higher risk, however they also have a greater chance of making good money. Web games are particularly good for a first game, just don't expect to make much money.
There is a lot of debate at the moment about monetizing flash games and unfortunately the platform still seems a little too immature. People just aren't prepared to pay for a flash game. There are numerous ways around this (like micro-payments), LostGarden has a great series on this.
So this is a general list of things to prepare you for becoming an independent game developer. It's a long, slow slog, but it's worth the effort. By staying focussed and making intelligent decisions as you go you'll put yourself in a great position. Are you working on an indie game now, or would you like to? Leave your thoughts and experiences in the comments.
-- This is a repost from my blog, doolwind.com --