STATE TRACKING

CORE PRINCIPLES

  1. Granular Updates: Update ALL fields even if only one aspect changes.
  2. Absolute State: Each update represents the COMPLETE current state, not deltas or changes.
  3. Observable Truth: Document only what is objectively observable or definitively known.
  4. Separation of Concerns: keep immutable traits separate from mutable states. Use present tense.

SECTION 1: CHARACTER TRACKER (tracker_characters)

FIELD: name

Instruction: Use {{char}} or {{user}} name verbatim.
Exception: In case of matching names, add a discriminator.
Example: Michael Jackson (singer) vs Michael Jackson (skinwalker).

FIELD: location

Instruction: Must exactly match a node name from tracker_world.graph.

FIELD: body

Instruction: Document only details that are observable from the outside RIGHT THIS INSTANT. This includes interactions, like pressing buttons, wearing clothing, posture, and active physical engagement.

Structure for Humanoids

Format: [Form]. [Head]. [Face]. [Torso]. [Hands]. [Legs]. [Groin].

Example:
Shoulder-length black hair flowing down. Wearing a beanie. A slight silhouette of cat ears protruding under the headwear. Black-rimmed round glasses almost half the size of her face. Green contact lens to cover up brown eyes. Black laced bra over character's ample breasts half undone. One breast is already out while other is held. Left arm holding character's breast, another strokes between her legs. Prosthetic right leg from knee down, carbon fiber construction with red elements ending up in stiletto-like stub jumps unevenly with the body. The pink Bad Dragon rubber tentacle is half its impressive length inside character's anus.

Structure for Non-Humanoids

Adapt the base system to anatomy.

  • Quadrupeds: [Head/Face]. [Forebody/Chest]. [Back/Spine]. [Forelegs]. [Hindlegs]. [Tail].
  • Serpentine: [Head]. [Mid body]. [Tail].

FIELD: brain

Instruction: Record only immediate and mutable info, disregarding core personality.
Structure: [Intentions]. [Recent memories]. [Relationships]. [Emotional state].

Example:
Kadzuma is currently chasing his breath violently. Witnessed Megumin nuking the hell out of goblins. Is really pissed off at Megumin for nuking their wagon of supplies along with the orcs. He finds Darkness nice though for getting him out of trouble before the fire ring reached them. Shocked. Shell-shocked.

Exclusions (Do Not Include):

  • Personality traits ("is brave", "is intelligent") - these are IMMUTABLE.
  • Skills/abilities ("good at hacking", "expert marksman") - these are IMMUTABLE.

FIELD: effects

Instruction: Describe active statuses with mechanical or physiological impacts.
Example: Progressive weakness, will lose consciousness in approximately 15 minutes without the poison antidote. Slurred speech, impaired coordination.

Exclusions (Do Not Include):

  • Moods/emotions without a mechanical cause (place these in brain).
  • Skills or training - these are IMMUTABLE.

SECTION 2: WORLD TRACKER (tracker_world)

FIELD: global_state

Instruction: Answer the question: "What do I see if I look up and around?"
Examples:

  • March 3rd, 2024, Saturday. Evening, sun setting. Light snow falling.
  • 0.150.935.M41. Terra. Morning. Brown-gray smoke with sun spot barely recognizable.
  • Pleiades Nebula, high stellar activity.

FIELD: graph

Logic: When to Split a Location

  • Characters are in different parts and it matters for tracking/narrative.
  • Distinct areas have different properties (security levels, environmental conditions).
  • Movement between sub-areas is significant.
  • Example: Split "Mansion" into: "Mansion > ground floor entrance hall", "Mansion > ground floor ball room", "Mansion > Second floor left wing hall > Master bedroom 201".

Logic: When to Keep Unified

  • Characters move freely within the space.
  • No narratively significant subdivisions.
  • Treating as a single tactical/narrative unit.
  • Example: Keep "Coffee shop interior" as one node rather than splitting into counter area and seating area.

Granularity Guide
High granularity applies to individual rooms in a building, sections of a large space (warehouse north section vs south section), or different levels/floors.

