I was recently reading an interesting post on Emily Short’s blog about how she handled conversation in her most recent Interactive Fiction project. You can read the post in question here.
The gist of it, for those who’d prefer a synopsis, is that she’s moved away from the conventional model, in which the player chooses something to say, and the NPC responds, then the player chooses something else to say (possibly with new options now), and the NPC responds again, and so on. Instead, she’s given the NPC as much agency in the conversation as the player - the NPC will now have a list of things he or she wishes to say, and an order to say them in, and will go down the list until they’ve said everything they want. In the meantime, the player can say or do whatever he or she likes, and these words and actions will tend to add and/or remove elements from the NPCs list.
These elements can be either immediate or postponed - which determines whether they’re added to the top or bottom of the list - and either obligatory or optional - which determines whether they’re removed from the list or not when the topic of conversation shifts.
Reading this, it occurred to me that you could use such a system to create a highly non-linear RPG, by simply extending it to cover actions as well as words, and also to include entities other than just NPCs (e.g. the environment, a whole group of monsters or even a distant kingdom could be an entity with a list of things it “wants” to do). Also, these actions would need to have a setup and a recovery time, as global events in an RPG don’t fall as neatly into a turn-based structure as conversation in a piece of IF. Aside from these changes, however, the basic idea remains unchanged.
Today, I’ve spent a lot of time thinking about how one would go about designing such a game, and I think the answer is to take the player out of the game to begin with, and come up with a story that would take place without any player intervention at all. Once you have that worked out, you can break it into one or more cause-and-effect chains, in which actions taken by one entity add actions to other entities’ to-do lists, and so on down the line. The player’s actions could then prevent some of these events from taking place, or change their outcome, or cause entities to take other actions entirely. In this way, there’s guaranteed to be a story of some sort going on, and the player can meddle in it however much he or she likes.
I think this system would be best suited to small games, because the system gets very complex very quickly, and the non-linear nature of the gameplay would give the game a high degree of replayability, so a long play-time might be more of a drawback than a positive. To manage the complexity in a larger game, the thing to do would probably be to divide the game world up into a number of isolated “islands,” (e.g. towns) whose entities only interact with others within their own island, and only major events in one place affect what happens elsewhere.
As an example, here’s an idea for a very small game I came up with, consisting of a very small number of locations and NPCs.
There are two towns. The one in which the player starts, we’ll call Hometown, and the other we’ll call Awaytown. Both towns have a few important NPCs, and a number of generic NPCs who only share rumors with the player, or give him minor tasks with minor rewards, and little impact on the main plot.
There are two ways to get from one to the other - a pass through the Mountains, and a Road through the Woods. The mountains also contain a wizard’s hut and a cave full of faeries, while the woods contain a bandit stronghold.
The major NPCs:
HOMETOWN
Hometown Sheriff, who is secretly corrupt and in cahoots with the Stablemaster (below)
Bartender, who needs a cart wheel, and knows various rumors e.g. about the bandits
Bartender’s son, who is in his late teens
Goldsmith, who makes jewelry, but is currently out of gold, and expecting a shipment soon
AWAYTOWN
Awaytown Sheriff, who is a good guy, and wants to take down the bandits
Stablemaster, who is in contact with the bandits and supplies them with horses and information
Cartwright, who has a young son
ROAD/WOODS
Bandit Lord, who stays in the stronghold most of the time
Bandit Prince, who is the Bandit Lord’s son, and leads the group of bandits who attack the player and/or any NPCs who attempt to take the road between the towns.
MOUNTAINS
Wizard, who has a powerful magic amulet
Faerie Lord, who is dying
Faerie Council, who need the magic amulet and a human child for a ritual to create a new Faerie Lord to replace their dying leader.
The Plot, without player intervention:
- Faerie Council steals the magic amulet.
- Wizard, not knowing who has his amulet, commissions Goldsmith to produce a new one for him to enchant - a long process.
- Goldsmith is out of gold, so he requests a new shipment from The Big City (not accessible to the player).
- Goldsmith asks Hometown Sheriff if there’s any way to protect the shipment from bandit attack.
- Hometown Sheriff writes a letter to Stablemaster, asking him to pass information about the gold shipment on to the bandits, in return for a cut of the spoils.
- Bartender sends his son to Awaytown to get a new cart wheel from Cartwright.
- Hometown Sheriff gives the letter to Bartender’s Son to deliver while he’s there, and recommends that he take the mountain pass, rather than the road.
- Bartender’s Son delivers the letter and acquires the cart wheel.
- Bartender’s Son sees faeries in the mountains on his way back, and rumors start spreading.
- Bandit Prince visits Awaytown at night to get horses from Stablemaster, who also tells them about the gold shipment.
- Bandit Prince attacks caravan carrying gold, and makes away with the gold.
- Awaytown Sheriff tries to enlist Hometown Sheriff’s assistance to form a posse to find the bandit stronghold and get rid of them. Hometown Sheriff refuses.
- Faerie Lord dies.
- Faeries abduct Cartwright’s son, to transform him into the new Faerie Lord.
- Cartwright travels to Hometown to search for his son, hears rumors about the faeries in the mountains.
- Mob is formed to hunt the faeries and rescue Cartwright’s son.
- Mob is caught in an avalanche on the mountain, and all perish if not saved.
- Awaytown Sheriff forms a small posse to attempt to deal with the bandits without assistance from Hometown. Failure. Awaytown Sheriff slain, a few of the posse escape.
- Faerie ritual is complete - Cartwright’s son transformed into new Faerie Lord.
And so, we see that the story has a sad ending if the player does nothing; most of the nice people end up dead, and the bad guys come out ahead. Fortunately, the links in that chain are quite fragile, and the player can bend or break any one of them, and radically change the flow of events.
Early in the story, if the player talks to Bartender or Hometown Sheriff, he could be tasked with going to Awaytown to deliver the letter and/or acquire the cart wheel. If he goes to get the wheel, but doesn’t bring the letter, eventually Hometown Sheriff will find someone else to deliver it, but it will slow down the advancement of that part of the story. Meanwhile, if he does take the letter, he could deliver it as promised, advancing the story normally, or he could open it and read it. If he does so, he could expose Hometown Sheriff and raise a mob to lynch him, or he take the evil route and blackmail Hometown Sheriff into letting him in on the action. Alternately, he could take the letter to Awaytown Sheriff, who will propose that he go back to Hometown, steal Hometown Sheriff’s seal, reseal the letter, and deliver it… so that now, with the player’s assistance, Awaytown Sheriff can arrange a sting to catch the bandits - player, Awaytown Sheriff and a small posse meet up with the gold caravan and hide in the wagons to surprise the bandits.
Another way the player could find out about the Stablemaster/Hometown Sheriff conspiracy is if he happens to be out and about at nighttime in Awaytown, when the bandits come to meet with Stablemaster. The player might end up seeing them and eavesdropping.
Meanwhile, if the player chooses to travel via the mountain pass, he may run into the Faeries and/or the Wizard, depending on how much exploring he does. If he meets the Wizard, he’ll find out about the stolen Amulet - if he manages to figure out that the Faeries have it, and get it back, he’ll have the Wizard on his side. If he meets the Faeries, he may find out about their dying leader. If he’s particularly clever in conversation, he may even get some information about the ritual they have planned. The alternative to creating a new Faerie Lord is, of course, to save the current one, which requires some rare herbs from the Woods. If the player gets these in time, he can avert the abduction of Cartwright’s son. The Faeries may also reward him by giving him the amulet, which they no longer need. He could then keep it (and risk the Wizard’s wrath, if he sees him with it), or return it to the Wizard.
If instead, the player takes the road, he’ll be attacked by a small group of bandits. Assuming he wins the fight, Bandit Prince will attempt to flee. If captured, he will attempt to bargain with the player, saying he’s impressed with the player’s combat prowess, and inviting the player to join them. This would kick off a whole “evil” plotline, in which the player is with the bandits. Alternately, the player could turn Bandit Prince over to either Sheriff. Hometown Sheriff will, of course, set things up so Bandit Prince can escape, which will possibly help the player realize what’s going on. Awaytown Sheriff, on the other hand, will interrogate Bandit Prince to find out the location of the bandit stronghold, possibly leading to an attack on it, possibly with the player’s assistance… and, possibly even with the help of the Wizard and/or the Faeries, if he’s achieved happy resolution on that side of things.
Of course, the Bandit Prince might also escape, only to show up again later. Or the player might kill him, in which case the Bandit Lord, outraged over his son’s death, would seek revenge - either against the player specifically, or by attacking one or both towns, if he doesn’t have a way of determining who killed him.
Meanwhile, if the Faerie Lord does die, then the player might go to try to rescue Cartwright’s son himself, or he might join the party that ends up getting caught in the avalanche, or he might go up afterwards, to rescue them after they’re caught in the avalanche.
If this all sounds exceptionally complicated, that’s just because it’s nonlinear. There are any number of other possible interactions that could take place too - I’ve just tried to cover the main possibilities, but there are any number of ways the player character could involve himself in everyone’s business, either for altruistic reasons, personal profit, or loyalty to a specific NPC that the player has decided that he likes. Whatever happens, the overall story will probably be fairly short, but dense - this isn’t an epic game, by any means. However, the player should be able to play it several times, with a radically different experience each time through… almost any NPC or group of NPCs can end up being an ally or an enemy, depending on what the player does, and certain locations (the inside of the faerie cave and the bandit stronghold) might not even be seen at all in a given game!
Also, the possible permutations and combinations of PC-NPC and NPC-NPC interaction grow exponentially as more are added. With just four main areas and a handful of entities, the game is already quite complex - just a couple more locations to visit and a few more active parties with their own agendas, and the story would be truly unpredictable and surprising. The ultimate goal, of course, is to make an RPG that is actually a role-playing game in the true sense of the term, similar to the experience one has playing a pencil-and-paper RPG.