- Prefer/MC/cast win moderate tip gaps; combat follow and ambient cut-in follow roster - Dual-light rail when tip touches multiple MCs; record MC↔MC crossover memory - Earn rivals only from rematches, kin, or war/plot opposition (not single kills) - Add harness coverage for gap, cast, rival, cross-MC, and ambient cut paths
2.4 KiB
Scoring model
Global formula: IdleSpectator/scoring-model.json
Per-event inventory (strength + prose): IdleSpectator/event-catalog.json
Story commitment (arcs / aftermath / ledger): story-planner.md
scoring-model.json- margins, multipliers, rarity caps, soft-Duel / variety valve knobsevent-catalog.json- every authored event id (happiness,status,worldLog,plots,decisions, …)- Decisions use
action(clause after "decides to …") - Most other domains use
label - Happiness uses
variantsWithRelated/variantsWithoutRelated - Optional
species/characterbonuses
- Decisions use
Visual tracker (open beside chat): scoring-model canvas
Variety policy (0.28.28)
TotalScore = EventStrength + scaleBonus + char*w + visual*w + novelty*w.
Hard sticky combat (margin 50, MaxWatch 60) is only for Skirmish+ or notable-pair Duels.
Anonymous / single-notable Duels are soft sticky: MaxWatch 24, variety valve at 8s, yield to Story peers after 8s.
Founding tips come from new_city / new_kingdom meta outcomes, not decision intent.
Consecutive shows of the same variety arc (e.g. duel → duel) subtract repeatArcPenaltyPer from TotalScore (capped), resetting when a different arc is shown.
A rolling tip window also adjusts score by frequency: over-shown arcs lose up to arcOverSharePenaltyMax, rare/absent arcs gain up to arcUnderShareBoostMax, with an extra combat monopoly penalty above arcCombatShareTarget.
Fruit-bush foraging is fill-band strength so it does not crowd the camera.
Live combat holds the camera until the scrap goes cold (see who wins); variety peers cut after the fight ends.
Edit the weights block in scoring-model.json to change live scoring formula knobs.
Edit the story block for StoryPlanner / life-saga soft bias:
nearTieEpsilon/sagaNearTieEpsilon- ordinary vs Prefer/MC/cast pick bandssagaMcWeight/sagaPreferWeight/sagaCastWeight/sagaCrossMcBonus- tip score soft biassagaRivalEncounterThreshold- living rematches before EarnRival
Edit event-catalog.json to change what each event is worth and what it says.
See also: life-saga.md, story-planner.md.