Skip to content
IllusoryScript logoIllusoryScript

The Devil You All Know: Collaborative RPG Villain Creation

A post on illusoryscript.com

Build the Villain Together

We GMs often arrive at session zero of our RPG with a clear idea of who the villain is. Maybe we even have their stat block ready to go, name and all. But what if we didn’t? What if, instead, we built our main RPG villains with the players, using their character creation process to flesh out the very person (or people) they’ll be hunting for the next dozen or more sessions?

In my recent D&D campaign Vengeance of the Fey, that’s exactly what I tried. The hook was simple: a tribe of elves has been betrayed by three of their own, who fled into the Feywild. The players took on the role of those who volunteered to pursue them and bring them to justice.

Instead of presenting the traitors as prewritten NPCs, I used character creation in session zero to build the D&D villains together with the players.

Step 1: Bring the Premise, Not the Villains

Show up to session zero with your campaign hook, but leave the details of the RPG villain open. You don’t need names, motivations, or stats. Just the broad strokes. In my case: three traitors escaped into the Feywild. That’s enough.

Step 2: Tie Player Characters to the Villains

When players build their characters, offer them options that connect their backstories to the villain(s). In Vengeance of the Fey, I gave players a list to randomly roll on (or choose from). Each option tied them directly to one of the traitors:

  1. Sibling

  2. Uncle, aunt, niece, or nephew

  3. Cousins

  4. Acolyte of

  5. Friendly rival

  6. Childhood friends

  7. Student/teacher

  8. Murdered a loved one

  9. Stole something valuable

  10. Received a divine vision

  11. Was saved by them

  12. Escaped together

  13. Both haunted by the same nightmare

  14. Ran away together

  15. Secret admirer

  16. Ex-lovers

  17. Co-workers

  18. Was enchanted by them

  19. Escaped a debt

  20. Was humiliated by them

Step 3: Flesh Out the Traitors Together

Once a player chooses or rolls a connection, ask them: What were they like? If they were childhood friends, what kind of mischief did they get up to? As co-workers, what job did they do together? If the traitor murdered someone dear to them, who was it, and how did it happen?

One of my players decided their traitor-sibling murdered their parents during the betrayal. That single detail shaped the whole arc: it meant the villains were targeting tribal elders. Suddenly I had a motive. The elders knew something. Something the traitors wanted to silence.

By the end of session zero, we had three villains, each one deeply intertwined with the characters. Their motivations grew organically from the stories the players invented. The betrayals felt personal.

Step 4: Detail the Villains

Finally, we take the ideas we generated together with the players in our D&D session zero, and detail the villains’ motivations, personalities, and backstories. In Vengeance of the Fey, I did not know more than the general campaign premise before session zero. Afterwards, I was able to sketch out the rest of the campaign from the material generated during session zero.

Summary: Building Villains Together With the Players

  1. Come to session zero with a strong campaign premise, not detailed villains.

  2. Prompt players to connect their characters to the villain using a list of relationship prompts.

  3. Build the details of the villains collaboratively during session zero.

  4. Derive the villains’ motivations from those personal connections.

Try This at Your Table

Yes, it can be scary to let go of control and not know who your main villains are going to be. But if we embrace uncertainty in our games, the blank spaces in session zero are fertile ground. Let your players help you fill them. When we build our RPG villain together with the players, we build better stories—ones that feel dramatic, urgent, and personal.