Bound City DevBlog, December/January 2022/2023 – Building Up

Well, clearly I’ve fallen behind. I ended up combining two months of DevBlogging here partially because I fell so far behind on putting up a DevBlog and partially because January ended up being a very low-progress month, with about half of it taken up by a moderate cold and a longish vacation and much of the other half taken up by anxiety and indecision. Looking back I’m not too displeased with my overall progress over this time, but the delays have been frustrating to say the least.

After spending all of November working on the new sound system, I had a tough time returning to the core project. This has been an ongoing issue over the last few months, as I near completion of this demo portion of the game. The closer I get, the fewer easy and fun tasks remain, leaving a number of hard/tedious tasks I have to tackle in succession. I could presumably sidestep this by working on more general long-term tasks, but I’m so close to completing this demo now that the idea of putting work into anything that doesn’t take me closer to that goal is frustrating. To mediate this frustration I find myself putting plenty of time into things that don’t technically need to be done but can be considered part of the initial slice of game that the demo is comprised of – stuff like this new sound system, like the intro illustrations, like writing that I can feel unashamed of, and so forth. Some of those side-tasks over the past couple of months have included:

One: Reworking the palette-izing post-processing effect to make it more flexible and adding an ability to dither-blend colors that don’t match the assigned palette. This, too, may become a Unity Asset Store asset in the near future… but doing so will require a day or two of rewriting the interface to split it from Bound City’s systems, so it must be added to the ever-growing stack of non-Bound City professional development tasks.

An illustration from my previous project rendered as (from the left), raw, double-dither, single-dither, no-dither

Two: Writing a new piece of music for use much much later in the game. This track, the theme for a climactic confrontation with reality, incorporates several previous track motifs and plays a lot with the thematic concept of reflection, with certain phrases and sounds being inversions of one another. Also, unlike previous pieces for the game, this one has several phases, intended to be stepped through one by one as a story moment escalates; in that regard it’s almost like several tracks in one.  I am quite pleased with how this piece turned out, but it’s probably another year or two of development away from actually being included in the game. Still, that just gives me a little extra motivation to push towards that moment…

Three: Small fixes and expansions to the dialogue interface to allow for more complex conversations and for canceling out of repeated dialogues. These changes were largely made because I found myself frustrated by their absence during play-testing — and, though this demo is not meant to convey the complete experience of the game, I still want it to feel as satisfying as possible in every moment.

Four: Minor fixes to enemy behavior to make them feel a little more robust and interesting. These were also just things that bothered me in testing that I took it upon myself to fix immediately instead of leaving for the time being. Would anyone playing the game notice if dogs got stuck on terrain rather than jumping over it? Well, I would, so I fixed it.

Five: The intro sequence is technically unnecessary for the demo, since it’s more about setting tone and giving an overall sense of the world than in giving information that is required to play the game, but I’ve decided I want it in for… some reason. To that end, I need to make two more illustrations for it. The first one is more-or-less complete and is the header image for this post — while I will likely want to tweak some of the fine details later, it has all necessary elements and makes a striking first impression. The second and third illustrations are half-done, but are coming along well now that I’ve figured out their basic compositions.

This stuff was all optional, but it was at least on the way. So much of how I manage to get things done, I find, is by leaving them conveniently along the way — or inconveniently in the way — of doing the things I would be doing anyway. There were other tasks a bit more pressing — arguably I could have at any point reworked the demo to make these redundant as well, either removing/rewriting characters or disabling sequences until I had a chance to create the systems to fully realize them, but I just don’t really like avoiding challenges. That’s not to say I never do, but I always feel bad afterwards because I know that I’m just going to have to confront them sooner or later and I’m putting myself in effort debt for the future.

One such system is a simple character controller for cutscenes. Once in a while I need to be able to make the player move, jump, attack, whatever, in order to create a story moment. There are a lot of ways to approach this: In this case I created something very similar to the behavior system I built for enemies, a queue of actions that directly took hold of the character and played them via the same set of buttons the player uses. This mostly works but could potentially make some future interactions, such as attacking with specific weapons, a bit tricky.

Another narrative problem I’ve been concerned about recently is that there are some very important characters which, as conceived, only showed up fairly late in the game. These character’s worldviews, and how they change or are perceived differently over time, are core parts of the narrative concept of the game, so it’s vital the player meets them relatively early — but it makes no sense for them to inhabit the early sections of the game. The solution I landed upon was to add a series of “vision” sequences, floating rooms that the player is warped to arbitrarily whenever they meet the requirements and are in a transitional state (such as after dying or restarting the game). 

Aside from these notable developments, there’s also been a lot of running the game, testing it, seeing how it goes, noting down things that are bugged or that bother me, tweaking, running again, and so forth. I’m having a hard enough time with this process that I have no idea how I’m ever going to do it for the full version of the game. That’s getting ahead of myself, though: I’ll worry about that later. The most notable of the issues I’ve addressed is a bug that’s plagued the game since the start. There’s a low-percentage chance, each time the player exits a room, of entering the wrong room — most often re-entering the room you just left, most often due to issues with detecting the exiting collision on the wrong side of the character, particularly while moving quickly diagonally. This should, one would think, be an extremely simple problem to solve, but it just keeps recurring, even when I completely rework how the exit collisions are detected. I have high hopes for this most recent solution — I haven’t noticed the error recurring yet — but only time will tell.

It’s tough to maintain enthusiasm at times like this, when the process is more about reinforcing and testing and maintaining than it is about expressing and building. At the same time, I’m having a tough time figuring out how to allocate my focus between this and other tasks — I now have three potential salable Unity Assets I will have to polish and write documentation and pages for, all of the writing I need to do that I’ve fallen dramatically behind on, and a new website I’m shifting over to to showcase this writing along with the mentioned assets, my development work, and miscellaneous portfolio works. I already struggle so much with knowing what to work on, what to turn my attention towards, and having all of these secondary targets just makes it tougher, particularly when I’m already feeling guilty for not working on things I’m “supposed to be.” I’m still not sure how to approach this, whether I’ll have to set aside a day specifically for this type of secondary work or attempt to do it in bits and pieces in the last hour or two of each work-day. As it is, I simply tend to forget about all of this stuff at the beginning of each day, and only remember it at moments like this where I try to take a wider view of what needs doing.

So Bound City continues on, at the precipice of a complete demo, as it has for several months now. When will I be satisfied enough to let go? Will it be soon enough that I can continue to work on the parts of the game I actually care about without resenting the project? I hope so. It’s almost as much a matter of what I’m willing to accept, now, as it is of what needs to be done — which, for the purposes of this demo, is rapidly but asymptotically approaching zero.

If you’d like to help support this project or my writing, please consider supporting me on Patreon.

Leave a Reply

Your email address will not be published. Required fields are marked *