If I had to name the two things about every single project ever that people struggle with, it’s getting started, and finishing. Once you get into doing something, continuing doesn’t seem to be too much of a problem for most people, but then they keep doing it without realizing that at some point, they should finish up instead of polishing infinitely. Whether you’re making games for fun or profit, it’s the same. A good example about this problem is this article in itself. I didn’t get into doing it until almost a week after deciding to do it. But after starting to write it, it did not take me longer than some hours. Spell-check and a thorough read to see if I had made any mistakes and there we go. Done and ready to be shared with you.
This article will hopefully give you some ideas and tips on the way how you can make sure that the next game project will be done from start to finish, and you can be proud of what you’ve achieved. This is aimed mainly for the indies who are looking forward to making a business off of making games, but can be good for hobbyist developers as well. Some of these things may seem obvious to some readers, but it’s good to remember that not everyone shares the same knowledge, and that repeating basics can be good, lest you forget them.
First off, they’re not projects
Ancestory, a turn-based strategic card game
The first thing you need to do when talking and thinking about your new game project is to stop considering it a “project”. Are you making a project, or are you making a game? A project is something intangible and doesn’t have the same kind of meaning to it than a game has. Back when I was studying game development at KUAS we were separated into teams for the sake of creating our games. I remember one group in particular, who were making a game called Ancestory. They released it on Steam afterwards and were pretty happy about themselves, as they should be. The game is amazing, especially for a student team!
But the interesting thing I noticed that I can’t remember them referring to it as their “course project”, “project”, or any other such name. Every time you’d hear them talk, they’d be talking about Ancestory. “We have added this feature into Ancestory” or “Ancestory is starting to look good”. It’s important to realize that they were in a mindset of making a game, which they wanted to wanted to release commercially. They had this as their goal from the start, which brings me to my next point…
Preparation is essential
You propably have had a great idea for a game at some point, have sat down, done something and then stopped doing it and just left it to gather dust on your hard drive. Passion projects, especially from artists like indie developers can flourish and grow, or left alone forever. Motivation and passion can be harsh mistresses, and are the perfect excuse to stop working on something. “I’m not feeling it” or “I don’t have the motivation right now” can be used to shift blame from yourself to something intangible.
To avoid this from happening, you need to have some discipline. The best way to get started with your game is to define it. You had a great idea about a guy named Steve killing Demons? Awesome! Now write down some basic stuff about it. Is it an FPS game? Cross-platform? Arena survival or level-based? This can be boring for some, but it is essential for being able to scope your project. As you scope your project, your mindset will shift from the vague artistic feelings of what to do into a more rigid, deterministic approach on how to create your game. This work will also be helpful for marketing your game in the future as you have gone through the process of basically creating an elevator pitch for yourself already.
“My game is about a dude shooting demons in space”
After you know what your game is all about, you need to define what’s your goal. Do you want to have it released on Steam? Playable for your own entertainment? Done during a game jam? Defining your ultimate goal is beneficial in the sense that it lets you make our decisions based off of that. “Will doing this help me reach my ultimate goal?” If yes, do it. If no, don’t. Asking yourself these questions will help you pace yourself and help you prioritize your tasks.
After you have decided what the final goal of the project is and begun to think on how to get there, you will start building a mountain of things to do before the game will be ready. Character models or sprites. Animations. Programming. Level design. And the list will go on. At some point you will propably realize things you didn’t give thought to before or had forgotten. What about the shotgun sound effect? Should I add controller support? The important thing to do is to decide for yourself what you want to do and most importantly write it down somewhere. Especially if you’re not working alone but as a group, you need to be able to look at something concrete that you all agreed on in case memory doesn’t serve, or there are disagreements.
Example of a tasklist for Combat Racers
There are a lot of good tools and working methods to help small teams and solo developers. For a simple tool, I’d recommend Trello or Google Drive to help you stay on top of what you have done, what you need to do and in what order.
After you have done all this work, you should have a pretty good idea what it is that you need to do for a finished game. If you have experience you most likely will have some estimate about how long it will take. However, even if you have no idea about how long some tasks will take, you must set yourself deadlines, milestones and important dates. Otherwise, you will lose the feeling of urgency, which will lead to procrastination and an unfinished game. A great routine is to accomplish at least one task daily, to ensure you won’t fall out of the working rhythm and need to get back into it again.
In addition, it is great to attend events and schedule milestones based around them. For example you might make the decision to create a playable build of your game and create a gameplay trailer so you could submit your game to the Indie Village at GameDev Days Estonia by March 12 so you can get the possibility of free tickets and to attend the event.
One of the most important things to realize is that you cannot spend forever on a single task, no matter how crucial it might seem. Starting a task and getting it underway is easy, but at a certain point, you will start to waste time on the task. Whether it’s playing around with a few pixels on a sprite or optimizing code for the Nth time, there will be a time when you need to stop polishing and decide it’s ready. That is one of the main reasons why deadlines are important. They force you to finish up.
When Combat Racers was almost finished, 90% or so, with everything that was left to do, including bug fixing, final balance revisions and the like. I remember there being a shift in attitude and the way work was done. Instead of finishing the game, features that had been marked as completed were slightly improved upon and I recall the words “we can just finish it up when we need to” being repeated a few times. This was disastrous as this spread in the whole team until there was basically no work being done anymore.
To counter this, we had to focus on finishing the game, for which purpose Gamedev Days Estonia 2016 was the perfect excuse. It gave us the necessary motivation, a good timeframe and a clear objective on what to do to bring our game to the ultimate goal of bringing it to Steam.
Testing the controllers at the booth before the conference.
To sum it up
When you are starting a project, get into a mindset that you’re making a game, not a project. Make sure to write down what your goal is for the game, and how you will achieve it. Set these tasks into smaller chunks for you to use as a guide in your development and find milestones that make sense for you, such as showcasing your progress at local IGDA gatherings and getting feedback at them. Finish what you start, don’t leave tasks “almost” completed, since that will lead to issues down the road.
In any case, I hope you enjoyed reading this, and that this will help you in your game development career. If you want to get In touch with me and discuss games or something else with me, you can send me an email at firstname.lastname@example.org, message me on my Twitter handle @Leevizer, or check out more info about the Game Development World Championship at our Facebook or Twitter.