Names are very important. If you're making a game with specific characters, you need to be very careful to name them something that grabs the player.
But if you're working on something with random characters, names are... an interesting issue.
Many games simply leave random people's names blank, or name them "CLERIC_03", and let you change it. I don't think that's a very good solution.
But the "Big Bank o' Names" isn't so hot, either. Most names are pretty dull, and even the cool ones are unlikely to fit whoever they get assigned to.
So, I like making name generators.
I've tried lots of things. I've got a solid generator for realistic-sounding names for strange cultures, for example, where each culture can have their name dynamics tweaked easily so that things "sound right".
That works okay.
My most recent project is a kind of Ogre Battle clone.
One problem with these kinds of games is that I always want to get closer to the characters doing the fighting. The people you hire in these game are all faceless clones.
One way I decided to break this was by having skin tone, costume, costume color, hair, and hair color vary from character to character. So you can have something slightly more visually distinct than the squads of identical characters you find in all other games like this. (Downside: Extra hairstyles and costumes require more cells of animation. Fortunately, I'm not gonna bother to animate anything at all, so it's moot.)
But another, probably more important method to distinguish characters is by their name. A good name immediately paints a picture in your head. Even without any other social cues, you get a feeling for the personality of the character.
For this game, I made a list of about seventy random words, and I just toss them together.
This works great. It produces a lot of misses (boring or totally nonsensical names), but since the player will have a large number of characters, he'll use the ones with names he likes.
From this I get some really great names, like:
Short Hungry Warrior
(Dozens of one-word names, like "Smoke" and "Rain").
And some really dumb names, like:
Spider Young Rider
Singular Jade White Forest
Timid Dancing Ruby Window
I think that's pretty good, for two hours work. :)