Today’s mailbag entry (at the request of the submitter, anonymized and edited a little) gets into the question of how to create salience and quality-based narratives and other similar games, given that typically one has to build one’s own.
What I keep getting drawn toward on a personal level is your work–and other people’s work too–on procedural narrative generation. I have enough knowledge of coding to understand states and modeling systems and when to move from one to another on a conceptual level, but at this point I could not make one in any language or engine. I think this is something I would like to learn to do more of...
Obviously I’ll need to learn a language from the ground up. That’s fine. I suppose I’m asking what would be most helpful to focus on–not just in terms of C# or Ruby or Python–but other skills as well… most of my questions/interests are about event generation, procedural chains of causality, etc.
Further discussion with the asker indicated they are talking about the kind of quality-based and salience-based narrative systems I wrote about in the article Beyond Branching; this RockPaperShotgun column about Alcyone also gets into some detail about the state of play in this space.
Systems like this can achieve a combination of player freedom and agency that is hard to reach in CYOA or any other node-based system (I would include ChoiceScript here): there are often dozens of viable choices available.
Meanwhile, because you’re not tied to a specific simulation concept (like the standard parser IF world model), you can adjust the qualities of your QBN to the particular needs of this work. Track your protagonist’s health, her interest in opera, her sense of humor, her tolerance for pain; track her relationships with each of a dozen friends, or a dozen aspects of her relationship with one friend.
On the other hand, the tooling and the design abstractions in this space are not nearly as advanced as they are for parser IF or CYOA/hypertext/stats-based IF, so if you want to work with it, you probably have to build your own.
That’s a topic that could take a number of articles, and there isn’t as much writing in this space to point to as in the parser space.
@craigtimpany
Previously, I wrote about
To state what will be extremely obvious to some of my readers, but probably new to others: this is classic craft territory for parser IF, where maps are generally developed in tandem with plot and puzzles.
Confirmation-required Choice. One of the things Jon talks about sometimes is the use of text to let the player opt in to doing something profoundly stupid, through a series of escalating choices. Are you sure you want to do this? It looks like the monster is getting angrier. Are you still sure you want to attack? Yes? You notice that the monster’s bite is poisonous. Are you going to attack now?
Track Switching Choice. A variant on the Confirmation-required choice is one where the player is allowed to change their mind in either direction for several beats. Later beats might introduce some potential drawbacks and warnings about whatever track the player is currently pursuing. Like the confirmation-required choice, this is a way to give some extra weight to a decision and emulate a situation where the protagonist might be genuinely conflicted about what to do next.