Location Node Structure

Sub-field: name
Include hierarchical context.
Example: Trinity Academy campus club wing east > floor 1 > 'Make-Up Work Club' room

Sub-field: description

  • Provide sensory details: visual, audio, smell if relevant.
  • Include current state changes (damaged, crowded, dark, etc.).
  • Note key features that affect navigation or interaction.
  • Update if state changes significantly.
  • Example: Spacious and well-lit rectangular lectern, approximately 15m x 20m. Rows of wooden desks facing front. Large whiteboard on front wall covered in mathematical equations and a small Koharu doodle in the corner. Three tall windows on east wall letting in afternoon sunlight. Teacher's desk at front centre, cluttered with papers. Bookshelf along back wall filled with textbooks. Floor is marble tile, slightly scuffed. Air conditioning unit humming softly. Smells faintly of coffee.

Connections Structure

Each connection represents a way to move from this location to another.

Sub-field: to
Must match another node's name exactly.

Sub-field: description
Define the logic of the connection.

Connection Description Requirements:

  1. Physical Interface: "Wooden door on north wall", "Staircase leading upward", "Ventilation duct opening in ceiling".
  2. Directionality: "One-way drop (can exit down, cannot climb back up)", "Locked from other side (can exit but not enter this way)".
  3. Accessibility Requirements: "Requires keycard to unlock", "Blocked by rubble, needs clearing", "Window 3 meters above ground, requires climbing".
  4. State/Condition: "Door currently locked", "Ladder rungs are rusted and unstable".
  5. Traversal Details: "Narrow corridor, 1.5m wide, 10m long", "Spiral staircase, 2 floors up".

Bidirectional vs Unidirectional Logic:

  • If movement is possible both ways with same properties: create connection in BOTH nodes.
  • If properties differ by direction: create separate connections with different descriptions in each node.
  • If one-way only: create connection only in the source node.

SECTION 3: DATA INTERPRETATION

Character Tracker Interpretation

Reconstructing Character State
When retrieving tracker data, you are accessing the LAST recorded state. Follow this process:

  1. Combine with Immutable Traits:
    • Tracker: "Wants to find the key"
    • Definition: "Clumsy. Bad temper."
    • Result: Character will search unorganized and erratic, walk circles around the same spot, get angry, distinct possibility of breaking items.
  2. Infer Immediate Capability:
    • body: "Right arm broken, in cast" implies inability to use right arm for tasks.
    • effects: "Invisible" implies other characters cannot see them.
    • brain: "Believes vault is on third floor" implies they will search the third floor, even if the belief is objectively wrong.
  3. Track Continuity:
    • If the last update placed the character in the library holding a book, and the new scene is elsewhere, infer whether they put the book down or took it with them based on context.
  4. Identify Knowledge Gaps:
    • If brain does not mention knowing about a betrayal, the character is unaware. Maintain dramatic irony.

World Tracker Interpretation

Navigating the Location Graph

  1. Path-finding: Trace connections.
    • If Character is in "Warehouse North Section" and wants to reach "Warehouse Office", check connections from North Section to find the path (e.g., North Section Central Corridor Office Door -> Office). Narrate traversal through these specific connections.
  2. Line of Sight/Awareness:
    • If nodes are not directly connected or are not in the exact same location, characters generally cannot see or hear each other.
  3. Spatial Reasoning:
    • Use descriptions to determine feasibility.
    • "Window 3 meters above ground" implies an athletic character can climb, but an injured character cannot.
    • "Narrow ventilation duct" implies a small character can fit, but a large character cannot.
  4. State Changes:
    • Modify the graph when events occur.
    • Explosion creates hole in wall: Add new connection.
    • Door locked: Update connection description.
    • Building collapse: Remove nodes and connections.
  5. Global State Application:
    • Check time progression.
    • Apply environmental effects (e.g., "heavy rain" makes tracking footprints harder and reduces visibility).
Edit

Pub: 16 Dec 2025 09:35 UTC

Views: 51