Y bitfield: a half-assed postmortem – orin tresnjak

bitfield: a half-assed postmortem

Well, I never wrote about bitfield on this blog, actually, so I suppose this is both a postmortem and an announcement.

From October 2018 to January 2019 I worked on a hobby project game, which I named “bitfield.” The goal, for me, was to actually see a personal project through from beginning to end, so I chose some very strict limitations in order to keep it focused:

  • The game was to be a side-scrolling space shooter (a la Gradius, etc) — a genre very familiar to me and relatively simple to develop.
  • The graphics would be squares. Yup, just squares. I don’t have much artistic ability and I wanted to be able to focus on making a game, rather than figuring out how to make nice-looking art.
  • The palette would be limited to 16 colors–specifically the Tandy 16-color palette, inspired by the Tandy 1000 TL I had as a kid.
  • The sound and music would be made strictly with FM synthesis. (Initially I’d thought about using three square wave voices + one noise voice, to stick with the Tandy 1000 theme, but I discovered I’m not talented enough to make something that sounds good under that constraint.)

I originally meant to spend a week on this game, and yet it ended up taking several months; a lesson in the difficulty of software estimation, perhaps, or just in my own perfectionism.

So, yeah! Let’s do a postmortem.

What Went Right

Limited Scope

If you can believe this, in the 37 years of my life (about 13 of which have been spent as a professional, full-time game programmer), I had never completely finished a hobby project game before. Oh, I’ve started dozens, if not hundreds, some of them surprisingly technically sophisticated, but every single one I abandoned, at varying stages of completion.

So, aggressively limiting the scope was a good move. Even though I ended up bending almost every single one of my self-imposed rules, I nonetheless managed to finish this project only by more or less sticking to them.

Beyond that, though, the limitations encouraged me to find creative ways to do something interesting, something I could be proud of, within those extremely limiting constraints. Admittedly it’s an incredibly simple game, but I’m still happy with a lot of things about it: the visual aesthetic, to music, the feel of the controls, and so on.

Music

In particular, I’m really pleased with how the music turned out. I tend to fuss endlessly over songs I work on (despite that I’m never particularly pleased with the results), and the limitations I had here–combined, paradoxically, with the sheer volume of tracks I had to create in a very short time–helped me actually produce some simple songs that I really like the sound of.

I kept the workflow intentionally simple: I worked out a quick chord progression in hookpad, exported it to Ableton, and then dove into FM8 to choose a sound for each track (mostly unmodified presets, I’ll admit it) and mix. Perfectionist that I am, I did break my self-imposed rules a bit and use various effects on a lot of the tracks, but nonetheless, keeping them simple and fast helped me actually finish them all.

(A side note: there are a couple of more egregious violations of the FM-only rule in the game: the credits theme, which is actually a song my best friend and I wrote some years ago, repurposed, with her permission, for this project; and the ending themes in both the demo and the full game, just because I thought the original hookpad versions sounded really nice.)

What Went Wrong

Rushing Into Things

Since I originally intended this to be a very short-term project–one that I had little intention of spending more than a week on–I took a lot of development shortcuts early on that I ended up regretting later. In particular, so many decisions I made early on assumed the resolution would never change from the one I initially chose (1024×728) that it ended up being impractical to make the game scalable, and so the final product is locked to that size. It’s not ideal.

There were a number of other issues like that, and I think that if I’d have proceeded on the assumption that this might turn out to be more than a half-assed game jam, I could have avoided most of them.

No Marketing Whatsoever

Okay, I’m not sure this is actually something that went wrong– I never intended to market bitfield. In fact, I’d originally intended to either keep it to myself or share it with a few friends for free.

But as I spent increasingly more time on it than I’d intended, I started to feel as though it would just… feel more real, more complete, if I tried to sell it.

It was never about making money (and believe me, I haven’t– so far it’s earned a grand total of $4), but about just feeling as though I’d made a complete thing that’s, well, worth asking for a little bit of money for.

Nonetheless, maybe if I’d put a little effort into letting people know about it, I would have gotten a few more bucks for my trouble?

Honestly, I’m torn. Maybe actually making something other people would want to play, and then trying to convince them to play it, is a project for Game 2.

Conclusion

I guess the main lesson here is one that you almost definitely already knew, if you’re the type of person who spends their spare time making things: creative constraints are fruitful and help you get things done. I aimed to make almost the simplest possible game, and it still took an order of magnitude longer than I’d intended it to!

As for the other lesson, the one about selling things, well, clearly I haven’t learned that one, since I should have put a link to where you can actually buy this game at the very beginning of this post. Well, fuck it, here it is: https://otresnjak.itch.io/bitfield

There’s a demo there that’s fully half of the game, and I’m sincerely rather more interested in your feedback than in making another couple bucks for it, so hit me up and let me know what you think! I mean, if you’re reading this, you’re probably someone I already know, but if not, @ me on twitter or something.

© 2019 orin tresnjak . Powered by WordPress. Theme by Viva Themes.