§4.6. Plot Management

A plot manager (sometimes called a drama manager) is a piece of the program whose job it is to plan out events so that, whatever the player does, the story advances and an interesting narrative results. The plot manager might, for instance, decide that the player has wandered around for too many scenes without making any progress, and might compensate by making something happens that gives him a new hint on his current problem. It might trigger characters to act when it thinks the story should be reaching a crisis point. It might introduce new complications when it determines that the player is running out of problems to solve.

This is a theoretically challenging field. Sophisticated plot management requires that the game make difficult guesses, such as whether the player is "stuck" and what the player is working on right now. The advantage of using such a system is that (done very well) it makes the story extremely responsive to the player's behavior, which means that he is a real agent in the unwinding of the plot. It also contributes to the replayability, since trying the game a second or third time will produce quite different outcomes. But it is procedurally difficult to design a good plot management system and it requires a huge amount of content, as well: in order for the plot manager to give the player hints, change the course of events to suit his focus, and so on, the game has to have available many, many more scenes than will ever occur in any single playing.

Fate Steps In is only a very brief sketch in this direction, one in which the "fate" entity is trying to accomplish an end goal and, every turn, looks for ways to push the game towards that conclusion, whatever the player does.

* See Goal-Seeking Characters for alternate ways to make characters act on their own


arrow-up.pngStart of Chapter 4: Time and Plot
arrow-left.pngBack to §4.5. Flashbacks
arrow-right.pngOnward to Chapter 5: The Viewpoint Character: §5.1. The Human Body

One of the nice things about before rules for actions is that they allow us to express some planning for characters other than the player: we've already seen how this works, a bit. But we could also use before rules to write plans for an abstract story-driving entity, rather than for other individual characters. This story-driver could be in charge of all the non-player characters, as well as spontaneous or natural changes in the environment, shaping the narrative around the player's behavior.

The following example is a very simple one, but the same concept could be worked out in a great deal more complexity, with all sorts of alternative procedures available to our story-manager:

paste.png "Fate Steps In"

Fate is a woman. After deciding the scope of the player: place Fate in scope. The description of Fate is "Not smiling." Instead of doing something other than examining to fate: say "As if."

Every turn: try fate tripping.

Tripping is an action applying to nothing.

Carry out someone tripping:
    if something dangerous (called the trap) is in the location:
        say "Lise chooses this moment to lick her fingers -- it's not gross, it's natural, you decide -- stand up, and head for the door. Unfortunately, her path crosses directly over [the trap]. There is a vaudevillesque moment where you try to warn or catch her; the next moment she's on the floor, looking shocked and also in quite a lot of pain. 'I'm not sure,' she says to you steadily but with unfocused gaze, 'but I think I might have broken my tailbone.'";
        end the story saying "Well, she's paying attention to you now".

Before someone tripping when the location does not contain a dangerous thing: try the person asked making a mess instead.

Making a mess is an action applying to nothing.

Carry out someone making a mess:
    let calamitous object be a random visible supporter which supports at least three things;
    if calamitous object is a supporter:
        say "[The calamitous object] tips over, spilling [the list of things on calamitous object] all over the place.";
        move the calamitous object to the location;
        now every thing on the calamitous object is in the location.

Definition: a thing is dangerous if it is not the carton and it is not the table and it is not a person.

Before someone making a mess when a safe supporter (called target) is visible:
    if Lise carries something, try Lise putting a random thing carried by Lise on the target instead.

Instead of someone making a mess when the tray is on the table:
    say "Just at that moment, a large blond man-thing in a red jacket walks more or less through you, and you come into violent contact with the table, knocking [the list of the things on the table] onto the floor.";
    now every thing on the table is in the location;
    now every thing on the tray is in the location instead.

Definition: a supporter is safe if the number of things on it is less than two.

McQuerry Dining Hall is a room.

The table is scenery in the dining hall. The table is a supporter.

Lise Fitzwallace is a woman in the Dining Hall. "Lise is at the nearest table, not apparently paying any attention to you." The description of Lise is "A capella singer, women's rugby champion, general object of attention from all genders. Unlikely to notice you unless fate smiles broadly." Lise carries a fork, a napkin, an empty glass, and a plate of half-eaten eggplant parmesan.

