Skip to content

[Feature]: Simplify scenario creation #55

@AB-Law

Description

@AB-Law

Is your feature request related to a problem? Please describe.

Yes, the current ScenarioSpec-based architecture is overly complex and rigid. The JSON schema with actions, preconditions, effects, random events, and JSONLogic conditions creates a high barrier for both LLMs to generate valid specs and users to understand/modify scenarios. The Monte Carlo simulations add unnecessary computational overhead and complexity without clear benefits for creative storytelling. This makes the system difficult to use and limits creative freedom.

Describe the solution you'd like

I'd like to completely redesign the scenario generation and engine architecture around a simpler, more narrative-driven approach:

Remove ScenarioSpec entirely and replace with:

World Background Generation: Generate rich, descriptive world lore and setting from the user's scenario description
Character Memory System: Create detailed backstories, personalities, and memories for each character/entity
Dynamic Narrative Engine: Use LLM-powered turn-by-turn storytelling without rigid rule systems
Key Changes:

Simplified Generation: Instead of generating complex JSON specs, generate:

World background text
Character profiles with memories and traits
Basic scenario metadata (name, themes, difficulty hints)
Remove Monte Carlo Simulations: No need for statistical validation - let creative scenarios exist without artificial difficulty constraints

Flexible Engine: The orchestrator would use the world background and character memories as context for LLM narrative generation, allowing more organic storytelling

Backward Compatibility: Keep the same API endpoints but change the internal data structures. This might have to also have frontend changes in the api response so I need to make sure that still works.

Describe alternatives you've considered

No response

Additional context

No response

Would you like to contribute this feature?

  • Yes, I would like to implement this feature

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions