Haywire Island postmortem


After waiting out a bit of jam fatigue brought on by the hyper-focus of the 7-Day Roguelike challenge, I hopped back into another MiniJam.  The theme was Islands, and the limitation was that there could only be one level. Once again, the limitation didn’t have a significant effect on the idea I had been percolating for a few days based on the theme.

My jam games prior to this had mostly been keyboard-controlled, and I wanted to try something mouse-driven.  I had never made a tile-placing puzzle-type game before, and the theme of Islands made me think of Islanders, which made me decide to do an extremely simplified 2D version of that concept -- item placement where each item’s score is dependent on what items are adjacent to where you place it.

I did an experiment a few weeks ago with the goal of learning how to use objects in JavaScript.  I made a rudimentary particle system that could arbitrarily spawn rectangle objects, run behaviors (movement, color change, etc.) on them every frame, and then destroy them when they expired.

I wanted this game to use some of that tech, and it occurred to me that in a sense, a static pixel is just a particle that doesn’t move or expire.  That gave me the idea of randomly glitching out parts of the display over time, taking what used to be static visual elements and making them move or disappear, or change size or appearance.

I didn’t end up using as much of the 72-hour period as I normally do during MiniJams, because the basic game loop came together very quickly.  I wouldn’t yet say that I’m getting good at JavaScript yet, but I can say that I am waaaaaay more comfortable in it than I was at the start of 2020.

As I make more of these things, I’m noticing that some of them are more fun for me to play than others.  This one ranks pretty highly in that regard -- I think it’s the combination of two factors:

1) The game is not super content-driven, but rather a system-driven score chase with a lot of randomness to deal with.

2) The glitch effect produces things that are surprising and funny.

The music was a fun experiment, although I don’t know if it’s quite interesting enough to make up for how annoying it can be.  My natural inclination would be to not put sound in these jam games at all, but MiniJam having sound as a ranking category is providing some external pressure against that.  I was irritated by this at first, but I was ultimately forced to ask myself why I’m doing these jams at all, if not for the sake of external pressure.

I found a simple synth library made for the JS13k competition (which I am now really looking forward to participating in this year) and used it to build a system to procedurally generate music.  It’s pretty samey from iteration to iteration, but I’m fairly happy with how comparatively listenable it turned out to be. I think if I spend a couple of hours messing with its parameters to make it sound a little less tinny, I could probably use it to add a (much sparser and more restrained) soundtrack to something in the future.