Report Lise putting something on something:
    say "Lise, still deep in thought, absently puts [the noun] on [the second noun]." instead.

The carrying capacity of the player is 2. The carton of chocolate milk is in the Hall. "There's a carton of milk beside you, which you set down for a moment -- but you do want it."

Instead of taking something when the player carries the tray:
    say "You've got both hands full with this tray."

The player carries the tray. On the tray is some macaroni and some overdone chicken. The macaroni and the chicken are edible. The tray is portable.

Test me with "get milk / put tray on table / get milk".

Test again with "drop tray".

***ExampleFate Steps In
Fate entity which attempts to make things happen, by hook or by crook, including taking preliminary actions to set the player up a bit.

One of the nice things about before rules for actions is that they allow us to express some planning for characters other than the player: we've already seen how this works, a bit. But we could also use before rules to write plans for an abstract story-driving entity, rather than for other individual characters. This story-driver could be in charge of all the non-player characters, as well as spontaneous or natural changes in the environment, shaping the narrative around the player's behavior.

The following example is a very simple one, but the same concept could be worked out in a great deal more complexity, with all sorts of alternative procedures available to our story-manager:

paste.png "Fate Steps In"

Fate is a woman. After deciding the scope of the player: place Fate in scope. The description of Fate is "Not smiling." Instead of doing something other than examining to fate: say "As if."

Every turn: try fate tripping.

Tripping is an action applying to nothing.

Carry out someone tripping:
    if something dangerous (called the trap) is in the location:
        say "Lise chooses this moment to lick her fingers -- it's not gross, it's natural, you decide -- stand up, and head for the door. Unfortunately, her path crosses directly over [the trap]. There is a vaudevillesque moment where you try to warn or catch her; the next moment she's on the floor, looking shocked and also in quite a lot of pain. 'I'm not sure,' she says to you steadily but with unfocused gaze, 'but I think I might have broken my tailbone.'";
        end the story saying "Well, she's paying attention to you now".

Before someone tripping when the location does not contain a dangerous thing: try the person asked making a mess instead.

Making a mess is an action applying to nothing.

Carry out someone making a mess:
    let calamitous object be a random visible supporter which supports at least three things;
    if calamitous object is a supporter:
        say "[The calamitous object] tips over, spilling [the list of things on calamitous object] all over the place.";
        move the calamitous object to the location;
        now every thing on the calamitous object is in the location.

Definition: a thing is dangerous if it is not the carton and it is not the table and it is not a person.

Before someone making a mess when a safe supporter (called target) is visible:
    if Lise carries something, try Lise putting a random thing carried by Lise on the target instead.

Instead of someone making a mess when the tray is on the table:
    say "Just at that moment, a large blond man-thing in a red jacket walks more or less through you, and you come into violent contact with the table, knocking [the list of the things on the table] onto the floor.";
    now every thing on the table is in the location;
    now every thing on the tray is in the location instead.

Definition: a supporter is safe if the number of things on it is less than two.

McQuerry Dining Hall is a room.

The table is scenery in the dining hall. The table is a supporter.

Lise Fitzwallace is a woman in the Dining Hall. "Lise is at the nearest table, not apparently paying any attention to you." The description of Lise is "A capella singer, women's rugby champion, general object of attention from all genders. Unlikely to notice you unless fate smiles broadly." Lise carries a fork, a napkin, an empty glass, and a plate of half-eaten eggplant parmesan.

Report Lise putting something on something:
    say "Lise, still deep in thought, absently puts [the noun] on [the second noun]." instead.

The carrying capacity of the player is 2. The carton of chocolate milk is in the Hall. "There's a carton of milk beside you, which you set down for a moment -- but you do want it."

Instead of taking something when the player carries the tray:
    say "You've got both hands full with this tray."

The player carries the tray. On the tray is some macaroni and some overdone chicken. The macaroni and the chicken are edible. The tray is portable.

Test me with "get milk / put tray on table / get milk".

Test again with "drop tray".