I'm a beginning writer, and I have this idea for a novel, but I need help with making likable characters. What can an author do to make the reader actually like the characters, especially when they're kind of strange. For example, one of them is a cold, emotionally distanced, analytical person who the MC only spends a bit of time with. But despite being so cold, it's important for the reader to get to like him in the short amount of time spent with him because he turns up later as a really important character. If someone could just give some advice on how to make likable characters, that would be great!
Find attributes your reader can respect and relate to, and show them to the reader through the character's actions.
The best way to make your characters likeable is to make your readers laugh. They can be cold or distant, but if you show them the real reason why they act the way they do, inwardly, and the struggles that happens within, your readers will connect to them right away, because they too went through the same hopes and fear.
Your characters can only ever be liked by people who would like the attributes you give them, in real life. Your readers need to empathise with some aspect or other - if you need him to be likeable, then give him likeable attributes. If you need them to like someone who is, shall we say, a bit of a prat, then you can try making them a funny prat. Not everyone is going to like them (because they're still a prat, after all) but a collection of decent one-liners can help some people to ignore the bad aspects. You can do similar things by giving them a back-story as to why they are so emotionally distant that the reader can empathise with, but if he's only got a brief bit of screen-time that could be hard to do without an info-dump, and they're generally a bad idea. There's some other threads that explain why in some detail.
I second Eyez on the humor--being funny is one of the top traits that will make readers like a character. In general, remember what you yourself look for in friends and give your characters some of those traits. Do you like people who are affectionate, earnest, loud and cheerful? Specifically addressing your cold character: I always like a character who's distant but somehow manages to slip up and do something nice, however grudgingly.
Honestly, I find a bit of trouble with the idea of 'likable' characters as a goal. Likable does not guarantee the reader will relate to the character. Likable does not guarantee dimensionality of the character. Likable does not guarantee the character will even be interesting. Some of the best characters I have ever read are people I would hate, or even fear in real life, but dang, they were interesting and page-turningly engaging.
Don't aim for likeable. Aim for real. Aim for fun. Aim for interesting. Especially, aim for intriguing. It's one thing to have a character's introduction make the reader smile. It's quite another for a character's return to be the reader's cue to keep your eyes open- you might learn something new about this fascinating person with his distance and his knowledge and his, let's say, amazing pornography collection. On that note, try and give the characters really unique traits. Saying that someone is the hero is easy. Saying that someone is a dastardly villain is easy. Saying that someone is a cult leader is easy. Saying that this guy is fascinated with watches, and has six old-fashioned clocks in his home, and yet is habitually late to every meeting and cannot be trusted with the actual time; now you have a human being. Aim for something you wouldn't think of. Write down the first trait that you might give them. Then write down the next one. And the next one. Until you find something that you never thought of before. Aim for specifics- in Neverwhere, the main character collects Trolls because everyone assumes he likes them and keeps giving them to him. Not action figures. Trolls. The little ones with the big hair and everything. Most importantly, though, read. Read and learn what characters you like and what you like about them. And after you've read and have learned, read more.
I wouldn't worry too much about making a character likable. In the end, some people will like him and others will not, no matter how funny, interesting, or goodhearted he is.
Agreed. The film, There Will Be Blood is a good example of a not very likable MC who was also intensely fascinating.
The other posters bring up some important points ("aim for real," for example, and providing depth for your characters) but that doesn't mean you shouldn't make your characters likable. If you've done all the other things mentioned there are many ways to make them likable. Self-sacrifice is one. A character who is willing to sacrifice his own good for the good of another is likely to be likable. Show don't tell. This may be obvious. Don't have another character say, "You're really self-sacrificing you know." Have your character do something for someone else, despite taking on hardship to him or herself. Demonstrate that your character is not greedy. Have your character refuse money, or secretly give to charity. Another good quality is humility and respect. Nobody likes a character who is full of himself. Dean Koontz' "Odd Thomas" is an incredibly lovable character. You can tell from his first-person narration that he's intelligent and talented, indeed, he's a hero, yet he has a humble self-view and his greatest ambition is to leave fry-cooking to become a tire salesman. He calls everyone "sir" or "madam." Just a few thoughts. Charlie
Just giving a character these noble virtuous traits won't make them likeable, or interesting. Surely you've read plenty of books where the narrator is rude or distant or arrogant and still grown to really like them. The traits you've listed might make you respect the character, but that's a whole different thing to liking them.