I’m finally getting some traction on the history generation implementation, which is a big relief. I was starting to feel like the pursuit of procedurally generated history was leading me into a dark abyss. I attribute the recent progress to a deliberate shift from highly analytical solution design to brute force coding. I could no longer advance by thinking about the solution and writing it out in design docs. I had to build things, see how they worked, and either refine or discard them. By doing so, it became easier to see what worked and what didn’t. And, I didn’t have to hold the entire solution in my working memory; I could build pieces that did work, forget about their details because I knew they worked, and concentrate on what was missing and what needed to be revised.
Next week, with February coming to an end, I’m pushing to complete the history event generation (code only; content comes after). My March goal is to populate the dungeon from the history generator’s output, the world state. I expect this to be less complicated than history generation. It will iterate through each entity in the world state, find a matching concrete object (a room, actor, item, etc.), and locate an area on the map to place the object.