Rework dominated the week. It was necessary to address uncovered limitations in the history generator.
- Improved history event binding architecture. Basically, I changed the object hierarchy from entity placeholder -> binding criteria -> entity attribute to entity placeholder -> entity attribute -> binding criteria. It doesn’t seem like a big change but it took most of the week. The rework made it easier to configure complex bindings and simplified the code.
- New history events, including making/breaking truces, summoning, stealing, adding/removing status effects. The initial events I created were generic and intended for testing rather than in-game use. I’m now starting to make more specific events, such as a conjurer summoning a demon and being killed by it.
- Exclusions for history event entity binding. The original entity binding criteria was based on inclusion, i.e. the criteria narrowed down the potential entities that could be bound to an event placeholder. However, early on in testing it became evident that being able to exclude certain entities was equally important. For example, in an event where one actor attacks another, the actors must be different. Figuring out how to implement both inclusions and exclusions, and designing a user interface to support both, was a challenge.
- Finalized Q2 plan
- April: history/map generation refinement
- May: bug-fixing in the main game loop
- June: improve level 1 gameplay
Next week, I’ll add more history event types and continue testing and refining history generation.