Diablo III is satisfying to play in a lot of ways. Setting aside a handful of complaints about generic-looking monsters and problems with the servers... well let me get down to it. The writing is horrible.
It's predecessor, Diablo II, is universally accepted as a great game. It's the kind of game that you play until you're bored of, then 6 months later it's fresh and fun again. It did a lot of things gameplay-wise that Diablo III seems to have adapted, and while the story wasn't complete gold it had some interesting elements that I still love. The cut scenes of Marius following the Dark Wanderer told a really compelling story, and the idea of the mage Tal'Rasha sacrificing his body to imprison Baal was good stuff.
By comparison, story of Diablo III is downright vanilla. This isn't the result of a single thing. It's a lot of things.
Diablo III gave player characters a voice. A really boring one. When I first heard the Barbarian talk about his people and the honor and glory of battle, I was jazzed to learn all about him. The feeling quickly subsided while completing ACT 1. Suffice to say that no, we don't learn about that. We don't learn anything about any of the characters in Diablo 3 because they're all cardboard cutouts. By the time I was half way through ACT 2 the only thing I could think was "ugh, do I really have to listen to another half hour of talking before everybody realizes Emperor Hakan is the demon of lies?"
The player characters get in the way of real storytelling. With no player voice in D2, there was a decent amount of monologue, but at least it delivered a complete message. So what's worse, having no player voice, or having a voice that's so vanilla that they might as well not be talking? If all the Witch Doctor has to add is "I will find the Sin Hearts and destroy them!" then what are we gaining? There are even moments in dialogue where some interesting questions are about to be asked asked, only to be brushed off by an inserted: "this isn't important. What's important is that we continue on blindly to ACT 3 and not question anything!" Thanks Demon Hunter, we didn't really need to know what a Nephalem was anyway.
In an extremely tactful plan to conserve man hours, they've given all NPCs the exact same reactions to the player character dialogue. This essentially makes the Monk, Wizard, Barbarian, Witch Doctor, and Demon Hunter the same person. They're all obsessed with defeating demons. Nobody can stand in their way! They will bring light and justice to this land and discover the truth because... well... because they are the hero! No other explanation or motive is given. There are no side quests to explain why the Wizard is the cockiest bastard on the planet. We never learn the details of the Monk's order. The most we ever get is their take on the weather when the Scoundrel comments on how hot the desert is. The answer is always "yes, the desert hot, but we can't let that stop us from defeating Belial."
Perhaps inspired by the success of Valve's humorous character banter in Left 4 Dead, or the comments between party members in BioWare's Dragon Age, Blizzard couldn't resist the temptation to throw in pointless dialogue during gameplay between hireling and player. They each consist of a comment that introduces a topic, a generic question in response, and an almost-witty answer. You'll get to hear each one about five times before beating the game. There are also three or four battle cries for each hireling which players will have memorized by the time they complete normal difficulty. If I have to hear the Templar say "By all that is holy do you see that enemy over there?" one more time, I'll... well shit, I'll keep playing the damn game, but it will drive me nuts in the process.
It's not just the hirelings and the player characters. In fact some of the worst dialogue comes from Leah and our beloved Deckard Cain. Leah may be the most unlikable character in the game, painted as an innocent (read: clueless) Agent Scully who studies under Cain, she's also the last one to believe him when he warns that Diablo is coming. Even after Cain's death, it takes a memory-flashback from Tyrael to somehow convince her that shit is getting real, and she'd better keep that giant book of Diablo-related secrets she was about to burn.
Our reintroduction to Cain gets a great start with the cheesiest line in the game: "The Skeleton King?!" Yes Cain, it's a big skeleton with a crown. Forget that you know all about King Leoric and who he is. Ignore the fact that you're currently being chased by skeletons. The Skeleton King responds just as every single bad guy in the game responds:
"Now you shall suffer just as I have suffered! Your victory is meaningless! Terror will fall across the lands and everything will be destroyed! I will become all powerful! There is absolutely no way to stop me!
There's an additional barrage of Cainspeak whenever a new demon is killed. This is the game's attempt to insert half-logic where none is needed in order to explain why you're slaughtering a variety of scary looking minions. The most enraging example is Cain's explanation that the Tormented Stingers may look just like giant scorpions, but actually they're itty-bitty pieces of reanimated humans that have had their legs severed and chests ripped open so that demons could put them together in just the right order so that they look like giant scorpions. Also the torture made their tail stingers poisonous... you know, because of madness. So that's what these demons spend their time doing before we show up to the dungeon. They couldn't get actual giant scorpions, so they constructed them out of people parts.
Let's talk about the story. There's a meteor that fell from the sky. Turns out it's a man. Not bad... not bad. Unexpected, even. There's some promise there, but don't get too used to the idea.
Enter Diablo III's second generic bad guy, Maghda. Aside from the butterflies on her shoulders, she's basically like all the other demons. With such great lines as "You'll never get the other piece of the sword! It lies where only the ancients may tread!" Well thanks for the clue, Maghda. We'll see you there, right?
We get the sword. Turns out the black guy that sounds like Tyrael and carries an important sword was actually Tyrael. Well that's it for ACT 1. I hear bad things are happening in the desert so let's head over to Caldeum which hasn't been mentioned until just this moment. When we arrive, we walk around until we meet a guard... oh wait, "I am not a guard," Asheara says. Way to insert random ignorance into our characters. Sorry, but the line bothers me every time.
Long story short, we find Belial without much trouble. There is a moment where we bring Zolton Kulle (D3's equivalent of D2's Horazon) back to life. He shows a little more depth than all the other bad guys. Tyrael and Leah hate him because he's so corrupt (all while overlooking Adria's obvious and inevitable betrayal), and slowly the thought of having an evil but useful character in the party becomes kind of exciting. There could be some real tension there. Don't worry though, Kulle turns against you 5 seconds after being revived and you're forced to kill him for ph4t l3wt, but not before he delivers this gem: "This fetid air fills my ravaged lungs! I am alive again!"
Oh gee.
Nothing happens in ACT 3. Not until the end. No, really. We get to hang out with a lot of sick and wounded people in Bastion's Keep while Azmodan appears as a giant floating head and reminds us that our last victory was meaningless. If you scroll back up and re-read the Skeleton King's dialogue in a really deep and electronically-altered voice, you'll get the gist. Not even the other NPCs take him seriously.
Leah stays in the basement the whole time with her mother, shooting containment beams at the black soul stone, Ghostbusters style. It can barely hold the four demons imprisoned inside without constant concentration, yet with Tyrael's guidance all the good guys are bent on shoving Azmodave in there as well. Nothing bad could possibly- OH SHIT, something bad happened!
So Leah is Diablo now. She was creepy for about five seconds until she transformed into a strangely feminine, hip-swaying, breast-having big red dinosaur Diablo. There is no explanation for this. Mind you there's a 2 minute speech by Cain on the horrible truth about The Butcher being not just one dude you fought in Diablo II, but multiple demons - all of which are sewn together parts of other demons with an aptitude for cutting meat.
The dialogue between Diablo and the angel Imperius (with his ridiculous giant metal halo) is just what you would expect at this point. Leah's death goes completely unmourned as we jump straight into ACT 4: an act so brief and straightforward that we don't even have a new town full of characters to talk to. Just the same stinky cellar full of wounded Barbarians (Nope, sorry, still no Barbarian character sub-plot).
While Diablo and Diablo II ended with uncertainty, the ending for Diablo III is as saccharine as you can get without having all the dead good guys come back to life and throw a parade. Beams of light clean up the mess in Heaven, and despite the death and destruction that was caused, we all get a happy angel chorus as the curtains close and 10 minutes of credits scroll across the screen.
Twelve years in the making, a lot of people were expecting more. I guess what I want to know is - what happened? The story presented in Diablo III is almost base-line. A set-up story. There are so many things that could have happened but didn't. Someone was in charge of making this for a very long time, and instead of introducing intrigue they stuck with "Evil things happen when two demons release Diablo who destroys heaven. They player stops it by killing Diablo. The end."
Amid the eye-rolling and mockery of terrible dialogue read by sub-par voice actors, there's something even more disappointing when you realize that a lot of work went into the development of this game. Some of the dev teams got it right and some didn't. It's just too bad that the ones who dropped the biggest ball were the writers when, unlike skill balancing and server stability, a story isn't something you can fix with game patches. We'll see if they repeat their mistake when the expansion comes out, because you know there will be one eventually.