It isn’t knowing their entire history or being able to picture exactly what they look like. It is feeling as though you know the character. Something happens and you know how that character would react, how they would feel, what they would think. As a writer I have to know my characters this well, but it would be boring if I wrote out all the ins and outs of my characters.
So how does a writer get across enough of a character’s personality? By showing them in different settings, showing the kind of person they are, and hearing the thoughts inside their heads. Their personality needs to be consistent, though they can grow as a person as all people do.
A character cannot be unfailable, they cannot be perfect. They cannot be pure evil or pure good, for people don’t come that way. They have goals and dreams, fears and weaknesses. Sometimes it is a characters quirks that make them the most likable.
A pet peeve of mine is cookie-cutter characters that are a walking stereotype. In fantasy this is the solider, the thief, and the wizard. One can write these characters, but there has to be more to them than what they are. I think what makes a good writer a great writer is having realistic side characters as well as main characters.
What do you think makes for the best characters?