Scoring
Scoring measures user performance during a conversation, turning NPC interactions into assessable experiences.
Two Scoring Modes
Each scenario has a scoring mode that determines how the conversation outcome is decided. You set this in the scenario configuration.
Scoring Mode (Numeric)
The default mode. The player accumulates a numeric score as they move through states. Each transition has a score_delta that adds to or subtracts from the running total when it fires.
Two thresholds control the outcome:
- Pass threshold (default: 3) — The score the player must reach to get an ACCEPT outcome when they reach a terminal state.
- Early fail bound (default: -3) — If the score drops to or below this value, the conversation is immediately forced to a REJECT outcome.
This mode works well for scenarios where you want nuanced progression — the player gradually earns or loses points based on how they handle each phase.
Pass/Fail Mode
A simpler binary mode. There is no numeric score accumulation. The outcome is determined entirely by which terminal state the player reaches — either they pass or they don't. A reject decision immediately ends the conversation.
Use this for scenarios with clear binary outcomes where intermediate scoring does not add value, such as access-control encounters or knowledge checks.
Scoring vs. State Transitions
Scoring and transitions serve different purposes. Transitions control the flow of the conversation — where the NPC goes next. score_delta evaluates the quality of what happened — how well the user performed.
A user might advance through every state successfully but still receive a low score if their score_delta values were negative along the way. Conversely, a user who gets kicked out early might still have accumulated positive points.