Building a Custom Scenario
This guide walks you through creating a new Timepoint Pro simulation template from scratch—from initial concept to a working, reproducible scenario.Overview: The Template Workflow
Design the entity roster
Who are the key actors? What types (human, abstract, building)? What roles and knowledge?
Example: Climate Summit Negotiation
Let’s build a 2030 climate summit scenario where 6 nations negotiate emissions targets. We’ll use BRANCHING mode to explore different negotiation strategies.Step 1: Define the Scenario
Core Concept
Core Concept
Setting: 2030 UN climate summit, 72-hour negotiation windowCentral Conflict: Developed nations want binding targets; developing nations demand financial assistance firstBranching Decision: Day 2, after initial proposals fail—do negotiators:
- Branch A: Compromise on phased targets
- Branch B: Walk away from talks
- Branch C: Create coalition of willing (subset agreement)
Why This Works for SNAG
Why This Works for SNAG
✅ Multiple actors with distinct interests (developed vs. developing nations)✅ Knowledge provenance matters: Who proposed what compromise? Who knows about back-channel negotiations?✅ Relationship dynamics: Trust between negotiators evolves; coalitions form and dissolve✅ Quantitative state: Emissions targets (gigatons CO2), financial commitments ($B), voting blocs (count)✅ Counterfactual value: What if the US had compromised earlier? What if China formed coalition with EU?
Step 2: Design the Entity Roster
USA Envoy
Type: HumanRole: Developed nation negotiator, pushes for binding targets but faces domestic political pressureArchetype:
diplomatInitial knowledge:- US emissions baseline
- Domestic political constraints
- Historical commitments
China Envoy
Type: HumanRole: Largest emitter, demands developing nation status, pivotal voteArchetype:
diplomatInitial knowledge:- China’s industrial growth targets
- Belt & Road carbon footprint
- Regional coalition options
EU Chief
Type: HumanRole: Most aggressive targets, willing to fund developing nationsArchetype:
diplomatInitial knowledge:- EU Green Deal commitments
- Climate fund allocation
- Technical assistance programs
India Rep
Type: HumanRole: Developing nation, demands financial assistance before commitmentsArchetype:
politicianInitial knowledge:- India’s energy poverty data
- Renewable capacity plans
- Historical emissions context
Brazil Envoy
Type: HumanRole: Amazon steward, wants payment for carbon sequestrationArchetype:
scientistInitial knowledge:- Deforestation rates
- Carbon credit valuations
- Indigenous land rights
Small Island States Bloc
Type: Abstract (collective entity)Role: Existential threat from sea level rise, moral authorityArchetype: N/A (abstract)Initial knowledge:
- Projected displacement data
- Adaptation cost estimates
- Loss and damage framework
Global Carbon Budget
Type: Abstract (physical constraint)Role: Remaining CO2 budget for 1.5°C target (animistic entity)Key state variables:
remaining_budget_gt(gigatons)annual_emissions_gtyears_to_exhaustion
Public Pressure
Type: Abstract (social force)Role: Youth movements, media scrutiny, protestsKey state variables:
protest_intensity(0-1)media_coverage_sentimentnegotiator_vulnerability
Step 3: Choose Temporal Mode
For this scenario, BRANCHING mode makes the most sense:- Why BRANCHING?
- Alternative: PORTAL
- Alternative: FORWARD
The core question is: “What happens if negotiators choose different strategies?”
- Branch A (Compromise): Phased targets with financial assistance up front
- Branch B (Walk Away): Talks collapse, pursue bilateral agreements
- Branch C (Coalition): Subset of nations (EU + China + US?) sign partial agreement
Step 4: Configure Mechanisms
Which of the 19 mechanisms does this scenario need?Required Mechanisms
Required Mechanisms
M7: Causal Chains — Track negotiation timeline (proposal → counter-proposal → compromise)M11: Dialog Synthesis — Multi-party negotiation conversations with per-character generationM13: Relationship Tracking — Trust/alignment between negotiators evolvesM12: Counterfactual Branching — Three branches from Day 2 decision pointM3: Knowledge Provenance — Who proposed the phased targets? Who knows about EU’s financial offer?
Optional but Valuable
Optional but Valuable
M16: Animistic Entities — Global Carbon Budget and Public Pressure as agents with “wants”M4: Physics Validation — Validate emissions math (annual emissions vs. remaining budget)M15: Entity Prospection — Negotiators model future outcomes (“If we walk away, bilateral deals take 5+ years”)M19: Knowledge Extraction — Post-dialog extraction of new negotiation positions
Not Needed
Not Needed
M8: Embodied States — No physical exhaustion tracking needed (could add if simulating jet lag)M14: Circadian Patterns — Not critical unless simulating multi-timezone negotiationsM2: Progressive Training — All entities start at high importanceM17 (PORTAL/CYCLICAL modes) — Not used in BRANCHING mode
Step 5: Write the JSON Template
Creategeneration/templates/showcase/climate_summit_2030.json:
Step 6: Test and Iterate
Analyze outputs
Check:
- Are dialogs natural? Do negotiators sound distinct?
- Do branches produce meaningfully different outcomes?
- Are quantitative states (emissions, funding) tracked correctly?
- Does knowledge provenance make sense?
Template Anatomy: Key Sections
scenario_description
scenario_description
Purpose: Single-paragraph summary of the scenarioBest practices:
- Include timeframe, setting, core conflict
- Mention key decision points or branching moments
- 2-4 sentences max
entities
entities
Key fields:
count: Total number of entities (humans + abstracts + buildings + animals)types: Array of entity typesinitial_resolution: Starting fidelity level (tensor_only,scene,dialog,trained)animism_level: 0-5, higher = more agency for abstract entities
tensor_only: Background entities, lazy elevationscene: Moderate detail, suitable for most scenariosdialog: High detail, per-character dialog generationtrained: Maximum detail, expensive
- 0: No abstract entities
- 1-2: Abstract entities as passive forces (“market sentiment”)
- 3-4: Abstract entities with agency (“crew morale”, “carbon budget”)
- 5: Full animism (buildings “want” things)
timepoints
timepoints
Key fields:
count: Number of simulation stepsresolution: Time unit (hour,day,week,month,year)start_time: Optional ISO 8601 timestampbefore_count/after_count: Padding timepoints
- 3 timepoints: ~0.15
- 6 timepoints: ~0.50
- 10 timepoints: ~1.00
hour: High-intensity short events (board meeting, crisis)day: Week-long scenarios (summit, expedition)week: Month-to-year timelines (startup growth)month/year: Multi-year arcs (Mars mission)
temporal
temporal
Mode selection:Common parameters:PORTAL-specific:
dramatic_tension: 0.0-1.0 (higher = more conflict/arousal)token_budget: Soft/hard limit on total tokensfidelity_template:minimal,balanced,dramatic, or custom
metadata.entity_roster
metadata.entity_roster
Per-entity configuration:Archetype options (from
workflows/dialog_archetypes.py):engineer,executive_director,military_commanderscientist,politician,lawyer,diplomatsafety_officer,doctor,journalist
metadata.branching_points
metadata.branching_points
Define decision points (BRANCHING mode only):
metadata.quantitative_tracking
metadata.quantitative_tracking
Track numerical state (M4 validation):Example (from Castaway Colony):
Common Patterns
Pattern: Corporate / Organizational
Pattern: Crisis / Survival
Pattern: Historical / Counterfactual
Pattern: Backward Reasoning (PORTAL)
Quick Start Templates
Copy and modify these minimal templates:- Minimal (Quick Test)
- Standard (Most Use Cases)
- Comprehensive (Full Feature)
Troubleshooting
Dialogs sound repetitive or AI-like
Dialogs sound repetitive or AI-like
Fixes:
- Add more specific
personality_traitsper entity - Define
archetypefor voice profiles - Increase
dramatic_tensionto boost arousal variation - Add
voice_guidewithnever_saysanti-patterns
Cost exceeds budget
Cost exceeds budget
Reduction strategies:
- Lower
token_budgetand settoken_budget_mode: "hard" - Reduce
initial_resolutiontosceneortensor_only - Decrease
timepoints.count - Use smaller models:
--model qwen/qwen-2.5-7b-instruct - Disable expensive mechanisms (M2 progressive training)
Entities lack distinct voices
Entities lack distinct voices
Fixes:
- Assign different
archetypevalues per entity - Add entity-specific
speech_examplesin metadata - Diversify
personality_traits(avoid all “diplomatic”) - Use per-turn dialog synthesis (enabled by default)
Quantitative state tracking not working
Quantitative state tracking not working
Fixes:
- Ensure M4 is in
mechanisms_featured - Define explicit constraints in
quantitative_tracking - Use abstract entities for physical systems (“Carbon Budget”)
Next Steps
Run Your Template
Convergence Testing
Study Existing Templates
Browse
generation/templates/showcase/ for patternsMechanism Deep Dive
Read MECHANICS.md for implementation details
Best Practice: Start with a minimal template (2-3 entities, 1-2 timepoints) to validate your scenario concept before scaling to full complexity. The board_meeting template is a perfect reference.

