Hello there!  Chris here, back for another look at the inner workings of Blightmare’s development process.  Today I’ll be discussing the tools and processes that we use to make sure we can all work effectively and efficiently whenever we have time.  This is of particular importance for a small team, especially one that is spread across time zones.

The Blightmare team is 7 people in total.  Broken down into disciplines like this:

  • 2 Audio designers
  • 2 Artists/Level designers
  • 2 Programmers
  • 1 Production/Marketing/Business

Like any small team, we all wear many hats from time to time, but these are the roles that are our primary focus.

In terms of locality, we’re spread across 4 cities in 2 provinces which includes Pacific and Eastern time zones.  The team has had 3 children born during the project and 3 primary job changes.  All of these factors combine to make it rather challenging to find time to work synchronously together.  To tackle this and keep things moving, we have a weekly meeting where we go over what each of us has been working on and what we plan to work on for the next week.  We also spend that precious face time to talk about ideas for additions to the game or to really iron out parts of the design to make sure everyone is on the same page.  It is critical for each of us to be able to make decisions independently which move towards the shared vision so that we reduce the requirements of synchronous decision making.

We use several tools to facilitate communication and organization within the team.  Discord is used extensively to discuss and share development progress throughout the week.  We have several channels to try to organize the content a bit, but often conversation is more fluid and a chat about programming quickly morphs into art and programming or level design or even narrative.  To keep track of who is working on what, we use Jira.  Our tasks are very loosely collected into month long chunks and then further broken down by level.  Tasks that are not level specific, such as scripts or mechanics that are used in several levels, are bundled with the level in which they first appear.  Tasks flow in and out of the current month depending on what happens at the weekly meetings, and the month chunking only serves to reduce the working set of tasks to be considered at one time.

Storage and sharing of design documents, marketing materials, demo videos, and really any content that is not part of the game itself is handled through google drive.  At the moment, we have 56GB of data stored on our drive which gives a bit of a sense of how much we use it.

All that’s left now is the game assets!  Unfortunately, managing game assets is one of the more difficult tasks to solve efficiently.  Blightmare has been through 3 different version control systems in its lifetime, but I think we’ve found a good system now so it is very unlikely to change again.  Game assets have a few unique characteristics that make a single management scheme challenging:

  • Assets like code and some unity files need to be able to be changed by multiple people at the same time and then “merged” together, combining all the changes in an intelligent way.
  • Assets like audio files and images need to be efficiently stored so that our development machines don’t have significant hardware requirements.
  • All assets need to be versioned so that we can be free to experiment or roll back a mistake without fear.
  • We need to manage costs for the project in development.

There are offerings that excel at each of these bullet points in isolation, but few that manage all of them.  In particular, it is rather challenging to achieve a cost effective solution that offers a simple workflow for each person on the team.

The solutions we tried on Blightmare (in chronological order) are:

  • Unity Teams
  • Plastic SCM
  • Git + GitLFS hosted on GitHub

We’ve had good success with the last one after building some tools that simplify certain workflows and I will describe our experiences of each product in the second part of this post.  Stay tuned!

 

As always, please head over to Steam and add Blightmare to your wishlist so you can be sure not to miss it and follow us on Twitter to keep up with all our blog posts and other community information.  Thanks for reading!