I’m particularly—but not exclusively—thinking about quality-based narratives and similar concepts. All discussions on here that I’ve seen (sorry if I’ve missed some) are focused how such techniques can be applied to choice-based narratives, but I see no reason why you couldn’t apply them to determine which maps, NPCs, NPC states, puzzles, and so on are used?
I suppose the typical model of selection being choice-based might seem to clash, but it could be done automatically by the game (cf. salience-based) or through mechanisms like taking tasks off a notice board, taking particular dialog options, etc.
Or am I completely wrong here and it turns out that there would be enough subtle incompatibilities for it not to be worth it?
Emily Short’s earliest experiments in salience-based dialogue – Galatea, Floatpoint, Alabaster, etc – were parser-based games.
The design ideas wound up associated with choice-based games simply because they were equally applicable there, and the audience was way bigger.
I guess the flip side is that creating a QBN or salience engine is a lot of work; it’s generally the central engine of the game. Putting that in as a sideline to an old-school puzzle game is probably splitting your focus too much. Not that you can’t do it!
This probably slipped my mind since I was thinking in terms of more than just dialogue, but it shouldn’t have.
Perhaps, but a system like that would’ve greatly improved Journey from what I’ve read about it (assuming it consequently broke its “a seemingly open IF-RPG hybrid that’s actually an extremely linear game of trial and error” design).
ETA: Technically, you could argue that Journey was a choice-based game rather than a parser, but it came out of a parser-designing culture and I was treating it more as an example of the pitfalls a parser-based IF with RPG elements could fall in to—I can’t recall reading much about Quarterstaff, good or bad, to compare to that instead—and frankly I don’t think changing its interface into a Legend-style layer over the parser would change the experience greatly.
And I can imagine some circumstances in which it could be useful in puzzlers—e.g. a sort of fake-out Brand X/Philosopher’s Quest type scene where you have to take three “key” objects and no matter which three you choose, it turns out you were “always right”, or if you want to randomise which puzzles appear in any given playthrough.
Sure, you could probably do that without such a system, but it’d make adding new items and puzzles easier.
I don’t see a fundamental conflict. Parser games have stressed maintaining a world model, with the choices available to the player expanding or contracting based on its state. So, in one sense, this would just be an expansion of the world model to admit some additional abstract concepts.
The word “just” is doing a lot of work there, I admit.
I think it’s worth considering that parser-based is a hard sell for a lot of people who love QBN-ish choice-games. Meanwhile, there’s a cultural norm that parser-games’ world model is (at least mostly) not just deterministic but overtly so, with the observable state of a representation of a physical world being dominant. I suspect that up-ending that would lose some parser-game fans. (Not a huge number, I think; of course, we are not talking about huge numbers in absolute terms to begin with.)
So an endeavor like this would set one up for a lot of work while somewhat stacking the deck against oneself in terms of likelihood to connect with an audience.
All that said, I think it’s a bad thing that parser-games have ended up with so much baggage surrounding what kind of game they’re supposed to be and I would really like to see more things that flout that.[1]
That forthrigthly flout that, that is… it coming as a surprise after someone had invested time in a game wouldn’t be fun. ↩︎
The problem of turning Journey into a good game remains largely unplumbed in this community. :)
My notion would be to throw away the idea of a strict resource-based puzzle entirely. Keep the resource-based magic system, but (a) allow much more freedom in where you go and what obstacles you encounter, and (b) allow many ways to get past each obstacle, using different combinations of spell ingredients or (in the worst case) none at all, if the player has taken a really sub-optimal route.
This is of course a direct rip of Inkle’s Sorcery game model. (Which they later evolved into 80 Days, etc.)
Then turn the whole thing into a “roguelite” model, where you discover new recipes each time you play through (and keep the knowledge for future runs). So your first run will get you to a pretty miserable ending (not stuck though!). Later runs let you get closer and closer to an optimal ending, as your recipe book grows larger. It stays fun because you keep discovering new ways to solve every puzzle.
Oh, and get rid of the terrible Tolkien-riff setting. :) And the name “Praxix”. And the rest of the characters. Start over with something at least mildly original.
I suppose I should note that I was using it in a broader sense than just dialogue when I started this thread. More in terms of picking the next narrative element based on closest match of global state/qualities/etc without player input. And I was thinking at a more coarser scale than lines of dialogue—more “because the player has frequently used >TONE XXXX to sweet-talk NPCs, they will now face a character with better response to >TONE YYYY which the player has neglected”.
Thanks for explaining QBN and salience, Zarf. It strikes me that they would be somewhat inter-related.
Without giving this too much thought, it seems that this would be hard to implement in a parser-based game. Perhaps an internal state machine? It also seems that the concept of salience would be relevant to a hint system.
I like this idea that if you’re able to have a “salient based” hint system in your game, it can also be used to have better events/NPC that can react to the “current state” of the game.
It can be complicated or it can be pretty simple: the core of it is looping through a table of dialogue quips (or hints, sure) and seeing whether they fit the current situation at all, and which fits “best.” So you need a way to associate a quip with either a scoring function that checks the current world state, or with some sort of data about when it’s relevant that a general-purpose scoring function can check against the current world state.
It’s usually not very state-machine like, since you’re selecting a new quip separately each time instead of specifying transitions. Or rather, the whole game-world is the state.
Glass’s “waypoint narrative” system is much more of a state machine. And the code for that isn’t too complicated: it’s mostly a lot of boilerplate redirecting all user input through that system. A few years ago I did a quick write-up explaining the code a bit.
Anyway. It’s hard to implement a general-purpose system, but a one-off can be pretty simple. The real work is in implementing the content: choosing which scale to work at, making sure you’ve covered all the possibilities with general fallback content, and then building out enough special-case ones to make it feel more interesting than something more linear or simply-branching, but without running into combinatorial explosions.
Diegetic menus—the PC is browsing a notice board looking for jobs, or is replying to email, etc.
Something similar to suggestion-based conservation mechanisms—“You could focus on [aspects X (based on quality A being at ….), Y (unlocked through having item B), and Z (based on quality C being too high)] of the murder” plus >FOCUS X being used to select whichever option
I imagine there’re more options I’m not thinking of at the moment, however.
I was briefly involved with a game project in which you float downriver on a raft. Every island you reach was generated to continue one or more ongoing story threads. That fits well with a salience-based model, because there’s no overall world map – you never go upstream, so every location you reach can be selected randomly or by whatever rules you like.
IRE MUDs implemented a choice based menu for NPC dialogue quite some time ago. Inside the choices are highlighted key words, so players can roleplay their responses to NPCs by including those words in their emotes or says (which admin can see and if it’s interesting, they can take over the NPC for roleplay). You can still interrogate an NPC with guess the words and avoid the choice menu altogether, but you can also go through a guided NPC interaction using point/click or typing in a number for reply choice.