It is my belief, but not mine alone, that a story’s most important advocates are its characters. The fictitious people make the fictitious world, so let us take a look at the basics of character building.
There should be a good reason for the presence of each and every one of your characters. A character can serve a multitude of purposes. Maybe he is holding back vital information. Maybe her story arc mirrors the protagonist’s for contrast. Maybe he will try to help but end up causing trouble.
Which brings us to guideline number two. Nobody is perfect. Perfect is boring, and happy people don’t make for good stories. Make your characters human. The best flaws are relevant to the story. A randomly near-sighted character is not as interesting as one who needs to win an archery competition. What if your leader has a beta personality? What if your soldier can’t stand the sight of blood?
However, there is a fine line between “she’s an idiot, I want to kick her” and “I’ll read something else”. In the first instance, the reader is still engaged. Do not allow your audience to give up on the protagonist. It’s okay to be an idiot if you’re brave. It’s okay to be snarky if you have a good heart. Walk the line.
With these very basic tips at your disposal, go forth, my friend, and remember: a good character can save a bad plot. A good plot cannot save a bad character.