Join the Madness DevBlog, March 2022: Anniversary

March is over, marking the one-year mark since I started working on this project – a project which was originally meant to last one month. I’m not sure how to feel! Obviously I didn’t expect this game to take this long, and obviously I wanted to be further along by the time I got here – but I also feel like the way things are shaping up far exceed the scope and quality I’d originally envisioned. I’m grimly amused, going back and reading the DevBlogs from a year ago, how optimistic I was about completing a vertical slice in a month or two. Partially this optimism stemmed from a much more modest vision of what the game was going to be – and, therefore, what a representative vertical slice would look like – and partially it stemmed from a desire to set aggressive deadlines to keep my pace up. Either way, it feels like a relic of a bygone era now.

How does the current game-in-progress compare to the version of the game I imagined being a 3-month project, or a 6-month project, or a year-long project, so long ago? To start with, the world feels far more fleshed out than I’d originally envisioned: The unnamed city, which formerly existed primarily to be a prelude to the tower that would provide the bulk of the game, gave way to become Bound City. NPCs, originally intended to be cryptic strangers in hidey-holes, became fleshed-out characters with names, portraits, and history. On the gameplay side, the few weapons and armors with minor statistical differences have become a varied arsenal, movement abilities have been refined and expanded, and sub-weapon upgrades have become a varied form of equipment themselves with complex tradeoffs rather than simple passive benefits. The quality and range of music has expanded, enemies have developed more sophisticated behaviors, and pathways through the map have opened up, become complex and twisted, with blocked exits and hidden items.

I find all of this very exciting, but it has to be admitted that it’s set me back in my goal of, you know, actually getting something done. As I shift towards a place in my life where I need to actually think about income, and therefore also think about things like portfolios and salable works, it’s clear that, while my creative habits have developed for some good reasons, none of those reasons have been angled towards making money or establishing myself, and that’s probably going to become a problem. This is, of course, not the first time I’ve had this realization – but, since this is in effect a problem for future me, I keep on eventually distracting myself from it and getting back into a position of comfortable complacence. Being able to do this is what has let me keep pushing back the vertical slice, making it a bit more horizontal every time, making the project more ambitious in subtle ways that make it that much harder to fully realize. Looking back, I can clearly see myself making progress even relative to these shifting boundaries – but is it enough?

These are answers I’ll need to figure over the next month or two, as I try to angle the project towards this eternally shifting first milestone. In the meanwhile, though, I have the work in front of me of finishing these early sections as I conceive of them now – putting in the work to control how those conceptions shift over time is going to be a longer-term project. When I left off last month I was just settling down to create the first big boss fight of the game – coming in, now, to supplant what I had previously believed to be the first big boss fight of the game, which is now the second. This, unfortunately, is still somewhere between a one-third and half done: I was hoping that, after the process of developing the first boss, in which I got super stressed out and struggled a lot, the second would come more easily. Unfortunately as I worked on it I found myself, again, getting super stressed out, struggling a lot. Eventually, somewhere along the way, Elden Ring came out, and between its allure and the dread of working on this challenging aspect of the game I effectively gave up on getting anything done for a week or two. I think I’ve at least completed the most blank-canvas-frustrating parts of the challenge, but optimism is still premature.

I could tell I wasn’t getting anywhere particularly quickly hammering against this creative blockade, so I moved on to some other things I needed to work on which seemed more appealing. First and foremost, there was a major character who I needed to create a portrait and music for, Florence:

I’m still figuring out the exact extent of her role in the story, but at this point I’m quite certain that she’s going to be more important than most of the other NPCs. For this track, I wanted to capture something both sweet and dark; I think this character is probably a very kind and empathetic person who comes from a pretty unpleasant background and has seen a lot of suffering. The composition process for this one was very intuitive, and is one of those tracks where I’m not really sure what I was doing in terms of music theory, but I like how it turned out, each measure drawing out a lot of tension while still being overall quite melodic. I was running into trouble with the intro being so minimalistic it was hard to tell it was even a piece of music, but adding any sort of percussion felt inappropriate – instead, I attempted to use the noise channel to create something approximating the sound of a spinning record, creating a sort of old-fashioned sensibility that I thought also suited the character. To reinforce the sense of an old, warped record, I also experimented with pitch-bending all the instruments concurrently – this effect isn’t exactly realistic, but I think the intent is conveyed and that it’s compelling.

