Writing characters

Written by

in

So, I ask the Great and Powerful Oz, “In writing a story or book, how can I keep characters from feeling bland or two dimensional?”

Great question—and honestly one of the biggest hurdles in writing. Flat characters usually come from predictability or lack of tension inside the character. The fix is less about adding detail and more about adding contradiction, pressure, and choice.

Here are practical ways to make characters feel real and three-dimensional:


1. Build Them Around Contradictions

Real people are inconsistent. That’s where depth lives.

  • Brave in public, terrified in private
  • Kind to strangers, cruel to family
  • Moral… except when it costs them something

👉 Instead of asking “Who are they?” ask:
“Where do they contradict themselves?”


2. Give Them a Want vs. Need Gap

This is one of the most powerful tools.

  • Want = what they think will fix their life
  • Need = what actually will

Example:

  • Want: Revenge
  • Need: Letting go / forgiveness

Story tension comes from the character chasing the wrong thing.


3. Tie Flaws to Backstory (Cause → Effect)

Flaws shouldn’t be random—they should make sense.

Instead of:

  • “He’s bad at relationships”

Try:

  • “He pushes people away because the last person he trusted betrayed him during a critical moment”

Now the flaw:

  • Has history
  • Feels justified
  • Can evolve

4. Force Hard Choices (This Is Key)

Characters become interesting when they can’t have everything.

Put them in situations where they must choose between:

  • Duty vs. love
  • Truth vs. safety
  • Loyalty vs. survival

👉 A character is defined more by what they sacrifice than what they want.


5. Let Them Be Wrong

Flat characters are often too correct or too competent.

Give them:

  • Misjudgments
  • Biases
  • Blind spots

Let them act on those—and deal with consequences.


6. Make Their Voice Specific

Even without dialogue tags, you should know who’s speaking.

Think about:

  • Vocabulary (formal? blunt? poetic?)
  • Rhythm (short bursts vs. long thoughts)
  • What they avoid talking about

👉 A character’s voice reflects their worldview.


7. Give Them Personal Stakes in Every Scene

If a character could be replaced and nothing changes—they’re flat.

Ask:

  • “Why does this moment matter to them specifically?”

Even small scenes should connect to:

  • Their fear
  • Their goal
  • Their past

8. Relationships Reveal Depth Faster Than Description

Characters aren’t defined in isolation—they’re revealed through interaction.

Show how they differ with:

  • A superior (respectful? resentful?)
  • A friend (honest? guarded?)
  • An enemy (cruel? reluctant?)

👉 One character, multiple versions of themselves.


9. Let Them Change (or Refuse To)

A strong arc doesn’t mean becoming “better”—it means becoming different.

  • Positive arc → grows past flaw
  • Negative arc → gives into flaw
  • Flat arc → changes the world instead

But something must shift:

  • Their belief
  • Their behavior
  • Their understanding

10. Give Them a Private Truth They Won’t Say Out Loud

This adds immediate depth.

Ask:

  • “What do they believe deep down that they’d never admit?”

Examples:

  • “I don’t deserve happiness”
  • “If I stop fighting, I’m nothing”

This belief will quietly drive their actions.


A Quick Character Depth Formula

If you want something fast and usable:

  • Surface Trait: What people see
  • Hidden Fear: What they avoid
  • False Belief: What they think is true (but isn’t)
  • Pressure Point: What forces them to confront it

Example (Quick Application)

Instead of:

A tough space captain

Try:

  • Surface: Confident, decisive leader
  • Fear: Being responsible for another crew death
  • False belief: “If I show doubt, people die”
  • Contradiction: Secretly second-guesses every decision

Now you’ve got tension in every scene.