I was reading through your blog and, in your post dated May 25, 2017 you describe several narrative systems, and the last one you write about you name it “System with Dynamic Requirements”
I’ve been working for a couple years now (on my free time) on a system that is very similar to what you describe: A tool to create narrative very similar to the way QBN does but with dynamic requirements for actors and locations.
The main difference is that it is a system to run over a real time game and the choices are done by gameplay inputs instead of selecting or letting the game select.
The tool provides a visual-node interface to create attributes and rules. The player actions trigger events on the system (i.e. looting a body trigger and event and we can create a rule on the tool that say “when loot event is triggered add attribute looter to the player”) and the attributes are evaluated continuously by the rules and giving results (i.e. If player have looter attribute with a value higher than 5 add world attribute “looter missions activated”)
Of course, there are the dynamic requirements that I’m using as I think the player’s engagement will be higher if the characters used on the story are people they “choose” to met in the game instead of previously designed so I can check if at one point they helped someone to escape or to acquire some item or whatever and later check the list of actors and use that one to be part of the story, or I can check between the locations in the world and create a mission that use a location with a certain attributes instead of always the same location for the same mission.
My question is: Do you know about other projects working on the same line?
Sort of, depending on how precisely you define “the same line”.
I know of projects that make use of Node-RED to visually define rules for various purposes other than interactive narrative rules.
I know of IF games, including my own, that allow the player to unlock new gameplay and story sections with any item that matches some general requirement; and sometimes a puzzle will have multiple solutions, but the specific solution the player picks turns out to be important or expressive in some way, or is used to judge the protagonist’s character.
I know of experiments with dynamically-gated story elements — most (but not all) of these tools in the academic space rather than among hobbyist IF tools or (for that matter) commercial video game tools. You may be interested in Ian Horswill’s Dear Leader’s Happy Story Time, described here in an academic paper with references and mentions of other related academic projects, or here in a video talk. (The references here provide a lot of potential further searches, with context.)
I know of realtime games that serve up specific beats depending on what tags are currently matched about world state. See Elan Ruskin’s work for Left4Dead, covered in this excellent talk. This is salience-based matching for various world states, which then in turn influenced the design of the dialogue-fitting in Firewatch. Not the same as constraint solving, but relevant to some of your other points about wanting to unlock specific story beats if the player has the right background.
I do not know of an existing tool with all the features you describe: a visual interface to create the rules for a dynamic-conditions interactive narrative system, applied to a realtime experience. (That’s not to say no one’s building one. I just haven’t seen it.)
That said, I’d like to suggest that you’re opening not just a technical space but a challenging design space, and you’ll want to test your assumptions about the player experience. There are some finished, public examples of games that do play a little in this space. For instance, games in the Fable series assigned story importance to figures the player had spent time with. I would suggest, based on my experience with that, that your initial assumption (“the player’s engagement will be higher if the characters used on the story are people they “choose” to met in the game instead of previously designed”) may not be true in all cases.
2 thoughts on “Mailbag: QBN System Variants”
To the original asker – I have been working on a narrative engine that I believe is somewhat similar to what you have described and asked about. It is called the Elm Narrative Engine (http://elmnarrativeengine.com/) and works by creating a set of rules that each include a “trigger”, “conditions”, and “commands” to change the story world if invoked. On every interaction, the engine finds the best matching rule given the conditions of the story world at that point. I plan on adding a quality based system to the rule-matching for more dynamic options.
Most directly related to your question, I am currently working on a web-based visual editor to build these rules, with integrated testing and analytics. I have also experimented with ways to combine my engine with other graphical tools such as “Tiled” (you can see more about that on the blog at the link above if you are interested).
It sounds like our tools are similar in approach and purpose. I’d be curious to see more of your tool, and possible we can compare notes. Feel free to contact me at the included email.
Lot of great info!
I already knew about some of it and I’ve been reading, viewing and playing through the rest.
I don’t know how I was missing until now your article about Fable II and I have some questions about your last paragraph of this post after reading it.
You say on the article that you made (unintencionally) one NPC to fall in love with your main character. He started following you until he was lost after you flee from a fight, leaving him at the bandits mercy, and you state that you felt guilty about that.
Don’t you think that guilt feeling was higher because you were the one that decided to invest time on that specific NPC, and (even if it was not your intention) it was because you made him follow you the reason he was lost at the bandits’ hands? Do you think the guilt you felt would be the same if it were a predesigned character that is presented to you as already your fiancee on a 30 second cutscene and then without further interaction with him you have another 20 seconds cutscene later on the game where he is killed and someone blames you? I don’t think so… and that in the case you liked the character, that is something that we can’t take for granted when talking about predesigned characters.
Even if you can achieve a higher dramatic effect on a cutscene I think the investment of being you the one who chooses and then lives the consequences will make a bigger impression… and… What if we make use of the NPC you invested time with an actor on the cutscenes? Doesn’t it sounds great?
What I got from the Fable II article is that the main problem is how the game communicates with the player: It wasn’t clear what the ring symbol was meaning, it wasn’t clear what happened with the NPC, it wasn’t clear how the game was choosing which actions you made were important… but I think it sucessfully managed to raise your engagement with an NPC by giving consequences to the fact that you “choose” to spend time with him.