getinthedamnbox: games, sounds, and other work by Matt B

Bulwark in the City of Flesh

Developer Diary #006

December 31, 2018

«         »

Hello! It’s been a while. Many of my entries in this diary feel, in part, like a postmortem, and that’s especially true of this one. I wanted to wrap up 2018 with some reflections on where I am with Bulwark and how I got here.

I wrote my previous entry in August, and soon afterward I lost 99% of my capacity for working on this project. This semester was murder, and I had almost no time to work on anything besides school. I thought about Bulwark daily, trying to figure out when I could get back to it. On a couple of occasions, I managed to power through my class assignments quickly enough to carve out a Saturday or something, but it was a drop in the bucket.

As soon as the semester ended, I threw all my free days at the game, doing everything I could to make the light at the end of the tunnel a little brighter. I finished producing the dialogue, chopped off some confusing features, shrank down a pointlessly huge level, and worked on the overall scene progression. If nothing else, the forced hiatus helped me see which features made the game worse (or even unplayable, in some cases).

I also stopped trying to clean and refactor my code, and I put a freeze on graphical assets (placeholders, welcome to the final build!). It’s just about getting to the finish line now. I thought that was the case before, too, but it turns out there’s always more you can cut.

Hopefully, in retrospect, I’ll view this experience as a series of errors that was both costly and valuable. Costly because of the comically large time commitment; valuable because it gave me a firsthand understanding of how a larger-than-game-jam project can lose its way.

It’s funny. When I started working on HEARtREAD, I had almost no engineering skills, but project management was my day job. So, even though the code for HEARtREAD is one long god class, the game was finished within seven months.

With Bulwark, my project-management skills were, uh, put on mute. I guess I just wanted to mess around for a while? It was a sandbox project that kept receiving feature dumps of whatever new thing I wanted to learn about. Character animation, navmeshes, audio middleware, music, environment art, post-processing effects, lighting, graphics optimization, puzzle design… Obscene amounts of time spent perfecting things like grass placement on a level that, in the end… I threw out!

Over the summer at SIP, we had a fairly strict production process using Kanban, and its power has only become more apparent to me as time has gone by. In particular, the first epic (creating an overall framework) is the one I most regret not applying to Bulwark until late in the project. Other things would have been helpful, too—the whiteboxing phase, putting epics in a sensible order, implementing dev cheats right away, etc.—but I realize now that nothing took the wind out of my sails more than the feeling that I was never working on a complete thing. Instead of continually improving a machine, I was pushing around a bunch of disconnected parts.

A big reason why I’m able to laugh at all this is that, as easy as it is to be disappointed and angry with myself for failing (many times over!) as my own producer, it’s likely that some portion of the wasted time would’ve been wasted anyway. Over the past three semesters and the summer, I was so busy that, if I didn’t have a side project that I was desperate to dig myself out of, I never would’ve used my spare time for work. It would’ve been too easy to say, “I’m working hard enough as it is, so let’s take a break from side projects altogether.” And that... would’ve been nice. But the learning was a silver lining, at least.

I don’t mean any of this to be down on the game, by the way. I think it’ll be cool once it’s finished.

Speaking of which, what’s next? When and how is this going to get done?

My spring semester starts immediately after Sabrina and I return from our honeymoon. So, if I’m going to finish Bulwark anytime soon, I’ll have to find a way to do it while also drowning in schoolwork. Of course, that was also my plan last semester, which means that something has to change in order to prevent another grinding halt. Here’s what I’m trying:

It’s going to be OK. I’ll finish this, push it out to sea, and then spend my 30s making stuff in a faster and more intentional way. I’m looking forward to that.

Happy New Year!