Let me preface this information by saying that I have been developing and analyzing indie games for the past several years. I really went full steam when I arrived in Sydney, Australia and became an active member of the booming IGDA (International Game Developer Association) here. Due to most independent and international game studios shutting down there are simply more developers than there are jobs. The upside to this is that the monthly IGDA meet ups near triple digits, the game jams range between 100-200 participants, and there is a very creative, positive atmosphere.
While I've been working on titles over the past several years, my full-time job has been primarily teaching game development online. The following advice is for anyone considering glimpsing behind the curtain of indie game development.
1. Get your game on. "Surveying the scene is one of the first and most vital steps to gauging what like-minded professionals are creating and defining what you can do to be successful." Spend time playing other indie titles and get inspired. Looking at some finished games will give you a sense of what you’ll want to strive for. Notice the trend toward niche markets and retro fans. Try cutting time back from your Triple-A games if you are developing for indie. Many new students I've taught have unrealistic ideas for what is feasible. Anna Anthropy’s book, Rise of the Videogame Zinesters, offers a great overview of the modern indie game scene.
2. It’s dangerous to go alone. Take this. "Typically, programmers make ugly games. Likewise, game artists often have poor code or weak gameplay. Building a strong, diverse team is a necessary first step."
Game development isn’t a one-person process. It’s time to get used to working with people. Find a reliable, passionate team consisting of a capable artist, designer, producer, and programmer who share your burning desire to make games. It is wise to find diversity in skill; some of the best indie titles are made in small groups where each member holds a unique talent.
'Darkest Dungeon' - Red Hook Studios
3. Start small.
"A fun demo, a snippet of gameplay, or a level that is well-thought-out, fun, and aesthetically pleasing is a great jumping off point to pitch to places like PopCap or ArmorGames."
Keeping your ideas simple and tight can be challenging, especially if you’re working with limitless amounts of time. Game Jams are an excellent way to stress the team and develop some quick small-scale projects. If you have trouble finding some in your area, simply hold your own with a few mates.
Since becoming a developer, I've attended 17 Game Jams across the US and Australia (As of the writing of this post). Most of those titles lived and died over the week or two following the jams, but occasionally a really great idea would be born. The rapid prototyping atmosphere is a must if you are trying to find the fun. 4. Learn everything (even the stuff you hate). "As an indie developer, you'll need to know more and be confident in doing more than the standard industry professional. In small teams with less funding, no one will have the luxury of specializing. You'll be much more involved over a broader scope of development." Take some time to study art, business, color theory, marketing, programming, new platforms, new technology, new tools, sound, storytelling, UI design, etc. A good developer needs to be able to function outside of their comfort zone, and it takes a little courage and effort to accomplish this. Even if your team already has someone taking the reins in a particular area of development, it’s still important to provide help where possible. Your name is on the project, so give it everything you've got. 5. Take advantage of the free stuff. "Trying to write your own engine, even for experienced programmers can be a massive undertaking that can slow down a project in its vital early hours. Be sure to invest plenty of time in research to see what is worth spending money on, and what the team is most comfortable with creating themselves.”
As with every choice in life, there are pros and cons to each engine out there. To help you do your research, here's a list of game engines I see used often.
6. Commitment is a necessity. "Stay focused, stay on track, and don't detract from the main project or you'll wind up with nothing to show for months of effort."
It’s happened to the best of us: while working on a project, a new and exciting idea will spring up, and you’ll want to get started on it right away. This is where many amateur game developers make a fatal error and begin project-hopping. Finishing what you’ve started is a good habit to get into. If the current project is worth completing, then complete it before starting the new project. If the current project just isn’t working out and you feel a fresh idea could re-energize the team, then put the current project on the back burner. Whatever the decision is, it must be a serious, carefully considered one. Don’t let a poorly-formed idea derail months of hard work.
'Shelter 2' - Might and Delight 7. Risk-taking is a way of life. "You need to have faith in your product, but overselling yourself on a project can be very dangerous. It is often wise to work on games as a side project while still pursuing current employment early on, at least until your studio rises in popularity." As you’ll quickly discover, making indie games isn’t a traditional job, and it doesn’t always yield traditional perks (or paychecks). There is always a chance you won’t see results as big as the effort you’ve put in. Begin asking yourself how much risk you’re willing to accept for a project. Is it worth a second mortgage? Quitting your day job? Maybe it is, maybe it isn’t, but you must anticipate your own limits. Make sure that the possibility of rewards is worth the sacrifices. 8. Start at the beginning. When you reach the end…stop. "It is very important to schedule out deadlines and stick to them." Many projects become unwieldy when the industry-coined “feature creep” begins to set in. It’s OK to accept a small handful of innovations, but eventually, there comes a time to put new mechanics and ideas on ice; otherwise, projects will grow to colossal undertakings. Knowing when to stop will keep your projects from taking on a life of their own.