No! We can't let it die! Not when I just found this thread! So here's my two cents' worth. Note: Most of these apply to games that are more story-based than not, so your actual mileage may vary:
- When you're beginning to create your game, figure out what aspect of your game has the most impact on the rest of the game and create that first. We're talking pause functions, inventory systems, cameras, etc. You may have a really cool feature you want to implement right away, but if it's only used sparingly in-game, it'd be smarter to get your infrastructure in place first. Build your house before you start arranging the furniture.
- If you're planning on having music in your game that's tied to your main characters (your hero or villain's theme, etc.), write this before the rest of your music. You'll never know when you'll want to lift part of a melody or recreate the entire song with different instruments (part of your main character's melody plays in the music of their hometown, or a character's normally upbeat tune slows way down for their death scene). Remember, you're not creating individual songs. You're creating one unified experience.
- Don't worry about how bad a graphic artist you are. One poorly drawn character is a poorly drawn character. A bunch of poorly drawn characters in a poorly drawn world is an art style. Consistency is more important than quality.
- Sidequests aren't just for padding a game's length or the player's EXP. They should be used to help flesh out the world of your game in ways your main story don't, or can't.
- If you're using a multi-character party or give the player a choice of characters to play as, make them unique in terms of gameplay, not just visuals. Give everyone abilities that are unique to them, make them stand out, and make them more useful in certain situations than other characters. For a good example of how this works, look to things like Borderlands or (glances at the picture to the left) Final Fantasy VI.
- Once you have your character or characters with their unique abilities, design enemies (and environments) with these abilities in mind. Good enemy design tests the player's mastery of their given skills or forces them to use them in new ways.
- While we're on the subject of enemies, Ken Levine once said (and I'm paraphrasing here) that, if given the choice between having your villain piss of the player, or piss off their character, piss of the player. The more the player hates the bad guy personally, the more invested they'll be in your game.
- While I'm quoting, in Stephen King's book On Writing (which I highly recommend; Not all of it can be applied to game design, but a lot of it can), he says "Never tell us a thing if you can show us." I'd say for games, you could also add, "Don't show us a thing if you can make us discover it ourselves."
- At some point, especially when you're just starting out, you'll be tempted to doubt yourself when you get an error and can't figure out why. You'll be tempted to give up on your game until three hours later, when you discover that enemy_health = 5 should have been Enemy_Health = 5. Don't doubt yourself or your ability design your game. Plenty of triple-A titles have crippling bugs, and Zelda II had a character that literally told the player "I AM ERROR." It happens.
One last thing before I stop boring you all. This one is the most important of all:
10. Crossbows. Always. Every game can be made better with crossbows. Tetris, Madden, your game, my game. Crossbows. Think about it.