SuperAPI AI Directory

design-storylet-system

Writing & research

View repository

Updated 10-28 08:38

About this skill

Design Storylet System

Design narrative as a pool of state-aware authored units rather than one fixed branch tree.

Use this model:

World state → Eligibility → Selection → Storylet → Choice/Resolution → Effects → New eligibility

A storylet is a compact authored narrative unit that can become available when its conditions are met.

Appropriate Uses

Storylets work well for:

  • ambient character moments
  • faction incidents
  • relationship events
  • city/simulation events
  • recurring live-service narrative
  • travel encounters
  • downtime scenes
  • systemic consequences

They are weaker when a tightly paced, precisely ordered dramatic sequence is required.

Storylet Anatomy

Define:

Identity

Stable ID and human-readable name.

Eligibility

Conditions that must be true.

Examples:

  • relationship >= 5
  • city_unrest = high
  • has_met_mira = true
  • chapter >= 3
  • not mira_confronted

Exclusions

Conditions that make the storylet invalid.

Weight / priority

How selection should prefer this storylet relative to others.

Recurrence

  • one-shot
  • repeatable
  • repeatable with cooldown
  • repeatable with escalating variants

Content

Situation, scene, dialogue, encounter, or choice.

Effects

State changes after resolution.

Memory

What future content should remember.

Eligibility Design

Avoid huge opaque boolean expressions. Prefer named qualities/states that have narrative meaning.

Weak: a && !b && c && (d || e) && x > 3

Better:

  • faction relationship: trusted
  • current crisis: food shortage
  • companion present: Mira
  • event not previously resolved

Implementation may still compile to booleans, but authoring should remain legible.

Pool Health

For each state band, check:

  • how many storylets are eligible
  • whether the same storylet dominates repeatedly
  • whether starvation can occur (nothing eligible)
  • whether rare content is realistically reachable
  • whether old content becomes nonsensical as world state changes

Selection Strategies

Possible approaches:

  • weighted random
  • highest priority first
  • least recently seen
  • escalation tier
  • authored queue after trigger
  • category quotas

Do not use randomness where dramatic order matters.

Interactive Procedure

  1. Define the systemic narrative purpose.
  2. Identify state dimensions that should affect content.
  3. Define storylet categories/pools.
  4. Draft storylet schemas before prose.
  5. Define eligibility and exclusions.
  6. Define selection policy.
  7. Define effects and memory.
  8. Define recurrence/cooldown.
  9. Test representative world states for starvation and repetition.
  10. Add bridging/fallback content where needed.

Output

System purpose

State dimensions

Selection policy

Storylet table

ID Purpose Eligibility Exclusions Priority/weight Recurrence Effects Memory

Pool coverage

Representative states and eligible counts.

Fallback strategy

Production notes

VO/localization/animation reuse and variant costs.

Failure Modes

Avoid:

  • random scenes with no relation to state
  • exact dramatic sequences implemented as weighted random pools
  • one storylet eligible far more often than everything else
  • state changes that never affect future eligibility
  • conditions so narrow content is practically unreachable
  • repeatable storylets that refer to first-time discoveries
  • no fallback when a pool becomes empty
  • adding prose before defining selection logic

Final Quality Check

The player should experience authored coherence without being able to see the content-selection machinery underneath.