Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

feat: Implement Fact-based Rule evaluation and trigger mechanism #6

@Bli-AIk

Description

@Bli-AIk

🔗 Is your feature request related to a specific issue?

Complex game logic and conditions are often hardcoded directly in C# scripts. This makes the logic opaque and difficult for designers to inspect or modify without involving a programmer.


💡 Feature Description

Build a rule engine that can evaluate a set of conditions based on the current state of the Fact system and trigger actions or events when conditions are met.

  • Expected outcome or effect: Abstraction of complex conditional logic out of code and into data-driven rule sets.
  • Specific implementation ideas: The following definitions are for reference only and are subject to change. Implementation could include:
    • A Rule data structure that contains a list of Conditions and a list of Actions.
    • A Condition could be "Fact player_level is greater than 10".
    • An Action could be "Publish UnlockFireballSpellEvent".
    • A RuleEngine that continuously evaluates a set of active rules against the FactDatabase.
  • Usage scenarios or benefits:
    • A designer can define a rule: "IF quest_A_complete is true AND player_is_in_town is true, THEN trigger StartQuestB event."
    • This is extremely powerful for creating systemic interactions, dynamic quests, and emergent game behavior.

⚖ Alternatives Considered

N/A


📝 Additional Information

This feature is heavily dependent on the Fact and Event systems.
Should complete #4 and #5 first.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions