# Character Relationships

Characters exist in a web of connections -- friendships, rivalries, parent-child bonds, and complex power dynamics. In Storybook, relationships are first-class declarations that capture these connections with nuance and perspective.

## Basic Relationships

The simplest relationship connects two characters with shared fields:

```storybook
relationship MarthaAndEmma {
    Martha as parent {}
    Emma as child {}

    bond: 0.95
    type: "parent_child"
}
```

This says Martha and Emma share a relationship with a bond strength of 0.95 (very close). The `bond` field is shared -- it applies equally to both participants.

## Adding Roles

Roles label each participant's function in the relationship:

```storybook
relationship ParentChild {
    Martha as parent
    Emma as child

    bond: 0.95
    guardianship: true
}
```

The `as parent` and `as child` labels clarify who plays which role. Roles are descriptive -- you can use any name that makes sense.

## Perspectives: Self and Other

Real relationships are not symmetric. How one person sees the relationship may differ from how the other sees it. Storybook handles this with `self` and `other` blocks:

```storybook
relationship MentorApprentice {
    Martha as mentor self {
        patience: 0.8
        investment_in_student: 0.9
    } other {
        sees_potential: 0.85
        frustration_level: 0.2
    }

    Elena as apprentice self {
        dedication: 0.9
        overwhelmed: 0.4
    } other {
        admiration: 0.95
        desire_to_impress: 0.9
    }

    bond: 0.85
}
```

Reading this:
- **Martha's self view**: She feels patient (80%), highly invested in her student
- **Martha's view of Elena (other)**: Sees high potential (85%) with low frustration (20%)
- **Elena's self view**: Dedicated (90%) but sometimes overwhelmed (40%)
- **Elena's view of Martha (other)**: Deep admiration (95%), strong desire to impress (90%)
- **Shared**: Their bond strength is 0.85

## Prose in Relationships

Relationships can include narrative descriptions for each participant:

```storybook
relationship MarthaAndGregory {
    Martha {
        role: shopkeeper
        values_loyalty: 0.9

        ---perspective
        Martha appreciates Gregory's unwavering loyalty. He has
        been buying her sourdough loaf every morning for fifteen
        years. Their brief daily exchanges about the weather and
        local gossip are a comforting routine.
        ---
    }

    Gregory {
        role: regular_customer
        always_orders: "sourdough_loaf"

        ---perspective
        Gregory considers Martha's bakery a cornerstone of his
        daily routine. The bread is excellent, but it is the brief
        human connection that keeps him coming back. He worries
        about what would happen if she ever retired.
        ---
    }

    bond: 0.7
}
```

## Multi-Party Relationships

Relationships can involve more than two participants:

```storybook
relationship BakerFamily {
    Martha as parent
    Jane as parent
    Emma as child

    household: "Baker Residence"
    family_bond: 0.95
    dinner_time: 18:00

    ---dynamics
    A loving family running a bakery together. Martha handles
    the bread, Jane manages pastries, and Emma helps out on
    weekends while learning the craft.
    ---
}
```

## Asymmetric Awareness

Relationships can model situations where one party does not know the relationship exists:

```storybook
relationship BossAndNewHire {
    Martha {
        role: boss
        aware_of_struggles: false
        expects: high_quality_work

        ---perspective
        Martha sees the new hire as competent and expects them
        to learn the bakery routines quickly. She has no idea
        they are struggling with the early morning schedule.
        ---
    }

    NewHire {
        role: employee
        intimidated: 0.8
        hides_struggles: true

        ---perspective
        The new hire is in awe of Martha's skill but terrified
        of disappointing her. They arrive thirty minutes early
        every day to practice techniques before she gets in.
        ---
    }

    bond: 0.4
}
```

## Institutional Relationships

Institutions can participate in relationships too:

```storybook
relationship GuildMembership {
    Martha as member
    BakersGuild as organization

    membership_since: "2015-01-01"
    standing: "good"
    dues_paid: true
}
```

## Building a Relationship Web

Multiple relationships create a rich social network:

```storybook
relationship Marriage {
    Martha as spouse
    Jane as spouse
    bond: 0.9
}

relationship MentorApprentice {
    Martha as mentor
    Elena as apprentice
    bond: 0.85
}

relationship RegularCustomer {
    Martha as shopkeeper
    Gregory as customer
    bond: 0.7
}

relationship Colleagues {
    Martha as peer
    NeighborBaker as peer
    bond: 0.5
    competitive: true
}
```

## Next Steps

Characters have traits, behaviors, and relationships. In [Schedules and Time](./07-schedules.md), you will give them daily routines and time-based activities.

---

**Reference**: For complete relationship syntax, see the [Relationships Reference](../reference/15-relationships.md).