I moved on from that to some other relatively light and playful work, trying to keep my momentum going. An idea that I’ve been thinking about for a while is using CRT-style post-processing effects. These are somewhat common nowadays as an optional filter to add a little extra retro charm to modern throwback games, but what I started wondering is – what could one do with an effect like this wired into the design of the game itself? That is, rather than just being a special effect to create a more retro feel, what if I use these post-processing settings to subtly feed information to the player? I spent a couple of days downloading and experimenting with a couple of these effects packages, eventually settling on the [Retro Look Pro] asset, and a bit longer wiring them into my existing feedback systems. With all this in place, near-death situations start creating glitchy distortions on the screen, as though losing signal, which seems a poignant metaphor for pending death. Additionally, moving near an active save point pulls away the view and warps the screen, both emphasizing the ability to save for gameplay purposes and the distance from reality implied by such a save for narrative purposes.

High Intensity
Save Point (not shown)

As I’ve mentioned a few times, one of the biggest remaining obstacles is overhauling the inventory system, which I’ve made significant inroads into over the last few days. This process involved a lot of trial and error, creating new layouts, comparing them, imagining different ways of expanding and scrolling through icons, making sure that the grid lined up so it was clear what an input would do and that no elements were overlapping one another. Yesterday, I was pretty sure I’d figured out the final layout I wanted – today, I figured out another layout which I like better, and now it’s the one I want. Hopefully this process doesn’t repeat, because these changes are making it really difficult to actually code the inventory interface.

Discarded inventory revision, which would have used dynamically resized boxes
Final (hopefully) inventory layout, using sub-menus to display each equipment choice

I also added little instructions to the top of the screen to inform the player which buttons do what. These ought to change based on the particulars of how each input is bound, but because I don’t have the input binding system set up or a controller plugged into my dev computer I’m not completely sure if it’s there yet. Part of this process was in figuring out what a set of button prompts in black and white 16×16 pixel art with no reference to specific controllers would look like: I enjoyed this little puzzle, and I’m quite happy with the icons I came up with.

You may have noticed that the inventory also has an “inspect” button, which is not something I’d mentioned in any previous DevBlogs. Each item in the game has two descriptions: The first is the functional text, describing exactly what the item is and how to use it (one reason I had to add these dynamic input binding icons), and the second describes the appearance of the item and something of its nature. There wasn’t room to show both of these in the inventory screen, so I thought at first I might simply have them both pop up when you initially found the item.

However, I thought players might want to read the flavor text later – particularly if I had any clues to the story or something in there – so I also made the exact same information popup available in the inventory screen any time the player chooses.

Okay! What’s left to do? I still need to finish this boss and to finish this inventory system – they’re both kind of unknown factors, but I’ve at least established some solid handholds. Once those are done, I’ll have to tackle the map screen and the title screen/intro, neither of which will be trivial. More importantly, perhaps, I need to figure out exactly where I’m trying to get to with this chunk of game and make a concerted effort to get there – drifting about, tackling things as they pop up, slowly congealing a bunch of ideas into a game, this is all exciting and rewarding, but after a certain point it’s important to get an understanding of what “finished” will look like and how to get there. Granted, this is a pretty slender version of finished – maybe 20% of the game as I have it planned in my mind – but it’s the 20% that will define the remaining 80%, which at least lets me hope that I don’t have another 4 years to go before I can hope to ever call anything truly finished.

If you’d like to help support this project or my writing, please consider supporting me on Patreon. Support at any level lets you read new posts one week early and adds your name to the list of supporters on the sidebar.

Leave a Reply

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