I was asked on Twitter to write an article of advice for new indie game developers. Since my studio has still yet to release its first title—currently in its third year of development—I am not convinced that I am a good choice of an author for this subject. Nonetheless, I am interested in taking up the “challenge” and so today I want to give you what advice I can from my own personal experiences over the recent years.
Understanding Game Design Versus Game Development
I am a computer programmer, having started in 1993 at the age of eight. Programming is what I know best. And my childhood love of video games helped push me into programming, because I knew that games were made of code and somebody had to write that; so I thought that by learning programming I would learn what it takes to make games.
One of the most important things I hope you take away from my article is this: game design is truly its own field. Being a programmer, even one who understands game technologies, does not equate to being a game designer. There are people who are brilliant game designers but mediocre programmers, and vice versa. I believe the common association of game development with game design comes from the fact that programming seems to remain the most popular avenue of entry into the game industry. This was certainly the case a couple of decades ago, when arcades were at their height and consoles like the Atari 2600 and NES dominated homes. Game designers were almost always programmers because at the time games were not “large enough” to justify having people on teams dedicated solely to design. This is no longer true in the modern industry.
Yet indie game developers, typically limited in human resources, must often simultaneously take up the mantle of designer as well as developer. But again, I cannot stress how important it is to realize that very few of us are great at both; you need to understand and accept your limits. For example, my close friend and studio co-founder Jeff Crenshaw is a great programmer, but a brilliant game designer. Strive to find someone like that, a person you can bring onto your team who specializes in game design, as it is a complex domain and there is very little overlap in the skills of game development and game design.
Use Existing Tools Where You Can
On the subject of development, do not reinvent the wheel. This is an oft-repeated mantra is software development, and for good reason: time is of the essence, especially to indie developers (I will speak more of this later), so you do not want to waste time recreating technology which already exists. For example, my studio is using LÖVE for our engine; it is a free, open-source engine for 2D games. We would have gained nothing by spending the large amount of time it would have taken to create our own 2D engine from scratch. Using existing technologies lets us focus on creating new software and libraries for the specific needs of our own game.
I often see indie developers with the urge to create everything themselves. I will admit there is something admirable in that attitude. But it’s unrealistic at best, and more importantly it is a significant use of your time, one of the most precious commodities you’ll have.
Your Time and Personal Risks
As an indie developer you need to give serious thought to how your endeavor will affect your life, and to what extent you are willing to go to pursue your goal. A few years ago I quit a great job so that I could devote as much time as possible to building my game studio and creating the game we’re currently making. I will be blunt: if our game fails commercially, I am fucked.
Not everyone should be so extreme in such life decisions. But developing a game is an intensive and long-term process. So before beginning you must carefully consider how you will balance your time, how much you can spend on your game and how much it will affect everything else in your life. Having a steady job while working on your indie game is great because it affords you steady income and financial stability throughout, but it also limits the amount of time you can spend on your game; a danger in this situation, particularly if your day job is programming, is that you face burn-out: programming from “9-to-5” only to come home and keep programming puts you at risk of severe mental fatigue with regard to programming, which in turn can negatively impact your performance at your job and lead to issues there.
So you must put a lot of thought into how your desires to be an indie game developer can affect your life. And I don’t mean just how it can affect your day job. You also need to think about how it can affect your relationships with the people around you. And how it can affect your health. For example, I have spinocerebellar ataxia, a degenerative brain disease; my decision to dive into indie game development has negatively affected my health to some degree because I now spend less time on things like rehab. Obviously this is irresponsible behavior. But it goes back to my point about managing your time and life in general once you decide to commit to indie game development.
I believe all indie game developers inevitably face the issue of sacrifice during their initial endeavors. My choices are not models of responsible decision-making. But if you want to make an indie game you must give serious thought to what it’s going to cost you in terms of time, finances, health, relationships, and so on. Read about successful indie game developers and take careful note about the effects the experience had on their personal lives.
On that note….
Read Post-Mortems From Indie Game Developers
An invaluable source of knowledge exists in the form of post-mortems from indie game developers, regardless of their success. I strongly recommend you read any that you can find. Take note of the hurdles they faced during development with regard to both technology and personal, non-technical issues, like the kind I mentioned above. Use their writings as a means to help plan your own endeavor and to better understand the types of problems you will face.
Reading the work of indie game developers in general is useful. But I am stressing post-mortems here because I believe that it is after the completion of a game when the developer has the clearest, most accurate mental picture of the experience. And that puts them in a position to best describe the nuances of everything involved.
Make Your Game For Yourself, Not For Others
It goes without saying that all of us indie game developers want people to enjoy our work. However, I personally suggest that you try to worry about that as little as possible. In particular, do not spend tons of time worrying about how much players will enjoy or reject this-or-that aspect of your game.
Instead you should focus on making a game that you enjoy, that you have fun playing. I guarantee you that your tastes in preferences in games is not unique; whatever it is you enjoy, there are other gamers who enjoy the same. So do not let yourself become weighed down with concern over your potential audience. It is more valuable to focus on making your game fun for yourself. If you can do that then rest assured there are others out there who’ll enjoy it just as much as you do.
Or to put it another way: your most important audience is yourself. Selfishly design your game based on your own preferences, with the confidence that there will always be gamers who share your tastes.
Set Small Goals For a Sense of Progress
Personally one of the worst emotions for me is the feeling that I’m not making any progress or getting anything done. You can address this problem by making a detailed list of small goals to focus on through-out your entire development process. By creating small goals you can maintain the important sense of progress as you regularly check them off your todo list. This feeling of progress is, in my opinion, a crucial source of motivation—and you will need it. Every one of us faces a point in time where the initial motivation of wanting to create a cool game is no longer enough to keep us going. I think it is common for us indie developers to become overwhelmed by the enormity of the task we’ve taken onto our shoulders. By routinely setting and completing small goals you can maintain a feeling of constant progress that is invaluable in sustaining your motivation to keep going in the face of any adversities you will face.
And on that note….
And I mean everything. Any idea you have, no matter how small or seemingly insignificant or unrelated, write it down. If you use IRC, log everything. Keep every email you write about your game. You can never write too many notes.
This practice is crucial because you cannot predict what ideas will be good or bad, nor can you always determine how important any idea may be in the future. Keeping detailed notes on everything you do gives you an important wealth of resources which you can draw from any time you need inspiration, especially when you face the inevitable “writer’s block” equivalent of game development. That random, spur of the moment idea you have at two in the morning while your half-asleep could turn out to be a defining feature for your project.
So document everything you can. And when you finish your game all of those notes will be invaluable in helping you reflect on the good and bad of the entire experience, what you can do differently next time, where your strengths and weaknesses are, and so forth.
Finally, Strive For Optimism
All of us indie game developers face unexpected set-backs and problems. Just accept that it’s going to happen. Because doing so will help you to remain optimistic, and that’s a positive attitude you will need for success. Whatever challenges you run into will not be firsts; other indie game developers have already encountered them and succeeded nonetheless. Try to always keep that in mind so as to diminish the size of the hurdles you will face. Again, this is another reason why reading the post-mortems of other indie game developers will help you, because you will see how they overcame the walls you’ll run up against.
Indie game development is hard, in more ways than I could ever describe. But every single one of the problems you’ll face can be overcome. Burn that into your memory and never let yourself forget that fact. Optimism is perhaps the greatest tool you will have at your disposal. Let nothing deter you from that attitude. If you can do that, I promise you will succeed.
I hope some of this advice helps. And to all other indie game developers out there, I sincerely wish you the best. Ours is a hard task, but one which we can conquer. Never lose sight of that idea because it will carry you through all the hardships you will undoubtedly face along the way.
I would say “good luck”, but luck is irrelevant. Personal perseverance is the key. So to all of you: keep your optimism high and you will persevere and succeed as indie game developers.