If you've ever run a tabletop game, you've almost certainly noticed something strange: the players seem to like NPCs nobody expected them to. They like the wrong NPCs.
For example, they attach themselves to an NPC so minor you didn't even give them stats. Or they won't much care for that evil boss you've created. Or they'll decide to help the wrong side of the battle because "they're cooler".
Actually, this is easily predicted when you get the knack, and can even be used against the players. Instead of using the blunt stick of plot and misrepresentation, you can use the velvet glove of key building to do just about anything. And, five sessions later, the players will love or hate a character they should hate or love instead.
The thing is that in a movie or computer game, you represent your characters using audio and video cues. These connect to the audience forcefully, and are the primary trigger for their early emotional responses.
In a tabletop, that doesn't happen. Even if you have pictures of them, the pictures are not in the forefront of their mind. There's no animation, no gestures, and the voice sounds an awful lot like yours. Plus, usually, tabletop NPCs are less carefully written than their computer game and movie counterparts.
So, using audiovisual methods is iffy in tabletops. In order to use it, you have to come on really, really strong. Naming a character "Buttnutt", for example, or having one of the NPCs be a mostly naked attractive person of the preferred sex. Too many people named things like "Buttnutt" or too many mostly-naked attractive women, and even this fails because the NPC no longer stands out.
It's somewhat uncommon to walk that line, and that's why it's often a bit surprising as to who the players like or dislike. If you look, the NPC they turn out to like is the NPC with the most unique name, representation, or introduction - not because it emotionally appeals to them, but because it's the only thing that sticks out of the audiovisually unimpressive mud.
After that first "oh, cool character" moment, though, it's very hard to get the players to further like or dislike a character. That's because all the cues they normally use are dimmed - no audio, no video, no animation, no crying people.
You can try to boost these by painstakingly mimicking voices and writing detailed background bits. But that's kind of inefficient.
Instead, how about representing them in terms of something that the players always have undimmed in the forefront of their minds: their character's capabilities. For most players, we're talking tactical and statistical capabilities, but some players also think in terms of social or plot capabilities.
Put bluntly, if a character helps a player, the player will feel more strongly about the character. "More strongly", not "better" - if the player dislikes the character, he'll probably feel more distrust, rather than start to like him.
The reverse also increases emotion, but rarely upwards.
There's lots of kinds of "help". Going along with a player's plan, rescuing the player in a moment of real trouble (preferably trouble they created rather than you created), upgrading the players capabilities, introducing the player to new quest opportunities... there's an unlimited number of these kinds of things.
However, perhaps the most important thing is uniqueness. At the beginning, in the middle, and at the end, players notice only the things that stick out in their mind. If you want to distinguish characters at all, have them do something relatively unique. A guard that pickpockets is unique. A mechanic with gremlins is unique. A gunnery sargeant who parachutes in on any given mission is unique.
Repeatedly using the same unique element for a particular character turns that character from a character key into another kind of key... but that's more advanced. There's also the element of character growth... also advanced... such a big topic! :P