Lately, game storylines have sucked.
That's kind of unfair, I guess. Today's games have sucky stories because they have so much more capability - cutscenes, voice acting, cinematics. It took a lot less to have a good story a decade ago: just a few audio logs or a few dialog trees.
As an industry, we're stretching our wings and finding out that, in fact, we don't know how to fly.
Here is a ten-step guide to not sucking when it comes to storylines in video games. Obviously, this is not an advanced scientific study or some kind of holy truth. It's just what I think is a good idea.
Some of these details are what Hollywood writers are poor at, others are what game designers turned writer are poor at...
1) LET THEM PLAY
It doesn't matter what genre you are. This is a game, and that should be clear within a minute of pressing start. Your initial cut scene should never be longer than one minute, and preferably shouldn't exist at all. There's plenty of time for cut scenes: let us enjoy our game right now.
(Why does Halo 3 have a two minute initial cut scene?)
2) LET THEM PLAY, part the second
Keep cut scenes to a minimum. NO cut scene should be longer than two minutes. If it is that long, you need to split it and put some gameplay (and a save point) between them.
In addition, think about using non-intrusive methods. Asides are frequently all you need. There's no reason to have a cut scene where the characters go, "we need to get to the City of Monkeys". Just have one of them say it in the game engine. Takes less than half as long, doesn't screw up immersion.
3) LET THEM PLAY, part the third
Whenever you plan to switch modes (from play to a cut scene or just between play modes) make sure you have the player's permission. This can easily be done just by making it really obvious that going someplace or talking to a particular character will advance things.
Clear level endings or glowing markers are easy ways to do this.
4) CUT OFF THE NOSE TO SPITE THE FACE, PLEASE
Most game writers are not good dialog writers. They are concept thinkers: "it would be nifty if there were a species of aliens that could only survive while inhabiting photographs of naked women..." Not so good with the character details, because their characters typically simply say, "these species of aliens can only survive while inhabiting photographs of naked women... isn't that nifty?"
This leads to most games having dialog that is too on-the-nose. If you don't know what that means, don't fucking write dialog. Also, if you want to write exposition, don't write dialog. You don't have to explain... anything, really. Mysteries are usually better.
5) TOO MANY PEACHES, PEACHES FOR ME
On a related note, character design. Each character needs to be uniquely designed. That's something the industry is getting pretty good at. However, character design isn't simply visual: each character needs to speak in a distinct way, and each one needs to represent a distinct "flavor".
Think of characters as spices that you add to the "meal" of your gameplay and story. The right spices will make it taste excellent. But too often, character designs in a given game will all be the same spice. How often have you played a game where all the characters are chili peppers? You don't need fifteen different flavors of badass.
You also don't need fifteen different flavors of T&A. I don't mind sexiness (or sex) in my games, but try to show some respect for your characters. They have to feel alive, not like a barbie doll you stole from your sister.
6) HERE BE MONSTERS
Do not stick to the straight and narrow path from point (A) to point (B)oss. A world - and the people in it - only come alive when a bit of exploration is allowed.
Characters should talk about personal things, mention things that are outside the scope of the game. Levels should be designed to feel inhabited, although not at the expense of making them confusing.
Examples of this are clearest in World War II games. The soldiers in your squad feel painfully lifeless when all they say is "clear!" and "six o'clock!" That's why they frequently say things like "tank beats everything!", "I've... I've got a girl back home...", and "Gawd, Cookie, can't you make anything that doesn't taste like fewkin' Spam?"
This is all the flavor of the game. Meat is fine, but raw, unflavored meat?
7) A LITTLE CHOICE GOES A LONG WAY
Seriously, let your players make pacing decisions. Too many games force the player to have exactly N battles before the next plot point. Give your players a little freedom to dick around and really experience the world. At a minimum, let them get color commentary from random NPCs and see places that aren't directly plot related.
Don't worry about balance too much: let them work hard and get a ridiculous weapon, or waste two hours raising a chocobo. Just don't require them to.
We've heard it before. Oooh, another end boss trying to destroy the world? Wow, another pack of alien invaders with superior technology? Sheesh, I've never seen a game with government spooks shooting at me...
There's nothing wrong with using the same basic plot. These basic plots give us a strong foundation to explore from, like making most of your characters humanoid: we can explore specifics and details without having to painstakingly establish everything.
But think of the plot as the meat of your dish. There's a thousand different ways to serve beef, and millions of things it goes well with. Similarly, your plot needs to be accompanied by strong images that really catch people's attention.
Evil villain taking over the world. The game feels radically different if it's set in primal Africa. Imagery is everything.
Pick a theme, pick a set of flavors, push it to the limit.
9) ABSURD RATIONALIZATIONS
This is a game. Your primary game mechanic should also be your primary story mechanic. If your interesting game mechanic is that the main characters are superpowered mutants, then the plot should relate to superpowered mutants. It's kind of pointless if it's just a normal WWII game where you happen to have mutant powers.
By going out of your way to link the fiction of your game to the play of your game, you give yourself the freedom and power to explore that concept in a very directed way. For example, in Eternal Sonata, people only have magic if they are terminally ill. This lets the writers explore various people's reaction to imminent death in a wide variety of ways.
That's kind of a dark example. As a failed example, see Halo. In Halo, the Spartan is the main character. He's only marginally human and has this amazing supersuit. However, at no point in the games does the story really explore this: your enemies are always random aliens, your allies are always boring humans. Your suit never malfunctions, your enhancements never really matter except statistically. The fiction is disjunct. A failed opportunity to have a more flavorful story and more varied play.
10) THEME ME UP, SCOTTY!
Lastly, THEME. THEME THEME. Theme? Theme theme theme theme. Theme.
Theme theme theme? Theme.