We've all been there; the last part of any project can be the hardest part. Tom Cargill said "The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time". When making games it can sometimes feel like your project will take super human strength to complete. While the last 10% of your project can be a struggle, it doesn't always have to be. In this post I'll cover some of my own strategies to stay motivated, focused and ship a game on time.
Starting From Scratch
Before we talk about the end of a project, let's talk a little bit about starting one from scratch. When I used to paint I found the hardest part was just getting started. I would look at a blank canvas for hours waiting until it to told me what to do. It never did. That’s why it’s up to you to motivate yourself when you start a new project. It’s important to have a plan before you build any game. Just like you wouldn’t build a house without a blue print you should have some details on what you are going to build.
To get started, I suggest creating a GDD (Game Design Document). If you are a sole developer, a GDD doesn't have to be pages upon pages of intricate detail about the game. It's ok to be fluid in your design, just make sure you have some description of what you actually plan on building. That's why I suggest going with something a little simpler like Javi Cepa’s (@JaviCepa) 1 page GDD. It’s a great way to sketch out a simple game idea and remove the anxiety of the blank canvas to help you find direction.
Be Creative Every Day With 30 Minute Code Warm-Ups
Even if you have your game started, or you are just getting started, you’ll need a way to stay motivated. Going back to my years of fine art training I remember my mentor always made me do 30 minutes of drawing before I even touched a canvas. It was a great time to clear my mind and wake it up. I’ve used the same technique for coding over the years and call it Code Warm Up.
The basic idea of a Code Warm Up is to spend at least 30 minutes of the beginning of your day just coding. It doesn’t have to be anything you plan on keeping or incorporating into your own game. It could simply be an idea you had the night before or a particular game mechanic you’ve always wanted to try building. What ever you create during this time is temporary and in the moment. When you finish you can go back and clean it up or just scrap it. I keep all my experiments in a folder to go back to for inspiration when I am having trouble finding it.
The Pomodoro Technique
The day to day management of staying focused during a long project can be especially daunting. I’ve tried several techniques over the years to work with the ups and downs of my focus. It's also critical for me quickly motivate myself to code in the short windows of time I have between meetings, travel and family. For the past few years I’ve been having great success with the Pomodoro Technique.
The Pomodoro Technique focuses on setting a timer for 25 minute with a 5 minute break in-between. You can alter this to your own liking as well. I like to also take longer 15-minute break every 3 breaks. These short breaks force me to get out of my chair and stretch as well as pressure me to come up with a quick solution to a problem as I see the counter getting close to break time. I am even using this technique to write this post. I use it throughout the day to block off my time into more focused tasks which are not as much fun as making the game itself.
To Be Continued
In part two we’ll talk about when to take breaks from your game, keeping track of tasks and sharing your project with others to stay motivated and focused.
Looking for more resources on game design? Check out the following posts:
Part 1 - Picking a Framework
Part 2 - Game Design 101
Part 3 - Creating Artwork and Sounds
Part 4 - Polishing Your Game
Part 5 - Publishing and Marketing Your Game
-Jesse Freeman (@jessefreeman)