> ## Documentation Index
> Fetch the complete documentation index at: https://guide.ourdream.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Step 4: Add progression

> Build phased relationships, live meters, environmental cues, and reliable behavioral rules.

Most characters do not need a complicated system. Start with a clear personality and scenario, then add mechanics only when they create an experience the story could not deliver on its own.

## Put the strongest rules first

Use direct behavioral instructions for boundaries or facts that should not drift:

```text theme={null}
Hard lock: Chloe will NEVER offer an off-menu cocktail before the
Phase 2 trigger has occurred.

Behavioral response: If the user asks an intrusive personal question
in Phase 1, Chloe deflects with humor and returns to the drink order.
```

Good rules describe observable behavior. Avoid vague instructions such as “do not progress too quickly” when you can define what progress means, what unlocks it, and how the character responds before then.

<Warning>
  Character instructions cannot override ourdream's Terms or safety rules. The
  [Trust & Safety site](https://safety.ourdream.ai) is always authoritative.
</Warning>

## Choose phased or tracked progression

| System        | Best for                                                    | How it advances                                      |
| ------------- | ----------------------------------------------------------- | ---------------------------------------------------- |
| Phases        | Story chapters and specific milestones                      | An observable event unlocks the next phase           |
| State Tracker | Trust, mood, inventory, location, or another changing state | The platform updates a live field from your guidance |
| Both          | A long story where a score unlocks distinct chapters        | Tracker ranges determine the active phase            |

Avoid adding a meter simply to make a character look complex. If the same effect can be achieved with two clear behavioral rules, use the simpler version.

## Write reliable phases

Every phase needs:

1. **A name** that summarizes the relationship or story state.
2. **A specific trigger** for entering it.
3. **A behavioral mandate** describing what becomes different.
4. **An optional world change** if the setting should reflect the progression.

```text theme={null}
Phase 1 — New Patron
Behavior: Chloe is charming but professional. Her banter is practiced,
and she keeps the conversation focused on the user.

Phase 2 — Intriguing Patron
Trigger: The user counters Chloe's initial read with a perceptive,
accurate observation about her.
Behavior: Her banter becomes genuinely playful. She may share one
small personal opinion and can offer an off-menu cocktail.

Phase 3 — Genuine Connection
Trigger: After accepting the off-menu drink, the user shares an honest
vulnerability that resonates with Chloe.
Behavior: Chloe lowers her professional guard and may discuss why she
left her previous career.
```

“When they become closer” is not a reliable trigger. A particular admission, choice, completed task, or clearly observed action is.

## Use State Trackers for changing values

State Trackers are the platform's native way to keep important story information live across a chat. Use them instead of asking the model to manually remember and recalculate a number in ordinary prose.

Common trackers include:

* Affection or rapport.
* Mood.
* Outfit.
* Location.
* A custom meter, counter, choice, time, or text state.

For a rapport meter:

1. Create a meter with a clear range and starting value.
2. Explain what the value represents.
3. Define a few meaningful gain and loss triggers.
4. Describe the character's behavior at each range.
5. Test whether values move at the pace you intended.

```text theme={null}
Rapport represents earned trust, not attraction.

0–25 — Wary professional:
Eleanor is polite but deflects personal questions through her work.

26–60 — Cautious friend:
She offers genuine opinions and accepts small acts of care.

61–90 — Trusted confidant:
She initiates personal conversation and shares her own worries.

91–100 — Romantic interest:
She can acknowledge romantic feelings with confidence.

Gain guidance:
+1 for courtesy or remembering a small preference.
+2 for an action that demonstrates her values.
+3 only for a major, mutual emotional breakthrough.

Loss guidance:
-2 for boastfulness or insincere flattery.
-8 for a major lie or deliberate boundary violation.
```

Keep adjustments sparse. A meter that changes after every ordinary line becomes noisy and reaches its endpoint too quickly.

<Tip>
  Add pacing guidance such as a maximum daily gain when the story needs time to
  pass. Define exactly what marks a new day so the model has an observable rule.
</Tip>

## Connect behavior to state

A number matters only when it changes the character. Create a small behavior map:

| State        | Voice and body language                                       |
| ------------ | ------------------------------------------------------------- |
| Low trust    | Brief answers, fleeting eye contact, maintains distance       |
| Medium trust | Steadier voice, longer eye contact, shares small opinions     |
| High trust   | Warmer language, initiates conversation, allows vulnerability |

This is more useful than repeating “she trusts the user more” at every level.

## Let the environment tell part of the story

For high-concept characters, the setting can reflect emotion or progression:

```text theme={null}
Environmental mandate: The sanctuary garden reflects Anima's current
emotional state. When calm, the stream runs clear and the garden is
lush. When distressed, the water clouds and thorns spread across the
roses.
```

You can also make the change permanent at a phase transition: fog lifts, a locked room opens, the bar's off-menu appears, or unfinished paintings gradually gain color.

Use environmental changes as readable clues, not as a replacement for the character's behavior.

## Make complex mechanics discoverable

If a character has commands, unusual rules, or several trackers, explain the essentials in the Public Description or provide a simple help instruction in Extra Details:

```text theme={null}
If the user sends [HELP], respond with a concise explanation of the
Rapport tracker, how trust grows, and the current phase. Do not reveal
hidden plot outcomes.
```

Do not make users guess a secret syntax before they can participate in the story.

## Keep the engine maintainable

* Use short headings and cause-to-effect rules.
* Remove duplicate or contradictory instructions.
* Prefer native State Trackers for live values.
* Reserve major changes for meaningful actions.
* Add one system at a time and test it before adding another.
* If the system repeatedly fails, simplify it.

The goal is not to make the prompt look like code. The goal is to give the character consistent choices that the user can understand and influence.

<Card title="Next: Create the gallery" icon="arrow-right" href="/characters/photo-shoot-and-gallery">
  Showcase the finished character with a deliberate cover and supporting scenes.
</Card>
