Join the Madness DevBlog, December 2021: Unspoken

With one thing and another, it’s tough to get much done during December, so almost all of the progress in this update happened in either the first or last week of the month. As I mentioned at the end of the last update, I was itching to get some more music composition done. This broadly fell into two tasks: Speculative tracks for some of the later areas I hadn’t created yet, and reworking/improving some of the tracks for existing areas to increase overall quality and consistency. After a few false starts, this went pretty well: First, I made this track for an underground section, most likely the next area the player is likely to encounter after the three completed so far.

This one still probably needs a bit of work, it feels a bit fast and high-pitched for the tone of the area, but I think it’s a solid base to work off of. After this I turned my attention back to some earlier tracks. After composing the track for the parks area, Urban Forest, I had started to feel like some of my earlier work felt rather flat and boring comparatively. While I kept the core of the pieces largely intact, I expanded both the hotel music and the Carnifex boss battle music significantly while tweaking them a bit to add more texture and substance to the instruments and percussion patterns.

I’m pretty happy with where these are now. I think that of the music I did for the initial game jam versions of these really nailed the tone, the dramatic spookiness of the hotel and more immediate malice of Carnifex, but they felt a little bit basic and non-committal. I think these new versions amp up the playfulness, energy, and drama nicely, and add enough changes that the tracks won’t get boring even if someone ends up listening to them for a long time.

After improving these, the last major track left up for improvement was, in some ways, the most important: The first area, the apartments. Of all the tracks this was the one that was most thoroughly revised – the old version had a lot of slow sections with fairly uninteresting content and its use of the 8-bit instruments had some extremely grating moments. The NES soundchip has, effectively, 4 instruments: Two square waves, a triangle wave, and a noise generator. I’ve been trying to stick fairly closely to this, to the extent where most of the music could probably be faithfully reproduced on NES hardware – however, something that I hadn’t realized is that the triangle wave is definitely intended to see most of its use in the bass spectrum, and can become quite tooth-gritting if used any higher up. Most of the tracks ended up using it as bass anyway, since it was just a natural fit: This track, unfortunately, did not, and that’s one of the reasons it needed so much revision.

In the end, I completely stripped out the first minute or two of the track, replacing it with completely new composition. I kept the idea of it segueing from a simple track inspired by the Zelda 2 house exploration music, but instead of fading out and then coming back in I made the developed melody suddenly and unexpectedly kick in right at the end of the measure, an effect I really like. From there I found a long melody line to define the first section, and it all came together almost immediately. I kept the section I liked best from the old version, the chirpy staccato, mildly threatening and very enthusiastic, but assigned it to different instruments.

I’m mostly satisfied with where the music is at for now, though I may revisit the Interlude piano track which plays between My House and Your Grave to try to either adapt or rewrite it into something a bit more thematically connected to those. I’ve also recreated a familiar problem for myself, where running through a zone can happen so quickly I feel like the track I’m happy with doesn’t have time to shine – I may, accordingly, add a few extra rooms to each section, which is probably only a couple of days of work now that I have all the components for doing so put together.

After all the fun music stuff I worked on some decidedly less fun but very important stuff. I got the save system working, along with a button to quickly wipe save data so I can restart for testing (until I make an actual main menu that’s going to be the only way save wiping is possible). I worked a bit on the display of the map system in preparation for making it an actual in-game screen, and roughed out a couple of new screens to lead into the underground section later. After these I revisited the dialogue system: Though I had initially tried to implement the Yarn Spinner dialogue system (as used in the game Night in the Woods and others) a couple of months ago, I dead-ended then due to challenges integrating it into my UI. A couple of weeks ago, though, a new version of Yarn Spinner came out which was more open-ended and had more documentation, so the last week or two have been spent revising the dialogue system to work with Yarn Spinner and, following that, revisions to text placement and font choice to support the sorts of dialogues I want to create. There are probably some unforeseen challenges left to conquer, but at least now I can write whatever dialogue I need in plain-text to use in the Yarn Spinner system later – a big improvement on having to run Unity’s editor whenever I want to tweak the dialogue.

Now’s a good time, I think, to revisit the to-do list I put at the end of the September DevBlog:

  1. Several enemies to flesh out the first few areas, probably 4 or 5
  2. A boss fight
  3. Implementation of key items
  4. Edit/Expand character conversations
  5. Graphical polish on existing rooms
  6. Map screen
  7. Save system

There are, unfortunately, a few things missing from this list, so let’s remove the complete ones and add the missing ones now, along with some notes on what will be required for implementation:

  1. Implementation of key items
    • Largely a matter of UI design, requiring me to create an interface between the inventory screen and the dialogue system – it might take me a while to figure out how I want to approach this, but probably won’t take long to implement once I do.
  1. Create character dialogues
    • This is going to require however long as it takes me to feel comfortable with what I write. I could probably bang out something serviceable in an afternoon, but I want to at least lay the groundwork for the complexity and humor I’m aiming for – so it may take a few weeks to really figure out.
  1. Map screen
    • The version of the map display I have now is sufficient for editing the map, but is missing features needed for an in-game display. Currently there’s no conception of explored/unexplored space, always revealing the whole map. The detection of which rooms are connected is also buggy and doesn’t have any conception of hidden/blocked passages, and there aren’t yet icons for points of interest such as doors, save points, or NPCs. Also, while this may not be necessary for the vertical slice, at one point the game will have fast travel – so the map system will need to have room to add support for that. All of these together create a tricky little knot of UI, game design, and programming, which it may take me a week to unravel.
  1. Title screen
    • For the time being, this may just be a black screen with a few options for starting the game and creating/erasing save data which I can probably throw together in a day. I would also like to have an illustration for this screen – it doesn’t have to be incredible, but even a placeholder could add a lot. Eventually there will probably be a whole intro sequence here, but that can probably wait.
  1. Expand map slightly
    • This may or may not be necessary, but I’m definitely feeling the urge to do a bit of level editing. Necessary or not, it’s one of the more fun tasks to work on, and I think could add some robustness to the game. Probably a few days of work
  1. Healing?
    • My original concept of the game was each room being a unique challenge and the player getting fully restored afterwards. As the design has developed, this concept stopped making sense: Some of the rooms are very large, some of the enemies are only situationally threatening, some areas may not be fully reachable depending on the player’s abilities. It doesn’t make sense to penalize the player for not clearing out rooms if it’s difficult to tell how to even do that – that said, there still needs to be some system in place for recovering HP and for respawning after death. There are now checkpoints used for fast travel(eventually) and respawn, but I don’t know if the healing system should be tied to that or work independently. This is mostly a design issue, but will probably take a couple of days to implement whatever I eventually decide on.

You never know how long this stuff will take in the end, but at least on first glance this seems like it might be feasible to achieve within this month. Of course, even all this together probably won’t quite finish this vertical slice: There will still be some play-testing, polishing, revising, etc. Still, it’s exciting (and maybe a bit scary) to see how close I’m getting! It might not be completing a whole game, but completing a significant representative slice of a game is still a big accomplishment for me, and one a long time coming.

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 *