The cornerstone of successful storytelling depends on an engaging hero or protagonist. Why else would an audience want to watch a character who isn't interesting or worth talking about?

But sometimes, the villains in some stories are so well-written and well-acted that they become more famous than the heroes they fight against - the very same heroes you walk into the cinema to cheer on. Here are ten of the most epic villains who stole the show:

1. Colonel Walter E. Kurtz, Apocalypse Now: Played by Marlon Brando



2. Roy Batty, Blade Runner: Played by Rutger Hauer



3. Emperor Palpatine, Return of the Jedi: Played by Ian McDiarmid



4. Hannibal Lecter, The Silence of the Lambs: Played by Sir Anthony Hopkins



5. The Dinosaurs, Jurassic Park
 


6. Agent Smith, The Matrix: Played by Hugo Weaving



7. Magneto, X-Men: Played by Sir Ian McKellen



8. The Joker, The Dark Knight: Played by Heath Ledger



9. Colonel Hans Landa, Inglourious Basterds: Played by Christoph Waltz



10. Loki, Thor: Played by Tom Hiddleston