Weaving Stories

Classic RPG adventures suffer from chronic flaws. When PCs should to go somewhere, they don't. When they should take interest in an item, they ignore it. Any NPC who will lead them to a secret cave in Chapter IV gets stabbed in Chapter II because the players thought he was up to something. After all the carnage, they decide to flee to some random area they heard of from last session, leaving the DM totally unprepared. No amount of preparation seems to stop the random b-lines the players make.

I made the Story Weaving system to solve these problems. I'll start with an example, and explain afterwards.

Adventure 1: Goblins & Bandits

  1. (Town) The players hear rumours of goblins raids happening throughout the villages.
  2. (Forest) The players encounter bandits who use traditional goblin weapons, such as spears and slings. They have shoes with soles shaped like goblin-feet, so they can leave goblin-like footprints.
  3. (Town) A bounty is offered for anyone who can track down the lair of the goblins causing so much trouble in the local area.
  4. (Villages) Goblins raid the village where the players currently sleep.


  • The goblin lair
  • Bandit lair

Okay, we have an adventure, and it looks pretty normal, but note a few points.

Each adventure can take place in a type of place (Town/ Forest/ Village). Part 1 does not need a particular town, it can take place almost anywhere in any town.

No matter how an encounter goes, the next encounter can proceed. Whether the players kill the bandits in part 2 or not, part 3 will still play out, and the players will know about the bounty on the goblin lair.

A Second Thread

Let's add another thread into the mix.

  1. (Forest) The players encounter a VERY NORMAL HUMAN TAVERN by a river. In fact, everyone there is a polymorphed elf, practising how to appear human. Once the players are caught, the elves surround them and discuss whether or not to kill them.
  2. (Town) The crier announces a bounty on all elves, as well as declaring a number of new laws which now have a death sentence, all from the local Duke.
  3. (Villages) The party spot one of the elves in human form, acting as a trader.
  4. (Town) The party spot the palace guards, on their way to the Duke's citadel. Half are elves in disguise.

Now we can run two threads side-by-side. Let's assume the party start in the town.

  • Day 1:
  • They hear rumours of goblins, and go to the forest.
  • Day 2:
  • In the forest, they encounter the bandits, but manage to remain hidden.
  • Sneaking away slowly, they soon encounter the tavern of polymorphed elves.
  • Day 3:
  • In the town, they hear of the bounty on the goblins, new laws, and a bounty on any elf.
  • They attempt to tell the townsfolk that the goblins are not real, but in fact bandits, disguised as goblins.
  • Day 4:
  • The party still want to track down the bandits, so they move out, but while passing through a village, goblins raid the place.
  • Day 5:
  • Having realized that goblins really are afoot in the area, they rush back to tell the townsfolk.

...and so on.

The two threads play out at the same time. In fact, I've had up to six threads playing at once. This might sound like total chaos, but most of these threads are not being actively pursued, and the players make no plans. Most active threads start with a rumour, or some other foreshadowing. You can even play two together, at the same time. If multiple rumours are being handed out, give the town crier a bit of a speech. If dwarves want to offer the party a deal while bandits want to raid a village, interrupt the dwarves' conversation, complete the battle, then conclude the conversation.

Moving Through the Tapestry

Wherever the party turns - Mountains, Villages, Forest or Town - something new will pop out at them and engage with them. Some rare places, such as the goblin lair, must be hunted and found by the players. Other locations, such as the elvish tavern, appear wherever the players happen to wander (but after that, they remain there).

However the party decide to move, they find something, but nothing in the plot instructs them where they must go. When they want to shift over to the Elven Stronghold, they still find it - some other plot-line simply follows them along, possibly adding complications.

As unrelated quests wander past each other, they often feel like random encounters, and in some sense this description works. Those encounters may feel less random later, but at the time, the band of dwarves moving a full caravan stuffed with chickens won't look like anything important.


Despite the threads being written such that one encounter generally cannot change whether or not the next one plays out, players still retain full agency. Threads don't trundle on by stipulating 'PCs cannot kill this elf', but by adding elves to the next story - if the first elf dies, it may change how the next parts play out, but they can still play out. Players retain the ability to befriend and attack people, to uncover information; they simply cannot stop future events from occurring.

