Thoughts On Interactive Fiction Design
7 years ago
I just finished playing "Sunless Sea" and tried a game made in Twine, and I beta-tested "The Pirate's Fate". They have me thinking about the design of different types of Interactive Fiction.
The first type of IF was based on "rooms", with a notion of creatures and objects in them. (Eg. "Zork".) That's a good structure if your focus is on moving between locations, but it's hard to work with if you want to have a lot of events happen there. That is, if you want something complex to happen in a certain place, you might have to build that event implicitly into the items/creatures with a rule like "if the player uses X item in Y room, this happens".
Then there's an event-focused system as in Twine games. There, a game is divided into "passages" that may or may not be linked to physical locations. In my Twine game "Dragon Fate", the focus is on moving around in a dungeon, but there are often multiple passages used to represent one physical room. A section with a booby-trapped door was especially hard to set up because the room could exist in three states, and the game had to track which one existed and send you to the right version. If I'd built that with a Zork-style game engine, the trap probably would've been easier to program.
What a Zork-style engine doesn't do well is time. There aren't really scenes or time periods, unless you treat them as like parallel universes that happen to have similar-looking room layouts. I noticed this with the Inform engine, too. Twine can handle time passing just by not letting you backtrack, and treating the passages as events rather than locations.
"Sunless Sea" uses a system closely related to their freeware game "Fallen London". The basic mechanic is that you collect event flags everywhere and they're explicitly shown, with pictures. Event flags are normally hidden trigger information like "you've beaten the dragon", which a game can check to do something like changing an NPC's dialog. This game makes everything into an event flag, possibly with a number, and indicates what you need to unlock certain choices. A certain event for instance requires "40x Supplies For the Passage, 0x Horizon Codex, 1+ Searing Enigma", where the first one is the product of a long quest chain, the second is the reward for completing this event, and the third is a sort of rare treasure. These flags can also be linked to a stat that's handled the same way, by some mechanic like "you can click this, but whether you're taken to a success or failure result depends on whether your Iron stat + 1d100 > X". That system brings chance into the outcome. Because the choices in any one situation are all visible, along with their requirements, there's some innate spoiler activity. On the other hand, the player is aware of what other opporunities exist, even if it's not clear what you have to do to earn a flag like "Unaccountably Peckish". (Don't.) These flags have to all be given unique names to link them to specific quests, as with the "Supplies For the Passage" which are unrelated to "Supplies For the Work" and "Supplies". "Morrowind" shows signs of similar naming oddities, because a phrase like "help with a certain problem" has to be unique to one quest if it's not to interfere with others.
Because this text-adventure system is built into a game where you're basically steering a boat around, the core of the interaction is that a menu of choices pops up whenever you reach a port, and there are triggers at sea based on randomness or factors like running out of food. As I recall, "Fallen London" works more by dealing you a random set of "cards" triggering events, where the possible card draws are based on what flags you currently have, then letting you pick the order to resolve them in.
This system also is odd in how it handles time. There are multiple time variables linked to specific places or events, and a master time variable whose purpose is to hand you a "Something Awaits You" flag every so often while sailing, causing special once-per-port-visit events to happen. For instance, visiting the Melting Isles lets you spend Something Awaits You either to dine with the locals or to forage for supplies, but then you have to leave and wait before you can do either again. Quest chains are handled, as in "The Elder Scrolls", by tracking a number from 0 to 100 to represent every possible status of the quest. But they're also tracked in the form of what other items/flags you possess, so for instance a Nephrite Ring represents that you've done X and can be used as a trigger for another event.
I beta-tested "The Pirate's Fate" and thought the design of that was interesting. Because it's a visual novel, the focus is on conversation scenes that happen in a scripted order. I auditioned to help with that by writing a segment for the game, but the writers correctly pointed out that what they wanted was very different from the mindset I brought to the table based on "Dragon Fate". DF is non-linear and uses stats and randomness, and focuses on being a long explorer. TPF is focused on character interaction, with physical location used almost entirely as a backdrop for those conversations. At no point, for instance, are you set free in a town to decide to dawdle and explore until you're ready to move on.
I noticed some hidden variables that are vestigial in the finished game. Eg. you can discuss a poker game by saying "I'm morally against gambling" versus "I'll teach you how to cheat" or another option. As I understand it, the game was going to track your replies to such things and trigger a key plot event based on a rule like "if Moralist > Pragmatist do X". But the designers decided to drop that idea and instead have the big plot twists be shaped entirely by your choices in the key scenes. That's good because the player has agency at that moment, but bad because there's less sense of making meaningful decisions at other times. I also felt like the heroine's personality became strongly scripted and out of the player's control once one or two key decisions were made, which again can be good or bad.
Having played all of these games I can't say that one system is best for all kinds of interactive stories. However, it's important to pick an engine that supports the kind of gameplay you want. In particular, what other gameplay is linked to the Interactive Fiction element: nothing outside it, or something simplistic like Sunless Sea's "sail around and try not to run out of supplies" system, or even a complex game like "Morrowind"? Do you want to show a complex location at one point in time, or a series of events where free movement and backtracking don't exist?
My own inclination is toward having movement between locations, with backtracking, relying on event flags to handle plot development. But I'd also want to see some actual gameplay outside of making choices in conversation, and to have that feel well integrated with the storytelling.
The first type of IF was based on "rooms", with a notion of creatures and objects in them. (Eg. "Zork".) That's a good structure if your focus is on moving between locations, but it's hard to work with if you want to have a lot of events happen there. That is, if you want something complex to happen in a certain place, you might have to build that event implicitly into the items/creatures with a rule like "if the player uses X item in Y room, this happens".
Then there's an event-focused system as in Twine games. There, a game is divided into "passages" that may or may not be linked to physical locations. In my Twine game "Dragon Fate", the focus is on moving around in a dungeon, but there are often multiple passages used to represent one physical room. A section with a booby-trapped door was especially hard to set up because the room could exist in three states, and the game had to track which one existed and send you to the right version. If I'd built that with a Zork-style game engine, the trap probably would've been easier to program.
What a Zork-style engine doesn't do well is time. There aren't really scenes or time periods, unless you treat them as like parallel universes that happen to have similar-looking room layouts. I noticed this with the Inform engine, too. Twine can handle time passing just by not letting you backtrack, and treating the passages as events rather than locations.
"Sunless Sea" uses a system closely related to their freeware game "Fallen London". The basic mechanic is that you collect event flags everywhere and they're explicitly shown, with pictures. Event flags are normally hidden trigger information like "you've beaten the dragon", which a game can check to do something like changing an NPC's dialog. This game makes everything into an event flag, possibly with a number, and indicates what you need to unlock certain choices. A certain event for instance requires "40x Supplies For the Passage, 0x Horizon Codex, 1+ Searing Enigma", where the first one is the product of a long quest chain, the second is the reward for completing this event, and the third is a sort of rare treasure. These flags can also be linked to a stat that's handled the same way, by some mechanic like "you can click this, but whether you're taken to a success or failure result depends on whether your Iron stat + 1d100 > X". That system brings chance into the outcome. Because the choices in any one situation are all visible, along with their requirements, there's some innate spoiler activity. On the other hand, the player is aware of what other opporunities exist, even if it's not clear what you have to do to earn a flag like "Unaccountably Peckish". (Don't.) These flags have to all be given unique names to link them to specific quests, as with the "Supplies For the Passage" which are unrelated to "Supplies For the Work" and "Supplies". "Morrowind" shows signs of similar naming oddities, because a phrase like "help with a certain problem" has to be unique to one quest if it's not to interfere with others.
Because this text-adventure system is built into a game where you're basically steering a boat around, the core of the interaction is that a menu of choices pops up whenever you reach a port, and there are triggers at sea based on randomness or factors like running out of food. As I recall, "Fallen London" works more by dealing you a random set of "cards" triggering events, where the possible card draws are based on what flags you currently have, then letting you pick the order to resolve them in.
This system also is odd in how it handles time. There are multiple time variables linked to specific places or events, and a master time variable whose purpose is to hand you a "Something Awaits You" flag every so often while sailing, causing special once-per-port-visit events to happen. For instance, visiting the Melting Isles lets you spend Something Awaits You either to dine with the locals or to forage for supplies, but then you have to leave and wait before you can do either again. Quest chains are handled, as in "The Elder Scrolls", by tracking a number from 0 to 100 to represent every possible status of the quest. But they're also tracked in the form of what other items/flags you possess, so for instance a Nephrite Ring represents that you've done X and can be used as a trigger for another event.
I beta-tested "The Pirate's Fate" and thought the design of that was interesting. Because it's a visual novel, the focus is on conversation scenes that happen in a scripted order. I auditioned to help with that by writing a segment for the game, but the writers correctly pointed out that what they wanted was very different from the mindset I brought to the table based on "Dragon Fate". DF is non-linear and uses stats and randomness, and focuses on being a long explorer. TPF is focused on character interaction, with physical location used almost entirely as a backdrop for those conversations. At no point, for instance, are you set free in a town to decide to dawdle and explore until you're ready to move on.
I noticed some hidden variables that are vestigial in the finished game. Eg. you can discuss a poker game by saying "I'm morally against gambling" versus "I'll teach you how to cheat" or another option. As I understand it, the game was going to track your replies to such things and trigger a key plot event based on a rule like "if Moralist > Pragmatist do X". But the designers decided to drop that idea and instead have the big plot twists be shaped entirely by your choices in the key scenes. That's good because the player has agency at that moment, but bad because there's less sense of making meaningful decisions at other times. I also felt like the heroine's personality became strongly scripted and out of the player's control once one or two key decisions were made, which again can be good or bad.
Having played all of these games I can't say that one system is best for all kinds of interactive stories. However, it's important to pick an engine that supports the kind of gameplay you want. In particular, what other gameplay is linked to the Interactive Fiction element: nothing outside it, or something simplistic like Sunless Sea's "sail around and try not to run out of supplies" system, or even a complex game like "Morrowind"? Do you want to show a complex location at one point in time, or a series of events where free movement and backtracking don't exist?
My own inclination is toward having movement between locations, with backtracking, relying on event flags to handle plot development. But I'd also want to see some actual gameplay outside of making choices in conversation, and to have that feel well integrated with the storytelling.
FA+

V.