August Update: Unity and Quarantine vs. My Sanity


Been a bit since the last update (thanks work / global pandemic), so I wanted to go through where I’m at, some of the summer progress, and how I’m approaching the next few months.

It’s been a busy two months. Fair bit of groundwork down, the Unity discord has enjoyed the updates, the few artsy folks seem to like the art direction, and then most importantly: Unity’s Dark Mode is now free.

For this update format, I’d originally planned to go into the specifics of how systems were built, but (aside from being time consuming to paste a bunch of diagrams) I think those will work better after December when I can show their actual outcomes. Accordingly, today will exclude spoilers at the cost of eye candy.

Quarantine vs. Sanity

Topical first, this pandemic sucks. I won’t go much into this (as being annoyed at a global pandemic isn’t really the πŸ”₯hottestπŸ”₯ take someone can have during 2020), but I’m genuinely exhausted with remote work and disgusted with its unexpected substitution of weekend decompression for guilt. It’s been a disappointing materialization of “be careful what you wish for”, the wisdom of which (while now proven) can suck an egg.

Unity vs. Sanity

Unity has tried its best to push my mind into depravity, but, after several years of courtship, I think we’re finally leaving Hostile and going into Unfriendly. Historically, I tend to overlook Unity’s built-in systems as not being exactly what I need for a situation, rather than viewing them as 90% solutions requiring some integration work. Given my professional life as an integrator, this was a bit contradictory to how I usually solve problems.

Recently, I have been using three of these systems quite extensively and it’s been a marked improvement in efficiency / code-reduction for areas that I’ve generally hated:

Animators for UI transitions and IK blending
Timeline for orchestrating multi-object scene events
UnityEvents for boundary management between interested entities

As developers, I think one of our discipline’s biggest traps is the belief that we are here to write code. We might bump into a problem resolvable through code — more often than not, maybe — but we are ultimately trying to solve a problem. Your code is not the goal; it’s a tool.

Aside from not having to write my own versions of their editor windows (πŸ™πŸ’―), my favorite part of these systems is that they require barely any code. As an example, my root interaction call has gone from a dozen lines (with specific component expectations / null-checks) to something like this:

public void Interact()
{
    if (!this.available) return;
    
    this.onInteraction?.Invoke();

    if (this.onlyOnce)
        this.available = false;
}

December Timeline

After starting in late June, about 2 months have passed and 4 remain until December. At the time of writing, I think the project’s honestly in a good place, all things considered. I finished a fairly huge milestone this last week and have the groundwork to begin implementing the remaining systems, much of which has been informed by their GMTK Jam analogs.

For now, my priority is having a complete, relatively short game by December. The reality is that getting an MVP stood up will be the most difficult achievement of the entire 6 months and needs to be my top priority. If people enjoy it and feel it’s too short, then that will be ample motivation to continue after December.

My biggest concern is that 4 months is both deceptively long and deceptively short. Aside from the game design / development headaches, there are QA and meta considerations that also warrant calendar space:

  • Play-testing + fresh eyes
  • Input uniformity (“support mouse+keyboard, I know where you live”)
  • Potential optimization passes
  • General polish / white-gloving

Given the time required to go through that abbreviated list, the practical deadline should be closer to… mid / late November. 😬

New Quarantine Hobby: Drawing ✏

After June rolled around and we were still working from home, I decided to start learning figure drawing. Originally, it was just a creative outlet to decompress after work / project frustration and use the right half of my brain instead of Oops All Left β„’, but it’s been a real joy.

Most of my drawings over the last month have been concept art for the game, so those will wait until December.

Next Steps

In terms of timeline threats, a few stick out. Enemies, save files, title screen transitioning, input routing, and audio management are gray areas for me. Additionally, play-testing might be a problem for the same reason that sharing music with a friend is awkward — too personal to receive hard feedback without clear, please-hurt-my-feelings instruction. And then, of course, we have Mental Health During a Pandemic.

On a related note, these logs have also been a nice way to unwind. I’m planning to continue them beyond December — if only as a sounding board for how tedious this has all been. πŸ˜…

Categories: Game Development, Life

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.