One thing I've been trying to do designing the systems in this experience is use the
Ladder of Abstraction model. So I've tried as much as possible to allow for a completely deterministic system, including for animated content
and conversations. I can jump to any point in time by pausing the simulation and changing the currentFrame.
What this allows me to do is change how the narrative elements are combined at some point in the simulation, and then jump right back to where I was immediately after changing. This makes changes much more immediate than having to play through the entire simulation again, which makes designing much more like sketching.
So far my solution with combining narrative elements uses the perlin-like simplex noise to choose from different possible states. I'm very new to this LoA approach, so I'm not sure exactly how it'll work yet, but here's my current direction:
The x axis is time, with the leftmost the current point. The y axis represents various narrative elements, and the 8 colors represent some state. As time passes, the states change thereby changing the mix of narrative elements. I haven't decided if each tick will be a different object and the colors represent some theme or emotional state, or if each color is an object itself. I'm not even sure what narrative elements to have.
In general, I find the idea of doing it this way far superior to simple randomization, because I have a lot of control with the input for generating noise.
But this is all very much an experiment, which means it might not even result in anything meaningful. The other thing is that I haven't even added conditionals yet, which would really throw a wrench into trying to visualize the system. I think adding conditionals (ex: some object appears after several others are all in the same state) is really where interesting things will happen.
I wish I was a better programmer, heh.