Project Management, and other stuff solo devs forget to do (+May/June/July Recap)

I skipped the last 2-month recap (because I wanted to), so now it’s a 3-month recap, and there’s plenty of recapitulating to do, so in the ever so eloquent words of chief engineer John Raymond Arnold: “Hold on to your butts!”

While designing my AI Behaviour system (and after watching this video 3 times: Game Architecture with Scriptable Objects), I gained a MUCH better understanding of how to build game architecture with Unity’s Scriptable Objects. As a result, I needed to go back over everything I’ve done and rebuild it using my new understanding of game architecture. No small task, but one I assumed would come…

See, I tend to do everything 3 times. I call it the 3 little pigs method–Okay, I’ve never actually called it that before right now, but the idea’s there: the 1st build is weak and flimsy, the 2nd is a little more reasonable but is lacking in architecture, and then… BOOM! 3rd time’s a charm! So, without further ado, here are some of the ways I’ve begun to build the brick house that will become Stonewood Games’ game tools:

By far the biggest change I’ve made is that I hired a project manager – myself. I’m already the programmer, designer, artist, writer, etc. I figured I might as well manage the damn project. A while back I created a project in this great project management platform, Taiga.io but had never quite understood how to use it, which is silly, because it’s really pretty easy. Basically, everything I’ll ever need to do is in the backlog, and every 2 weeks, I choose what things I’m gonna do, and then I do them (called a ‘sprint’). There’s a little (but not much) more to it than that, but it has increased my productivity like whoa.

(I have made my Taiga project public, so feel free to have a look: Elle/Backlog)

Since I knew I was beginning a much more ‘final’ version, I also decided to set myself up with every good programming habit I could think of (As a solo dev, it’s really easy to overlook/ignore these types of things until you’ve got yourself into all kinds of bad habits):

  • I’ve started using real source control (Git). (I know, I know. It really is blasphemy that I wasn’t before. I have repented and made my peace.)
  • I’ve started putting my name and date at the top of every script.
  • I’ve started using custom namespaces to keep all of my systems organized.
  • and last, but not least, I’ve started using code summaries and editor tooltips EVERYWHERE. (In fact, at the end of each sprint, I go back through all the code I’ve written and just fill that shit in.)

 

A lot of these things might seem small or inconsequential, but there are honestly so many tiny, subtle ways these things increase productivity, I couldn’t begin to explain to you why it works as well as it does.

As a small example, though: starting to code a new system is often the kind of thing your brain will try to avoid/procrastinate your way out of, but when the first step is just to sit down, create the folder, create the script file, type your name and the date -essentially do a bunch of stuff that requires no brainpower, it makes it really easy to get started, which, as you’re probably aware, is always the hardest part.

 

Okay great, I learned work habits. Now what did I accomplish in the last 3 months?

This post is already long enough, so I might go over these systems in more detail in the future, but here’s what I’ve been doing for the past 3 months:

Event System
Input System
3rd-person Camera Controller
Movement Controller
Inventory/Equipment System
Interaction System
Stats/Attributes System
Object Pooling System
AI Systems
Navigation Controller
Projectile Controller
Time/Clock System

Each system is modular, extendable, flexible, and most importantly: easy to use. They are designed with a Lego-like building-block architecture to make it easy for non-programmers to build games.

 

Follow Stonewood Games’ journey!

@StonewoodGames

Facebook.com/StonewoodGames

Instagram.com/StonewoodGames

Stonewood Games Taiga Project

Leave a comment