Of course, even focussing on events cannot stop players making a mess of things. When your PCs kill the princess in part 1, you still need to abandon the thread. Luckily, each thread in the tapestry is small, so by losing a single story, you won't have lost much.

Easy GMing

Rather than having thousands of notes about different adventures, and trying to memorize them, the GM should simply have a list of encounters in each area, like this:


  • [X] Goblins and Bandits part 1
  • [✓] Goblins and Bandits part 3
  • [ ] The Blender part 2
  • [ ] The Blender part 4


  • [ ] Goblins and Bandits part 4
  • [ ] The Blender part 3

Give a '✓' to any part once it becomes available, and a 'X' once that part is done. If the players reach the forest, consult the list of what they can do in the forest.

Crossing Threads

Many of the threads I write will say 'run this at the same time as the encounter below'. Consider the following encounter:

  • [✓] The party hear of an all-powerful mage, who travels with three horses and an ornate cart, and speaks with local nobles. (play this at the same time as the encounter below)
  • [ ] The party find the mage being attacked by bandits. His magic is running low.
  • [ ] The mage encounters the party (play this at the same time as the encounter below)

In part 1, hearing about a rumour won't take up much time, and making it the focus of a full scene really feels like taking a hammer to the plot. However, we can combine this with just about any other encounter in the Town. The characters might be at a tavern, or might be uncovering machinations of some local nobles and then attempting to pull information from them - anything at all can serve as a way to tell them a little about this travelling mage.

If the mage dies in part 2, no big deal. But if the party stop and help him, he can help with another encounter (perhaps when goblins are invading a village).

From the outside, it might sound like mayhem. But once you run with the system, you find it leads to rich encounters which feel natural. These crossovers also help to tie the various threads together, weaving them into a more cohesive story.

System Agnosticism

I've used this Story Weaving system for the BIND fantasy and a Vampire: The Dark Ages chronicle. It's always worked well, and provides easy foreshadowing.

Terrain Types & Focus

The examples above always include three terrain-types: Forest, Villages, and the Town. This focus makes the areas interesting, and determines the campaign's focus. With this in mind, you can make other areas.

A James Bond style campaign might have the following areas:

  • San Francisco
  • Russia
  • London

Having 'all of Russia' as the place that players might find Dmitri, or might run into an evil Russian Oligarch, makes the campaign-world feel massive.

Conversely, a tight thieves-guild fantasy campaign might contain mostly town-based areas:

  • The Slums
  • Uptown (where rich folk live)
  • The Walls (where the guards roam)
  • The villages

The villages might contain only a couple of encounters. The forest doesn't even enter into the picture. Of course, the party may wander outside the map, but the world becomes less and less responsive, the further they go. Meanwhile, any time they attempt to move outwards, events tug at their interests.

Consider a party hell-bent on ignoring the plot, and simply journeying to a forest. They ignore the encounter you present in the slums, and move to the city walls. They ignore the next encounter, and move out to the villages.

They ignore it, and move outside, then journey to a nearby village. No matter which village they find, an encounter awaits them, and likely leads back to some point of interest inside the city. If they continue, they villages haven't ended, and the DM runs yet another village encounter.

Solutions Summary

If the PCs wander in some random direction, they will find more plot; always. If they run into the woods, they find a forest encounter. If they remain in town, there will be other threads which pop up continuously. The DM knows every new part, just as long as the players stay roughly within the area, and don't wander off the face of the map.

When the team ignore an item, the DM can just continue to the next part of the story, since most threads should not rely too much on the previous part. And if the PCs kill someone integral to a story, the DM has only lost one small thread; no real tragedy. Many can assault the players all at once, so a loss of one never hurts the campaign.


  • Every campaign has a list of areas.
  • Each strand is a series of scenes attached to one area.
  • The scenes happen to the party as soon as they enter an area - they do not presuppose the party have done anything in particular in previous scenes.
  • Crossover strands mean you should run the next scene in that area at the same time.
  • Set locations exist, but do not presuppose when the characters encounter them.