It’s a simple trick, and George R. Martin mastered it.
Here is the #1 way to creating a bond between your readers and your characters:
Pretty simple but Machiavellian, right? Sure, but you have to do it in a slick, almost conniving way, without coming off as manipulative. Of course, there are many ways to make your characters likeable; give them an endearing trait, include a physical limitation, write them as sympathetic to certain people (the poor, the afflicted, the voiceless), or make them swashbuckling.
One of the surest ways, however, is to make your characters sympathetic in themselves. Create sympathy for them from your reader. You do this by putting your character through the ringer, hurting them.
In doing this, you basically draw out the humanity from your reader, making them care for your character because they see what he/she is going through.
This is an especially useful writer’s trick when trying to make a villain or anti-hero likable.
One of the best examples I’ve seen of this is Jamie Lannister from The Song of Ice and Fire series. Jamie starts out as a conceited, heartless person. Completely unlikable. He pushes a child out of a window for goodness sake! You can’t get much more slimy and despicable than that.
And yet, eventually, we not only cast aside our hatred of this despicable character, but we are actually starting to like him. In fact, we come to think of him as one of the good guys (there is a second writer’s trick Martin excels at here, and I’ll share that one too).
Martin creates sympathy for Jamie Lannister by hurting him. He gets him captured, and even has another character chop off his hand–his sword hand! Then he goes through despair, torture, agony, and all the while, without you realizing it’s happening, you begin to feel for this attempt child murderer. HURT YOUR DARLINGS (in your stories, not in real life).
The second trick to creating sympathy for any villain, is to put on display an even more inhuman character, place this one in the same room as your first baddie, and showcase the second baddie’s even more villainous traits, making your first seem not so bad after all.
This is what Martin did with Jamie Lannister by displaying Cersei Lannister’s even worse inhumanity insanity.
There you are, a couple of dirty writer’s hacks to making even evil characters likable.
Now go forth and hurt your darlings (in fiction).