I've heard this question hundreds of times, both on Twitter and in person. Motivation is one of the biggest common problems for solo indie game devs. If there's no one beside you to cheer you along, it can be really hard to keep going.
In general - the first and best course of action is to find people who will cheer for you. Tell your friends or family what you're working on, and show them your excitement so that they'll share it. Join an indie game dev community, either local or on the Internet, and cheer on their successes as they cheer on yours. This is a fantastic way to find support, and knowing that people are excited about your work is incredibly motivating.
Unfortunately, this isn't always possible. Some game devs are working on projects too secret or personal to discuss. Some game devs are battling anxiety or depression. Some game devs are isolated by unsafe home situations. Some game devs just don't click with the communities available to them. These game devs may not be able to tell people about their work, or may be unable to receive support from their available communities.
How can you stay motivated if the only one who knows about your hard work is you?
Projects are tough, but it feels so good when you finish them!— Yayfrens Bot (@yayfrens) June 8, 2015
For these purposes, a "goal" is a task with an associated deadline.
Setting a goal means deciding what the task is, and when you're going to have it done by.
Completing a goal means completing that task by the time you decided you would.
When you're your only cheerleader, it's important to have something to cheer about. Goal completion will give you a sense of accomplishment, and it moves the project forward, too.
Look! A whole new day! I can't wait to see what you'll do with it.— Yayfrens Bot (@yayfrens) June 1, 2015
Big goals - "all the art is in the game", "all the levels are designed", "everything has sound effects" - are fantastic, but by definition, they're spaced far and few between. (After all, "make this game" is the biggest goal of all.)
Give yourself easy wins by breaking big goals down into little goals. The momentum of small successes will help you pull off the big one. For example:
Personally, I like goals that are about half a day to two days big. It keeps my brain properly happy that I'm accomplishing things, but it doesn't add too much overhead to my day.
If you're having a hard day, remember that you can do this because you're amazing!— Yayfrens Bot (@yayfrens) June 3, 2015
When I'm working solo, I am my entire team. It means that my output is confined to what I can accomplish with X amount of time, Y amount of money, and - often most critically - Z amount of energy.
If I hold myself responsible for spending Z+8 energy on my game dev project when I only have Z available, then I've set my entire team up to lose. I shouldn't be trying to match the output of Failbetter, Telltale, or Bethesda, because I'm not a full-size studio. I'm just me.
How do you figure out what's appropriate for you? I suggest starting with goals that are too low, and then moving the needle slowly up until you find the point of resistance. Here's one way.
Sometimes, this means you'll increase your expectations. Sometimes, you'll decrease them instead. Either way, it's okay! This is just a calibration exercise. If you get the information you need, that's the important part.
I bet you've accomplished something great already today. — Yayfrens Bot (@yayfrens) May 28, 2015
Scope creep is what happens when you add new features to a project in progress.
"Oh, wouldn't it be awesome if -"
It might! It really might. But keep in mind that everything you add will cost you some combination of time, energy, and money.
The more features you add, the harder it will be to complete the game. Whenever you add more features to a project in development, you're moving the goalposts. That isn't fair to your team, no matter what size your team is.
That isn't to say that you won't need new features. You will. There will be things you haven't considered, and new problems will crop up, and you'll get complaints in playtesting, and you'll have to adjust the design. That's just how game dev goes.
But in that moment of "Oh, wouldn't it be awesome if - " take a step back and consider your idea in terms of time, energy, and money. Be possessive of your resources. Don't add any new feature unless you're sure it's worth the cost to your hardworking team of you.
Motivation comes and goes, but please look back at the things you have done and be proud. — Yayfrens Bot (@yayfrens) June 7, 2015
Documentation will help you see what you've accomplished. It's the counter to breaking down tasks: if you go the other way, you can build small successes into medium-sized successes into enormous successes. Then you can look at your enormous successes and understand what a fantastic job you're doing.
On Monday morning, it's difficult for me to remember what I did last Thursday, let alone two weeks ago. Fortunately, paper doesn't forget.
My personal approach starts with a daily log, which lives in a notebook on my desk. I set one or two goals in the morning, I note whether I made them or not, and I write down anything else I do that's work-related. The daily logs are not impressive.
Every Monday, I convert the last week's daily logs into a weekly digital log. That gives me a list of ten accomplishments or so from the prior week (plus whatever else I added along the way), and the weekly logs are impressive. It's a reliable mood booster - look how much I got done last week! - and it helps me feel positive about the coming week.
And if I did have a bad week (trust me, it happens!), then I can scroll back to see the week before that, or the week before that. I have proof that good weeks exist, and I can wave that proof at my doubts until they scurry away.
Things may be hard right now, but they'll get better. I promise. — Yayfrens Bot (@yayfrens) June 4, 2015
Sometimes, everything goes so smoothly that it feels like the game is writing itself. It's glorious.
But sometimes, everything crashes and burns. I hit the end of my week and realize that I've completed half a goal... maybe... if I fudge my original goal.
It's really tempting to wad the bad weeks up and toss them away. But it's helpful to figure out what happened first, because maybe you can prevent it from happening next time.
Sometimes, you can't. If the answer is "family crisis" or "friend in hospital" or "sick for three days" - there's nothing to do but give yourself a hug and try again next week. And that's the right course of action.
But sometimes you can prevent it next time - either by changing the plan (example: "It took forever to draw this monster, so I'm going to palette-shift five monsters instead of drawing fifty unique monsters.") or by changing the process (example: "I had a massive slowdown because I didn't understand this technology, so I'm going to document research tasks separately from coding tasks in the future.")
In cases like those, a little reflection now can save a lot of heartache down the line.
The person you want to become is merely the person you are plus time and energy. You can do it. — Yayfrens Bot (@yayfrens) June 7, 2015
When you work on a game, you're not just making a game. You're gaining skills, knowledge, and experience. These will be valuable not only for this game, but for all your future games, and perhaps for non-game projects as well.
Sometimes you'll be struggling to understand something new. That can be really frustrating and overwhelming. (I wrote about this back in December.) But struggling means you're learning - and that alone deserves pride. Learning is hard!
And if you struggle long enough with something, a day will come when you're not struggling any more, and a day after that when it's effortless. Then you can look back and say "Wow. Was I really having all that trouble just three (weeks/months/years) ago?" and feel incredibly pleased with yourself.
It's true that you only live once, but a life of self-care is a happier one. — Yayfrens Bot (@yayfrens) June 6, 2015
A mistreated car will eventually break down. A mistreated game dev will do the same thing. Make a priority out of taking care of yourself, physically, mentally, and emotionally.
What this means will vary from person to person, but some things worth examining are:
If you're in a bad space - too tired, too hungry, too upset, too unable to work on a bus - you won't be able to work effectively. Give yourself permission to stop working, and don't start again until you've resolved the problem - whether that means taking a nap, getting a snack, having a good cry, or reading until the bus ride is over.
Treating yourself well won't necessarily increase your motivation to work, but treating yourself poorly can decrease your motivation, and it will definitely decrease your productivity.
And besides, you're a game dev! That's amazing, and impressive, and difficult, and you deserve to be treated with kindness and respect.
Take care of your team. When it's just you, you're all you've got.
It can be hard to get started, can't it? That's okay, you got this. — Yayfrens Bot (@yayfrens) June 8, 2015