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:
(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:
3rd-person Camera Controller
Object Pooling 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!