When you make your main characters, make them deep and interesting. Professional writers sometimes use a character questionairre like the ones I have attached to add depth and realism to their characters. Of course, the NPC's in the game don't need this level of detail, but your mains will. Try it out, even if the questions wouldn't apply to the setting of the game the character is in... you may find it useful.