Join the Madness DevBlog, January 2022: Open Structures

Almost no actual development work happened over the last month; I left for a trip on the 11th and got back on the 24th, and several days on either side of that were spent either preparing for or recovering from the trip respectively. Even before that, most of the time I was trying to work on the game was mostly just struggling with characters and dialogue, trying to figure out how to integrate them into the game, what the story should look and feel like, and how it should all be implemented.

The trip was largely very pleasant, though with a number of hiccups, and contained some belated Christmas present exchanges: Among the things I received was Derek Yu’s excellent book detailing the development and philosophy of his game Spelunky. In one section, he was discussing the shift of philosophy from the early Zelda games to the later ones, where open exploration was slowly whittled down into a guided theme park version, secrets clearly marked and set aside for the player to find, exploration ordered and constrained to create a more consistent, but less revelatory experience, and suddenly the idea clicked for me – the dialogue doesn’t need to be the core of the game, doesn’t need to be the backbone of the plot, doesn’t need to be designed for the player’s convenience, for it to have meaning.

In my head I had been caught between two ideas: First, the idea of the traditional action RPG, where the core of the game is combat and which might have NPCs around to help the player out or provide atmosphere but not give them a lot of depth: Second, that of the more dialogue-focused adventure game or pure RPG such as Monkey Island or Disco Elysium, where meeting and talking to the characters was the core of the game. However, there are other approaches: What if the characters don’t drive the plot but are driven by it? What if they can be easily missed, like secret passages, but their discovery is joyful and interesting? What if the primary importance of these NPCs is that importance which the player ascribes to them?

This probably all sounds like a pretty fine distinction to get excited about, but it has huge implications for how I can approach NPC dialogue. Things can now just happen: They don’t need to intersect with the plot in a particular moment in a particular way, they don’t need to create a structure of key items and quests, not every structure depends on every other structure any more – instead, I now have a context where I can place the bricks of the game as it is played, the world and monsters and items, and then anywhere in between I can put the characters, have them react to the world however feels appropriate in the moment, and perhaps even react in obscure and confusing ways that are difficult to uncover – because it isn’t vital the player sees any particular interaction. What is vital is that these characters be there, having experiences and interpreting them back to the player as they are encountered, not that they be part of an overall driving structure.

What it means is that a whole lot of things I was worried about don’t need to be worried about any more.

This was all a huge relief, but it still doesn’t actually bring the game closer to completion. During the trip I wrote a little profile for each character, just a set of 5 facts about each of them to give me an idea of who they were, and I imagine they’ll probably be useful… eventually. Similarly, I took a bunch of notes on ideas for secondary upgrades to fit in with the existing ones, either augmenting or replacing weaker versions of the same item. Thus it was that when I finally got home on the 24th, and got back to the project on the 25th, I realized… that I had no idea what I was doing. I had a sense that I needed to figure out some of the specifics of the inventory screen only to realize once I got there that I hadn’t taken notes on what many of the existing upgrades signified, what their icons were, when they were meant to be discovered, and so forth.

As I began figuring all this back out, I also realized this wasn’t going to be the last time this issue came up. Sometime in the next year I’m probably going to be taking at least one more long trip – or possibly relocating completely. I needed to start taking real notes, not just haphazard ones on things I might do as the project progressed, but on the things I planned to do. Thus, I built out a complete list of upgrades, descriptions for them, and approximately how they would function. In the end, I had 100 or so upgrades to find – many of them simple health/ammo upgrades, but also many movement abilities and subweapon alterations. A big change from my previous designs, as well, was the implementation of a larger variety of weapons and armor: Where I had originally planned on 4 armors and 4 weapons, each being a fairly straightforward upgrade of the previous iteration, I decided the whole experience of finding items would be a lot more exciting if you could find weapons and armors which actually changed how you handled encounters. In addition to doing more or less damage, weapons can have differences in range, attack speed, shape, and other special properties, where armors can offer bonuses to damage and movement to make them more interesting and useful. All of this entails some extra work to be sure, but the bulk of it is mostly just refactoring the inventory systems which I’d built with an assumption of a very constrained inventory to handle the possibility of one which was indefinitely expansive, which is a one-time cost. After that, implementing any new item that strikes my fancy should be something I can handle over the course of a day.

I went on to plan out all of the areas of the game, what order they would be encountered in, what items would be found within them and what items would be needed to access each area or item within an area. I’m currently working on expanding this out into a task list breaking down what new work needs to be done to create each new area – tilesets, dialogue, upgrade scripting, and so forth. The task list will then exist, not to be a schedule, but to be a suggestion for me whenever I need to figure out something to work on next – such as when I come back from a long trip and am lost and unsure where to resume.

Meanwhile, I’m working on finalizing the first few areas. There isn’t a ton of work to be done in that regard – I’m mostly pretty happy with where these zones are at, so the real remaining challenge is in finishing up the title screen and map screen, both of which I’ve barely touched, and probably making one more relatively simple boss to separate the second and third area. Right now I’m feeling really good about the project – like I’m getting closer to having something with enough structure that I always know what to tackle next but enough openness that I can leap on any opportunity that occurs to me to add something new and fun without throwing the whole thing out of wack. Who could ask for more?

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 *