Lesson #7: The Gate
A gate is any obstacle or impediment that prevents the player from further progressing along a game-story path until it the gate is overcome.
Gates are what separate a paperback CYOA from a computerized choice IF game because gates move. Gates are binary in nature - either on/off or closed/open (or up/down, etc). Gates “move” by either closing or opening.
Gates are one of the most powerful tools in the IF author’s arsenal, but it is important to understand that they can be used in two different ways.
Gates as Game Elements
When used as part of the game element of an IF work, the gate serves as an Opponent (Lesson #5).
The player must match their wits against the Opponent until the Opponent is defeated, at which time the gate is opened/activated and the player can now continue progressing along the game-story path.
Parser people often call gates “puzzles” or “fetch quests.”
Common gates used as game elements include:
- Find a physical key to open a door
- Solve an intellectual challenge to unlock a lock
- Kill a monster/NPC that is blocking off an area of the map
- Find a tool/device required to access an area of the map
- Find/obtain an object and use it to bribe someone
- A series of gates daisy-chained together to serve as one “mega gate”
Etc, etc.
Choices made by the player to defeat/overcome the gate have a very high ludic weight and therefore add a boost of adrenaline to the game-story.
Most authors find that using gates as part of game design is a fairly intuitive process.
Gates as Story Elements
Usually, it’s when gates are used as a narrative device that authors can run into trouble.
When telling a story, the author’s intention is to present a narrative to the player, so the story gate is used to improve the narrative cohesiveness of the story.
In other words, story gates allow the author to tell a better story than the one that could be told without it.
The easiest way to use gates as a story element is to tightly bind them to your narrative arc. In other words, each segment of your story is one “level,” and you can’t “level up” until you’ve passed through a certain portion of that level.
For example, if you were writing a murder mystery, you might use a story gate to ensure that the player (a consulting detective) finds some important clues before moving on to the next room in the mansion.
Managing story gates when they are tightly structured like this is straightforward for the author because it compartmentalizes the story into “acts” or “chapters” or “cohesive storylets” while still giving some freedom of movement (and thus, ludic weight) to the player’s choices.
However, where it is easier for the author to get bogged down is when the gates are more flexibly arranged. Many people refer to this type of gate structure as a “stat check.”
Imagine you’re writing a story where the player is unfairly imprisoned in a castle by an evil duke and must escape. Earlier choices made by the player have affected their “stats,” and now you want to put in a story gate that references those stats.
The hideous cackle of the duke's laughter still ringing in your ears, you know that you need to get out of this dungeon and back home to protect your family as quickly as possible.
But how?
*choice
#Sneak out the window
*if stealth >= 50
*goto sneak_successful
*else
*goto caught
#Attack the guard
*if strength >= 50
*goto attack_successful
*else
*goto caught
#Cast a spell of Opening
*if magic >= 50
*goto magic_successful
*else
*goto caught
Oops!
This story gate has no option for the player who has not achieved any of the “stats” and so the player cannot progress further in the story.
And while you might catch this error yourself, there is no diagnostic tool that exists (that I’m aware of) to find the ones you missed. Therefore, always be extremely careful when using elastic gate structures.
It gets even more complicated when you have dozens of simultaneously moving stats to keep track of and then design gates for. Use “stat checks” exceedingly sparingly for story gate purposes!
But look what happens even if you do include a path for players who don’t have the requisite stats:
The hideous cackle of the duke's laughter still ringing in your ears, you know that you need to get out of this dungeon and back home to protect your family as quickly as possible.
But how?
*choice
#Sneak out the window
*if stealth >= 50
*goto sneak_successful
*else
*goto caught
#Attack the guard
*if strength >= 50
*goto attack_successful
*else
*goto caught
#Cast a spell of Opening
*if magic >= 50
*goto magic_successful
*else
*goto caught
#Meditate in your cell
*goto thinking_time
Now you’re telling a story of sitting around and doing nothing in the middle of an action-adventure story about beating up guards, casting spells, and sneaking out of a castle dungeon
And the only reason that you’re telling it is becase you forgot that the purpose of a story gate is to help you tell a better story.
Never let a gate force you to tell a story that you do not want to tell!
Back to the example above about the player in the dungeon, let’s say you, as the author, want to tell a really engaging story along the thief path about how cool it is to be able to sneak around undetected, filch jewels out of people’s pockets, etc.
And so you put the player through a bunch of paces in which they master the art of being a thief. But then they got caught and thrown into the evil duke’s dungeon.
- How does it help you tell a better thief story if you inform the player about the fighter (attack the guard) and wizard (cast a spell) options, especially if the player can guess that they’re probably not going to work?
- How does it help you tell a better thief story if the player actually tries one of these “off-path” options and then fails to progress?
It probably doesn’t.
But something like this might:
The hideous cackle of the duke's laughter still ringing in your ears, you know that you need to get out of this dungeon and back home to protect your family as quickly as possible.
But how?
*if stealth>= 50
*goto thief_menu
*elseif strength>= 50
*goto fighter_menu
*elseif magic >=50
*goto wizard_menu
*else
*goto noskills_menu
*label thief_menu
*choice
#Try to escape out the window
*goto window_escape
#Find something to pick the door lock
*goto door_pick
#Search for a loose stone in your cell
*goto stone_finder
Woah!
Now we’re truly telling a better (and fuller) thief story because we’re no longer wasting time with the wizard and fighter paths
Mind you, there is no one correct structure for a story gate. What matters is that the author asks “Is this gate helping me tell a better, more cohesive story?” before adding it.