Saving yourself with iterative Game Development

Ever tried this? Planning out your entire gamedev project – at once. In every little detail.

I tried doing so – with Hack n Plan. I laid out the entire array of features as detailed as I could. It was nice in that it helped me how large it will become.
However: It did not work out at all for me. After a while, I found myself overwhelmed by the volume of tasks I’ve set up and ended up demotivated enough to never touch that Hack n Plan project again. User error doesn’t make the tool bad, however.

So what was the problem here?

First off, planning way ahead. Doing so I’ve put constraints onto myself by planning tasks before knowing the tech I’m going to use, implementation details etc.

Second, interconnected with the first, my motivation hit a low due to detailed and seemingly endless todo-lists. If I don’t clean up and if these lists grow too large, this is what happens in my head:

Out of 1000 important tasks let’s pick the least important one because fuck progress!

There is SO MUCH to do!

Where the hell am I going to even start, oh my god, oh my god

Before I work this long list, let’s take a look at this game I haven’t played in forever!

 
In other words: developer meltdowns are BAD.

Solutions for these problems

There are two things you can do about that:

  1. Game development, just like software development, must be agile and iterative in order to succeed. That means you have to respond quickly to changes, new requirements, new tech.
  2. Trick yourself into working and getting comfortable with what you are doing. That means, getting rid of all things that’s preventing you from doing it: tuning down on the “lazyness threshold”; fostering a habit that comfortably enables you to get shit done. Like, going to the gym that just happens to be on your way home when calling it a day.

The 5-Step-Iterative Plan

With those two approaches in mind, you can use this 5-step-iterative approach:

  1. Evaluate
  2. Structure
  3. Implement
  4. Take Notes
  5. Repeat

How does it work?

Evaluate the current state of your project: find out what bugs exist and what still needs work.


Structure the current iteration. Create a todo list consisting roughly of 10% new features, 30% extending existing features or improving user experience and 60% bug fixes. If you have a list from step 5 in a previous iteration, use that list as basis for bug fixes and extensions. New features should be a lower priority; if they are “spontaneous features”: Get rid of them. NOW. KILL IT WITH FIRE.

Ensure the extensions/features/bugfixes are meaningful and leading you to your goal; which is finishing your game in time – NOT playing with your game mechanics until it’s perfect which it will never be.


Implement the todo list. Do it blindly and do not think much doing so. While implementing, take notes for the next iteration:

  • Bugs
  • Issues
  • UX improvements
  • Code refactoring

Avoid adding new features to this list AT ALL COSTS


Repeat.


How can you implement that into your work flow?

I’ve started to treat the changelog as my todo list when I am in step 2 (Structure). I will take notes there to solve problems or figure out how to implement or improve features. When I’m done implementing a feature, I remove the implementation notes and reword the feature for normal folk (gamers) to read and understand.

For step 3 and 4, taking notes while implementing, I have started to use a separate text file for bugs and issues I encounter in this iteration. I keep this one separate from ideas for features. The file with ideas is the most spontaneous one and consequently its priority should be very low to zero.

So I don’t lose track of what was done, these three files are included in my git repository and are regularly committed.

All these measures help me control the flow of features into my game. Ever since I’ve been applying this I haven’t implemented new ones – most of what I do right now is improving the user experience. It seems to work well – or at the very least: better. 🙂


Know a technique to increase your productivity? Know ways to conquer your inner lazy demons? Share your story in the comments or hook me up on twitter!


Links

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s