One of the many issues an indie developer must deal with is motivation. There are so many distractions and responsibilities vying for your attention that it's often difficult to stay on task, especially when working alone.

    In this entry I'm going to talk about a few key techniques you can use to stay focused and on task over the long haul.

    Hold Yourself Accountable

    The absolute, hands down most useful piece of advice I can offer you is this: hold yourself accountable. Being independent means being your own boss, and part of that is knowing when you're are at work or are slacking off.

    The easiest way to do this is to track when you "clock in" and "clock out" of work. I know, I know, you're working by yourself, for yourself, so clocking in might seem a bit silly. It's not. It's actually one of the best things you can do to stay motivated. Not only does it provide a simple metric by which you can measure your performance and focus, but it also provides a clear psychological seperation of "work time" and "play time". Knowing that you're on the clock can provide a powerful barrier against outside distractions, helping immensely with short-term attention.

    Now, one of the benefits of working for yourself is that you can have a more flexible schedule, and clocking in and out each day might seem to ruin that. It doesn't! Keep in mind that you can clock in and out as much as you need. In fact, it helps a lot if you clock out when you're starting to feel too distracted to continue. Taking short breaks is great for rejuvenating your attention span.

    So, what's the point of all this timekeeping? Like I said above, it's to hold yourself accountable. Once you have this data, it's a lot easier to set work-related goals or to keep watch for warning signs about slipping and burnout. How many hours a week do you work on your project?

    Tasks, not Goals

    Another important motivational tool is to focus on tasks, not goals. A goal is vague, undefined target-- for me it usually looks something like "add combat" or "implement crafting system". These might be the overarching goals I'm working towards at a given time, but they're not very useful from a motivational standpoint.

    It's much more useful to break down these goals into specific, actionable tasks. Where "implement crafting system" doesn't really tell you anything about exactly what you need to do next, tasks are things that you know how to do immediately after reading them. So instead of writing "add combat", you put down a specific task like "make motorcycles explode on wall collision". If you have an idea about what you want to do, but not how, you write down something like "research collision detection".

    Once you have tasks, it's important that you keep track of them. This is where tradiational tools like post-it notes and whiteboards come in handy, although more modern methods such as Trello are also very good. It's incredibly motivating to be able to cross out or check off tasks that you've finished, and because tasks are small, you'll be crossing off a lot of them.

    If you keep a log of your tasks (I use photographs of my whiteboard), it's easy to track your progress over the week. You look at what you've done and go "Oh, I added SPF records to my domain's DNS entry, I built this moddable asset system, integrated it with my XML loading, and did some thinking about how I can apply the same concepts to procedurally generated content." And that helps you feel better.

    Do your Dailies

    Having a set of recurring daily tasks is dynamite for motivation. It gives you something you can check off, over and over again, and is great for getting in the right mindset to work on the more difficult things.

    Setting up some recurring tasks is easy- just pick a few easy, lightweight things that require little effort but that you need to do a ton of. For me, this is designing a spaceship part blockout in blender and writing down a plot idea. It might just as easily be adding an attack spell or drawing an item icon.

    The idea is to choose something that doesn't take a huge chunk of time- for me, neither of my dailies takes more than five minutes apiece, but I've made a commitment to do them every day. And then once they're done, I'm primed for work so I check my whiteboard and move on to something else.

    Deadlines are Limits, not Laws

    Deadlines are a bit of a double-edged sword. When they work, they're excellent motivational tools that can keep you focused and on task. When you've started to miss one or two they can quickly become a morale-killer, capable of sapping your will to work. Don't let them.

    Gamedev deadlines are really difficult to get right, because you usually don't have all the information you'd need to pick an accurate deadline until after the task is already complete.

    The best way I've found to approach deadlines is to treat them as way of limiting time spent on a task. So, when I set a deadline, what I'm really doing is saying to myself, "I want to spend about two weeks on this project."

    If I fail to meet the deadline, and I've been putting in the hours on it, then it's time to re-evalutate whether or not I need this feature in the project. If I decide I do need it, I extend the deadline- if I decide I don't, then I spend a bit of time taking what I can from what's completed before moving on. This seems to avoid the problem I've had in the past, when missing a deadline could derail motivation for quite some time.

    Conclusion

    These are the main techniques I've been using to stay focused on my project, Starlight Revolution, this year. As I find new techniques that work for me I'll be adding them here. Everything in here is based upon my own experience, and the techniques that work best for me might not work best for you... but I do believe that they all have value.

    The most important takeaway I can give you from this article is to keep track of what works for you and what doesn't. Track the hours you spend on a project. Heck, track the things that distract you (I use ManicTime to do this). The more data you have, the better decisions you can make.

    --Jeck

    Discuss this article in the comments.