The stereotypical villain twirls his mustache while wearing all black clothes and cackling with laughter as he pursues his evil goal. Such all-evil villains are actually boring because they don’t seem like real people. To make villains more realistic and even likable, give your villain problems.
In “Star Wars,” Darth Vader may be all powerful, but he’s constantly arguing with his generals on what the best course of action they should take. These arguments are rarely deadly, but they do show that Darth Vader isn’t all powerful after all, and he must work with others to achieve his overall goal.
In “Die Hard,” Hans the terrorist leader has to deal with a fellow terrorist who wants revenge for his brother’s death. Hans must constantly fight against his fellow terrorist in staying with their original goal and not get sidetracked into hunting down John McClane.
In “WALL-E,” Auto the computer controlling the spaceship, must work with the captain to keep the spaceship operational. Because the captain is starting to get curious about Earth, Auto must try to keep the captain from helping WALL-E.
By giving a villain problems, you make your villain more likable and more realistic. Plus you show your villain overcoming goals and engaging in conflict, both of which are crucial to any story. Take away conflict and goals and you have no story at all. Add goals and conflict and now you have an interesting story.
Think of a bad James Bond movie where the villain has no goal other than to fight James Bond. That’s boring. Now think of a good James Bond movie where the villain is overcoming problems and pursuing a goal and that villain is suddenly far more interesting. With an interesting villain, you also have an interesting overall story.
Just as your hero needs to pursue a goal and overcome conflict, so must your villain pursue a goal and overcome conflict. That means giving your villain problems so we can see the villain struggling to achieve his or her evil goal that the hero must ultimately stop in the end.