Managing Tasks Not the sexiest topic!! But on a big enough project it becomes utterly essential, even when you’re working solo. I think a lot of people use todo lists to provide a kind of sense of accomplishment or something, but I think this is wrong-headed. The goal of task management is to reduce uncertainty. When you sit down to work, you should have as much confidence as possible that what you are working on is the most important task. And when that’s done, the next thing on the list is the next most important. And so on. Here’s how we’ve been doing that on Overland, in case it helps! Disclaimer: I am an idiot who has never produced a project before and am just trying to keep my head above water most of the time. These “strats” have worked for us, but might be dumb still. They could easily be a bad fit for your project! Still, maybe a peek behind the scenes here will be helpful to some. Sort by Bang For Buck On Overland, our to-do list is sorted by output:input ratio, also known as “bang for buck”. The next thing on the to-do list is always the thing that adds the most to the game for the least amount of work. That doesn’t mean that task size necessarily goes from largest to smallest or anything, just that we are prioritizing low-hanging fruit and bottlenecks. Bottlenecks vary in difficulty and complexity, just like the low-hanging fruit, but aren’t just useful - they’re integral to the game’s functionality. Sometimes it means improving your animation code so that your artists and/or animators (often the same singular person) can get their content in-game and tested. Sometimes it means getting save+load working properly. These are essentially non-negotiable tasks that have to be done in order to ship a functioning game at all. Bottlenecks should be prioritized by necessity, not necessarily scope - even if you know you have to rewrite the UI, maybe it’s better to save that for later, when other bottlenecks have been cleared. Because bottlenecks have impossibly high “bang” value, their buck value almost doesn’t matter. Bottlenecks have to get fixed. It’s just a (very important) question of when. Low-hanging fruit are the easiest non-bottlenecks that make the game the most awesome. Sometimes it’s a big task that takes a week or more, but improves every single aspect of gameplay. Sometimes it’s a small task that only takes a few hours but improves several parts of the game that players see often. Sometimes it’s a medium-size task that makes sure that an infrequent but necessary part of the game works perfectly. The thing that these all have in common is that you get more out of these tasks than you put in. When a few hours of work beefs up every interaction, it’s usually an obvious candidate for prioritizing. We try to sort our tasks such that we hit a few bottlenecks, then work on low-hanging fruit until we have to hit the next bottleneck tasks. If you’ve built your list right you should start seeing diminishing returns - tasks will take more and more time for less and less obvious improvement in the project. This is a good thing, believe it or not! It means that if you run out of time and / or money, you’ll have the most important things done already. Don’t Sort Too Early, But Do Sort Often This process of prioritizing every possible thing left to do on your game or other project by trying to assess bang for buck etc kind of sucks, it can take hours or sometimes days. But at the end of the process you’ll have a to-do list that you can trust, that can guide you can give you confidence in your day-to-day work, which is kind of the whole goal of this process. Task lists are like game design docs - most effective when they’re reflecting a living project and a thoughtful process, not a static bible the team blindly follows forever. Games change over time, sometimes quickly. Tasks that were very costly to accomplish before might become trivial. Tasks that seemed like they might contribute a lot to the game might become less important over time. We try to review and “re-decide” the priority of Overland tasks at least once a month. It takes some time, but the gains in confidence when we sit down to work every day are more than worth it. One word of warning though - many projects have a phase of development, either in prototyping or pre-production or even the early stages of production, where trying to make a task list is … more an exercise in procrastination and comfort than really truly useful. At least for us, a task list became useful when we were able to write down every major task we had to do in every discipline in order to ship, or at least get close to it. It was maybe 500 task-like items. It took almost a week to sort and prioritize those tasks, but we’ve been iterating on that first draft since, and the cost is only a few hours per month. Any task list we tried to make before that was mostly either wishful thinking or a very short-term list for the next experimental feature. Collaborative Task Management We’ve been using Asana as our online task manager. I think I rely on it more than other team members, but at the very least it serves as a way for me to keep them up to date on my core engine progress and the sorts of bottlenecks I am trying to address next. For personal projects I still mostly rely on my moleskine or a .txt file, but with a distributed team, an online task manager has been super useful for us. I’ve been pleased with Asana because it lies somewhere between Trello and Jira when it comes to complexity, and that balance is pretty welcome for a team and project like Overland. I can create tasks and subtasks quickly and easily, sort them under headers by drag and drop, and assign them to other team members in seconds. I don’t have to worry too much about over-specifying, and use the subtasks field to step through a larger scale task step by step. It’s available from both of my development machines, and always there as a reference for the rest of the team. We don’t integrate it with github or slack right now, for our uses it seems like the bang for buck is not really worth it. Summary<ol>* bottleneck tasks are a question of when, not if

  • other tasks should be sorted by bang for buck
  • don’t bother until you know mostly what you need to ship
  • re-decide your entire task list at least once a month
  • find an online task manager with the right level of complexity

</ol>