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.