What Makes a Truly Great Villain

First a brief introduction. My name is Jay. I’m one half of the Grumpy Dungeon Masters podcast. I’ve been Dungeon Mastering for more than 3 decades at this point. I started playing with red box edition and soon moved to advanced dungeons and dragons.

My hope for this site, podcast, and my articles is to help give you some inspiration and creativity when trying to come up with ideas for your campaigns. The dungeon masters guide has a great section of creating villains on page 94. I’d suggest taking a look at it when coming up with new bad guys for your game.

Using some great villains as inspiration can help breathe life into your own creations. Darth Vader, Thanos, Jean Baptiste Emanuel Zorg, or Fire Prince Zuko. Each one has their own motivations, belief structures, and desires. Through excellent storytelling and well crafted narratives each of them was brought to life.

Each one has also been given a chance for redemption, except for Zorg who was killed tragically in an explosion near Floston Paradise. No matter the story arch designed for them these villains are some of the greats for a reason. 

Guild Adept PDFs - Available exclusively @ Dungeon Masters Guild

Why villains do what they do

Villains are flawed individuals. Oftentimes they have suffered through life, tragedy, or at the hands of others. Thanos was born a freak on his native moon of Titan. At birth he looked completely different than the rest of his kind. This led to him being picked on and persecuted. 

A lifetime of suffering can drive an individual to do things others would think horrible. To the villain it is the only thing they know how to be.

Some people are also just sociopaths. This is your classic chaotic evil villain. No remorse or regret for the actions and deeds they have performed. Serial killers would likely fall under this guise.

Many true villains don’t feel that they are the bad guy. Despite the carnage they can wreak upon society so many villains feel they are trying to help society. Doctor Doom never felt as if he was wicked or evil. He was trying to fix humanity for their own sake. 

Keep these things in mind when creating a bad guy for your campaign. Every major heel should have a backstory that led to to be what they are.

Do they have a goal

Each villain should have a long term plan. Darth Vader sought subjugation of the galaxy. Thanos wanted to kill 50% of life in the universe to win mistress death’s favor. Prince Zuko wanted to defeat the avatar to restore his honor.

Does your NPC desire power, money, fame, vengeance? If so, how are they going to get there? If they were wronged by your players they might spend great deals of time trying to track them down and have them followed. Biding their time in the shadows just waiting for the perfect moment to reveal themselves.

There can oftentimes be power discrepancies between the heroes and the villain. Luke Skywalker was not at Darth Vader’s level in the beginning. This is where pacing for the villain becomes important. Vader’s goal might have begun as seeking power, but when he discovered his son was alive he altered his goals. He wanted to bring Luke on board with him.

If the two had first met in head to head combat early on Luke would not have stood a chance. Through proper pacing of the films he is given time to gain experience and to learn. Although he’d had brief encounters with Vader options to survive were granted to him. 

Make sure to pace such encounters. Don’t introduce them too early. Work through minions in the beginning. Wait to reveal the villain at a mid-point of the campaign so that the players can work against them for a long time. The final culmination of it will pay off greatly in the end.

When running encounters with Villains always remember what their goals and desires are. Work to make the players hate them, but offering a redemption outlet can be incredibly powerful. If you have great players they will work to redeem the villain and if that proves impossible they will bring them down in the end.

Leave a Reply

%d bloggers like this: