
It’s only been a couple of weeks since the last update – I’ve been letting these updates drift later and later behind schedule and into mid-month, and now finally trying to adjust it back to the start of the month where it ought to be – but they’ve been a pretty productive couple of weeks. Much of it has been taken up by expanding on the NPC work I was just starting to delve into as of the previous DevBlog. I created what turned out to be 33(!) NPCs encounterable in the first section, each with a unique portrait, unique text sound effects, and of course unique dialogue. I am, after all that, still somewhat dissatisfied – as so often happens with these things, the more effort one puts into it the more potential one sees in it, and the more potential one sees the more effort one wants to put in. Now I have 33 characters populating this world, and I find most of them genuinely interesting – and I suspect that whatever this game ends up being, it will be about them in some way. However, the systems I have in place don’t entirely support that idea – right now dialogue only supports having characters speak, with no tools in place for responding to what they say or choosing to give them items or information, no way to build a quest or trade system. I would like to have support for more robust interactions, but ideally without complicating the interface any more than it already is. I’m not sure how to approach this yet, but most likely I’ll have reached a decision on this by next update.
Actually, until a week or so there wasn’t even any system in place for giving NPCs any awareness of the world around them, or indeed for any objects in the world changing as the player progresses. This was a significant oversight: Having things like switches and conditions for world changes is pretty fundamental for game design. It didn’t take too long to throw together a system that stores string/int pair values to keep track of world state – what items you’ve found, what enemies you’ve killed, who you’ve talked to, and so forth. This same system will also be used for switches that open doors or turn on lights or whatever, and probably to keep track of which keys the player has used – keys being another whole thread of necessary functionality that the game wasn’t originally structured around. I had, at the start, some high-minded ideal of never giving the player any item that strictly granted more access without also giving additional utility – I relented on this when I realized that finding keys is just fun and mysterious, and finding a locked door or its key always leads one to wish to seek its partner.
Much work still needs to be done on that front, but more immediately I wanted to start solidifying the aesthetic tone of these areas, which meant fixing up some holes in the palette system and then getting to work actually creating palettes for each room – in addition to making it so I could get useful feedback on these palettes in the editor, by updating the palette to match whichever room the user (me) is currently looking at. I had a lot of fun tweaking palettes room-by-room – trying to keep largely subtle in early transitions, then slowly working up to dramatic colorful jumps in the later rooms. Most likely the palette will become muted again for quite a while after this, so this is an early-game intensity peak, a place to set a hook of unease before reeling back out to let the player explore more, with more freedom.

Finally, I spent the last week or so trying to nail down what the earlier parts of the game will sound like. I created several pieces of NES-style music during my initial rush to put the game together during the game jam, and while I still really like most of what I did there I’m uncertain how much of it fits with the game’s current direction. I’ll be figuring that out bit by bit as I go, but in the meanwhile I wanted to start experimenting to figure out exactly what mood and style I want. The first of these I was inspired to make was for a waiting room encountered right before the first boss fight, where a bunch of NPCs gathered, one among them playing a piano. I originally tried to do this with the limitations of the NES and it was rough: One of the chief traits of a piano is its ability to play multiple notes simultaneously, and the NES can only have 4 notes going at the same time, and only two with the same instrument (or more specifically two identical one-channel instruments). The piece wasn’t bad necessarily, but it didn’t feel right. I started to consider going instead with something closer to the Super NES’s low-res soundfont approach – and, after a quick experiment, this began to feel like immediately the correct choice. Situated 10-20% into the game and coming after establishing the NES-style music as standard, the stylistic shift may help make this encounter feel just as surreal and otherworldly as it ought to – as well as simply working better for the piece itself. It took me a little while to polish it up and to see how it fit in place, but right now I’m really happy with this Interlude theme and can’t wait to hear it implemented into the scene.
The second piece I worked on was for conversational moments, and because its first occurrence will be quite early in the game I wanted to hew very closely to the NES style. The inspiration for NPC interactions in the first place were the weird creepy villagers in Castlevania 2 and Zelda 2, so I initially wanted to do something close to the indoors music for Zelda 2, but perhaps a bit darker, a bit off-kilter. Eventually it ended up expanding a fair way outside of that domain, and became a lot more action-packed than originally intended – though you can still hear its Zelda 2 roots if you listen. At this point it will probably become the theme for the whole first section – probably starting out purely as the conversational motif, heard near the start, and then transitioning into the greater exploration piece once you leave the first room and venture out into the world.
Of course, doing conditional music like that will require some extra programming work – I wasn’t expecting much in the way of adaptive music when I structured the music player, and though this may be a simple use case it is, nevertheless, an instance of adaptive music. Hopefully this will be relatively straightforward to implement, and provide the necessary structure for any other advanced music structure I decide I want as I build out other areas.
Unlike the retro game music that served as my inspiration, I have a tendency to get a bit long-winded in my composition work – to me it doesn’t feel like a proper piece of music unless it has sweeping changes, a sort of narrative flow, which tends to result in pieces which have a loop length of a few minutes at least. This is causing me a bit of angst now, as it comes time to implement music into different areas of the game, because a player moving at a decent speed can easily enter and leave an area before the piece has even gone through a complete cycle, much less play the several times it might need to get its hooks in. This isn’t necessarily disastrous, but it definitely feels awkward when I think the later parts of a piece are its most interesting and there’s a realistic chance they’ll never get heard by most players. The best solution I can see at this point is consolidating fragmented zones and expanding small ones to minimize the necessity of music change triggers, so I will likely be working on that soon.
That’s it for this update. I’m going to be traveling for the next week, which is going to make it hard to do the sort of work that requires hours of solid focus (not great at those usually anyway, to be honest), but perhaps an opportunity to figure some of these trickier and more nebulous questions out.