{
  "schemaVersion": 20,
  "categories": [
    {
      "id": "resource-management",
      "order": 0,
      "tiebreak_rank": 7,
      "label": "Resource management",
      "description": "Acquiring, holding, converting, and spending finite quantities that constrain what a player can do.",
      "test": "Is it about allocating a scarce pool now?"
    },
    {
      "id": "chance-and-risk",
      "order": 1,
      "tiebreak_rank": 2,
      "label": "Chance & risk",
      "description": "A randomiser (dice, decks, tables, generators) or a deliberate wager against known odds is the identity of the mechanic.",
      "test": "Is the randomiser or wager the whole point?"
    },
    {
      "id": "progression-and-capability",
      "order": 2,
      "tiebreak_rank": 5,
      "label": "Progression & capability",
      "description": "What a player or avatar is able to do and how that capability set changes within or across sessions, including asymmetric starting capability.",
      "test": "Does it make future turns stronger or different?"
    },
    {
      "id": "space-and-position",
      "order": 3,
      "tiebreak_rank": 8,
      "label": "Space & position",
      "description": "Position, adjacency, territory, or line of sight on a spatial representation is the operative state.",
      "test": "Is position the operative state?"
    },
    {
      "id": "information-and-hidden-state",
      "order": 4,
      "tiebreak_rank": 3,
      "label": "Information & hidden state",
      "description": "Who knows what: concealment, revelation, and asymmetry of game state between players or between player and system.",
      "test": "Is it about who knows what?"
    },
    {
      "id": "interaction-and-exchange",
      "order": 5,
      "tiebreak_rank": 4,
      "label": "Interaction & exchange",
      "description": "The core act is a transaction or contest between players over shared or transferable things: trading, bidding, drafting, voting.",
      "test": "Is it a transaction between players?"
    },
    {
      "id": "time-and-action-structure",
      "order": 6,
      "tiebreak_rank": 6,
      "label": "Time & action structure",
      "description": "Partitioning play into units (turns, phases, real time) and rationing how many or which actions may be taken within them.",
      "test": "Is it rationing actions or structuring time?"
    },
    {
      "id": "action-resolution",
      "order": 7,
      "tiebreak_rank": 1,
      "label": "Action resolution",
      "description": "Adjudicating whether an attempted action succeeds and how the result is graded and interpreted, independent of which randomiser (if any) is used.",
      "test": "Is it about adjudicating success?"
    },
    {
      "id": "narrative-and-choice",
      "order": 8,
      "tiebreak_rank": 9,
      "label": "Narrative & choice",
      "description": "Structuring authored or emergent story: branching, consequence, reputation, and persistence of decisions across sessions.",
      "test": "Is it structuring story or consequence?"
    },
    {
      "id": "puzzle-and-pattern",
      "order": 9,
      "tiebreak_rank": 10,
      "label": "Puzzle & pattern",
      "description": "The central challenge is recognising, assembling, or deducing patterns under constraints, where a solution is in principle determinable.",
      "test": "Is there a determinable pattern to find?"
    }
  ],
  "properties": {
    "agency": {
      "label": "Player agency",
      "description": "How much the outcome of one invocation varies with the player’s choice at that moment.",
      "ordinal": true,
      "guideline": "Low: outcome mostly fixed by prior state or chance (loot tables, saving throws). Medium: one meaningful choice among a small constrained set (push your luck: stop or continue). High: an open choice space where selection dominates outcome (worker placement, drafting).",
      "values": [
        {
          "value": "low",
          "rank": 0,
          "description": "Outcome mostly fixed by prior state or chance."
        },
        {
          "value": "medium",
          "rank": 1,
          "description": "One meaningful choice among a small, constrained set."
        },
        {
          "value": "high",
          "rank": 2,
          "description": "Open choice space where selection dominates the outcome."
        }
      ]
    },
    "randomness": {
      "label": "Randomness",
      "description": "Whether chance is resolved before the decision (input), after it (output), both, or not at all.",
      "ordinal": false,
      "guideline": "Input = randomness resolved before the player decides (a dealt hand, dice rolled then allocated, a generated map). Output = randomness resolved after the decision (an attack roll, a loot drop). Code \"both\" only when the canonical form has both stages.",
      "values": [
        {
          "value": "none",
          "rank": 0,
          "description": "No randomiser in the canonical form."
        },
        {
          "value": "input",
          "rank": 1,
          "description": "Chance resolved before the player decides."
        },
        {
          "value": "output",
          "rank": 2,
          "description": "Chance resolved after the player decides."
        },
        {
          "value": "both",
          "rank": 3,
          "description": "Both stages are intrinsic to the canonical form."
        }
      ]
    },
    "interaction": {
      "label": "Interaction",
      "description": "How the mechanic couples players to one another.",
      "ordinal": false,
      "guideline": "Solo: operates identically regardless of other players. Indirect: players affect each other only through shared state without targeting (blocking a worker space, depleting a market). Direct: targeted effects on a specific opponent. Cooperative: a shared goal is intrinsic to the mechanic (hidden roles is not cooperative, whatever its information coding; team-based is mixed). Mixed: canonical implementations routinely span two or more. Opponents controlled by the game system are not players: a mechanic whose canonical form pits one player against the system codes solo; code direct only when the canonical form targets another human player.",
      "values": [
        {
          "value": "solo",
          "rank": 0,
          "description": "Operates identically regardless of other players."
        },
        {
          "value": "indirect",
          "rank": 1,
          "description": "Players affect each other only through shared state, without targeting."
        },
        {
          "value": "direct",
          "rank": 2,
          "description": "Targeted effects on a specific opponent."
        },
        {
          "value": "cooperative",
          "rank": 3,
          "description": "A shared goal is intrinsic to the mechanic."
        },
        {
          "value": "mixed",
          "rank": 4,
          "description": "Canonical implementations routinely span two or more modes."
        }
      ]
    },
    "complexity": {
      "label": "Complexity",
      "description": "Rules weight needed to teach the mechanic on its own, not its strategic depth.",
      "ordinal": true,
      "guideline": "Low: one or two sentences, no exceptions. Medium: a paragraph with one to three sub-rules or timing exceptions; a single lookup table on its own is medium. High: several interacting tables, prerequisite graphs, or multiple interacting sub-rules.",
      "values": [
        {
          "value": "low",
          "rank": 0,
          "description": "One or two sentences, no exceptions."
        },
        {
          "value": "medium",
          "rank": 1,
          "description": "A paragraph with a few sub-rules or timing exceptions, or a single lookup table."
        },
        {
          "value": "high",
          "rank": 2,
          "description": "Several interacting tables, prerequisite graphs, or interacting sub-rules."
        }
      ]
    },
    "pacing": {
      "label": "Pacing effect",
      "description": "Effect on the rate at which play approaches an end condition or climax, or on turn length.",
      "ordinal": false,
      "guideline": "Accelerates: snowballs or forces endings (clocks, end-game triggers a player can pull forward). Decelerates: lengthens turns or stalls progress (large-hand management, hit-point attrition). Variable: depends heavily on parameters (procedural generation, difficulty settings). Neutral: no systematic effect.",
      "values": [
        {
          "value": "accelerates",
          "rank": 0,
          "description": "Snowballs or forces endings."
        },
        {
          "value": "decelerates",
          "rank": 1,
          "description": "Lengthens turns or stalls progress."
        },
        {
          "value": "neutral",
          "rank": 2,
          "description": "No systematic effect on pace."
        },
        {
          "value": "variable",
          "rank": 3,
          "description": "Depends heavily on parameters."
        }
      ]
    },
    "information": {
      "label": "Information",
      "description": "Visibility of the mechanic’s own state.",
      "ordinal": false,
      "guideline": "Scope is the mechanic’s own state. Perfect: all relevant state is public. Hidden: concealed from everyone (a shuffled draw order). Asymmetric: some players know what others do not (fog of war, a private hand). Mixed: both hidden and asymmetric components are intrinsic. State known only to the game system and to no player is hidden; state known to a human referee or game master but not to the other players is asymmetric.",
      "values": [
        {
          "value": "perfect",
          "rank": 0,
          "description": "All relevant state is public."
        },
        {
          "value": "hidden",
          "rank": 1,
          "description": "Concealed from everyone."
        },
        {
          "value": "asymmetric",
          "rank": 2,
          "description": "Some players know what others do not."
        },
        {
          "value": "mixed",
          "rank": 3,
          "description": "Both hidden and asymmetric components are intrinsic."
        }
      ]
    },
    "feedback_loop": {
      "label": "Feedback loop",
      "description": "Whether success makes further success more likely, less likely, neither, or is self-damped.",
      "ordinal": false,
      "guideline": "Positive: success compounds (engine building, experience levels). Negative: success is penalised or trailing players are compensated (catch-up bonuses, handicap stones given to the weaker player). None: no systematic coupling. Mixed: the canonical form contains a built-in damper (deck dilution in deck-building).",
      "values": [
        {
          "value": "positive",
          "rank": 0,
          "description": "Success compounds."
        },
        {
          "value": "negative",
          "rank": 1,
          "description": "Success is penalised or trailing players are compensated."
        },
        {
          "value": "none",
          "rank": 2,
          "description": "No systematic coupling between past and future success."
        },
        {
          "value": "mixed",
          "rank": 3,
          "description": "A positive loop with a built-in damper, or both directions present."
        }
      ]
    },
    "decision_density": {
      "label": "Decision density",
      "description": "Decision points one player faces in one turn’s use of the mechanic, counted without regard to how much each matters (that is agency).",
      "ordinal": true,
      "guideline": "Count within one turn of the player using the mechanic. Where the mechanic spans several players’ turns without resetting (an auction from lot to sale, a trick from lead to take), count that player’s decisions until it resets. Where play has no turns, count within one encounter in real-time play, or one move in a puzzle solved alone. A decision point is a moment where the rules give the player two or more legal options. Count decision points, not options: choosing among twenty spaces is one decision point. Count only choices the mechanic itself creates: choices made through other mechanics the game also has do not count, and a mechanic that is a constraint, a tally, or a frame with no choices of its own has zero. A referee’s or game master’s rulings on outcomes are adjudication, not decision points; where the mechanic is a menu of choices for the game master (GM moves), count those choices. Inputs that test execution (timing a jump, steadying an aim) are not decision points; count only choices between routes, targets, or tactics. Where the count varies, code the typical count in the canonical form. Code density without looking at agency; the two often disagree. Low: zero or one (victory points, initiative order, placing one stone in Hex, playing one card to a trick, the clue-giver’s turn in Codenames). Medium: two or three (set collection: which card to take and whether to cash in a set; cover systems: whether to move and to which cover). High: four or more (a deck-building turn of playing and buying cards, spending an action-point budget).",
      "values": [
        {
          "value": "low",
          "rank": 0,
          "description": "Zero or one decision point per turn."
        },
        {
          "value": "medium",
          "rank": 1,
          "description": "Two or three decision points per turn."
        },
        {
          "value": "high",
          "rank": 2,
          "description": "Four or more decision points per turn."
        }
      ]
    }
  },
  "effects": [
    {
      "id": "mastery",
      "order": 0,
      "group": "cognitive",
      "label": "Mastery",
      "description": "Perceived growth of player skill through repeated use of the mechanic."
    },
    {
      "id": "discovery",
      "order": 1,
      "group": "cognitive",
      "label": "Discovery",
      "description": "Pleasure of uncovering previously unknown content, rules, or state."
    },
    {
      "id": "planning",
      "order": 2,
      "group": "cognitive",
      "label": "Planning",
      "description": "Satisfaction from constructing multi-step plans and seeing them resolve."
    },
    {
      "id": "inference",
      "order": 3,
      "group": "cognitive",
      "label": "Inference",
      "description": "Reasoning from partial evidence to a conclusion about hidden state."
    },
    {
      "id": "engine-satisfaction",
      "order": 4,
      "group": "cognitive",
      "label": "Engine satisfaction",
      "description": "Gratification from a built system producing escalating output."
    },
    {
      "id": "analysis-paralysis",
      "order": 5,
      "group": "cognitive",
      "label": "Analysis paralysis",
      "description": "Decision slowdown caused by many comparable options with calculable consequences."
    },
    {
      "id": "spatial-reasoning",
      "order": 6,
      "group": "cognitive",
      "label": "Spatial reasoning",
      "description": "Reasoning about position, adjacency, paths, and lines on a represented space."
    },
    {
      "id": "execution",
      "order": 7,
      "group": "cognitive",
      "label": "Execution",
      "description": "Outcome depends on the player’s timing or physical precision rather than on which option is chosen."
    },
    {
      "id": "calculation",
      "order": 8,
      "group": "cognitive",
      "label": "Calculation",
      "description": "Outcome rewards exact enumeration of moves, counts, or odds within a bounded, fully specified space."
    },
    {
      "id": "recall",
      "order": 9,
      "group": "cognitive",
      "label": "Recall",
      "description": "Outcome depends on retaining and retrieving state or sequences seen earlier in play."
    },
    {
      "id": "tension",
      "order": 10,
      "group": "emotional",
      "label": "Tension",
      "description": "An outcome that matters is held unresolved over a span of play the mechanic itself creates, while the player keeps acting or must wait."
    },
    {
      "id": "flow",
      "order": 11,
      "group": "emotional",
      "label": "Flow",
      "description": "Absorbed, continuous engagement produced by well-matched challenge and feedback."
    },
    {
      "id": "ownership",
      "order": 12,
      "group": "emotional",
      "label": "Ownership",
      "description": "Sense that an artefact (character, deck, map, story) is distinctively the player’s own."
    },
    {
      "id": "consequence-weight",
      "order": 13,
      "group": "emotional",
      "label": "Consequence weight",
      "description": "Heightened awareness that decisions are irreversible or costly."
    },
    {
      "id": "frustration-risk",
      "order": 14,
      "group": "emotional",
      "label": "Frustration risk",
      "description": "Propensity to produce feelings of unfairness or helplessness, typically from low-agency loss."
    },
    {
      "id": "sunk-cost",
      "order": 15,
      "group": "emotional",
      "label": "Sunk cost",
      "description": "Reluctance to abandon invested positions even when suboptimal."
    },
    {
      "id": "fear-of-missing-out",
      "order": 16,
      "group": "emotional",
      "label": "Fear of missing out",
      "description": "Anxiety over opportunities others may take or windows that are closing."
    },
    {
      "id": "spectacle",
      "order": 17,
      "group": "emotional",
      "label": "Spectacle",
      "description": "Rare, amplified, or staged outcomes produce memorable peaks distinct from sustained uncertainty."
    },
    {
      "id": "compulsion",
      "order": 18,
      "group": "emotional",
      "label": "Compulsion",
      "description": "Habit-forming pull to return or repeat, produced by scheduled rewards or escalating counters rather than by decision quality."
    },
    {
      "id": "bluffing",
      "order": 19,
      "group": "social",
      "label": "Bluffing",
      "description": "Incentive to misrepresent one’s state or intentions."
    },
    {
      "id": "negotiation",
      "order": 20,
      "group": "social",
      "label": "Negotiation",
      "description": "Incentive to bargain, promise, or form deals with other players."
    },
    {
      "id": "social-deduction",
      "order": 21,
      "group": "social",
      "label": "Social deduction",
      "description": "Reading other players’ behaviour to infer hidden roles or intent."
    },
    {
      "id": "kingmaking",
      "order": 22,
      "group": "social",
      "label": "Kingmaking",
      "description": "A player who cannot win can decide which other player does."
    },
    {
      "id": "teamwork",
      "order": 23,
      "group": "social",
      "label": "Teamwork",
      "description": "Coordination and shared problem-solving among players with a common goal."
    },
    {
      "id": "alpha-player",
      "order": 24,
      "group": "social",
      "label": "Alpha player",
      "description": "One player directs the decisions of others in a shared-goal structure, reducing their effective agency."
    },
    {
      "id": "betrayal",
      "order": 25,
      "group": "social",
      "label": "Betrayal",
      "description": "Incentive or opportunity to break an alliance or shared goal for individual gain."
    },
    {
      "id": "contested-fairness",
      "order": 26,
      "group": "social",
      "label": "Contested fairness",
      "description": "Players are prone to dispute an outcome’s legitimacy because a human judgement or a deliberate asymmetry intervened in it."
    },
    {
      "id": "runaway-leader",
      "order": 27,
      "group": "structural",
      "label": "Runaway leader",
      "description": "A leading position becomes self-reinforcing and hard to overturn."
    },
    {
      "id": "catch-up",
      "order": 28,
      "group": "structural",
      "label": "Catch-up",
      "description": "Trailing players gain compensatory advantage."
    },
    {
      "id": "emergent-narrative",
      "order": 29,
      "group": "structural",
      "label": "Emergent narrative",
      "description": "Memorable stories arise from system interaction rather than authored content."
    },
    {
      "id": "replayability",
      "order": 30,
      "group": "structural",
      "label": "Replayability",
      "description": "Variation across plays that sustains interest."
    },
    {
      "id": "downtime",
      "order": 31,
      "group": "structural",
      "label": "Downtime",
      "description": "Periods where a player waits while others act."
    },
    {
      "id": "grind",
      "order": 32,
      "group": "structural",
      "label": "Grind",
      "description": "Repetition required to make progress, with low per-repetition novelty."
    },
    {
      "id": "volatility",
      "order": 33,
      "group": "structural",
      "label": "Volatility",
      "description": "Outcomes swing substantially on single events."
    }
  ],
  "effect_groups": [
    {
      "id": "cognitive",
      "label": "Cognitive",
      "description": "Effects on thinking, learning, and problem-solving."
    },
    {
      "id": "emotional",
      "label": "Emotional",
      "description": "Affective states the mechanic tends to produce."
    },
    {
      "id": "social",
      "label": "Social",
      "description": "Effects on how players relate to one another."
    },
    {
      "id": "structural",
      "label": "Structural",
      "description": "Dynamics of the play session that follow from the mechanic, neither good nor bad in themselves."
    }
  ],
  "media": [
    {
      "id": "video",
      "label": "Video",
      "description": "Digital games on any platform."
    },
    {
      "id": "tabletop-rpg",
      "label": "Tabletop RPG",
      "description": "Role-playing games with a facilitator or shared fiction, including solo journaling games."
    },
    {
      "id": "board-card",
      "label": "Board & card",
      "description": "Board games, card games, dice games, and wargames, including app-assisted ones."
    },
    {
      "id": "physical",
      "label": "Physical",
      "description": "Sports, playground games, LARP, escape rooms, and dexterity games. Secondary: used for provenance and cross-medium comparison, never as an entry’s only medium."
    },
    {
      "id": "print",
      "label": "Print",
      "description": "Printed puzzles and gamebooks: pencil puzzles, newspaper and magazine puzzle columns, and choose-your-path books. Secondary: used for provenance and cross-medium comparison, never as an entry’s only medium."
    }
  ],
  "statuses": [
    {
      "id": "draft",
      "label": "Draft",
      "description": "Skeleton or incomplete entry. Rendered with a banner and excluded from search."
    },
    {
      "id": "unverified",
      "label": "Unverified",
      "description": "Complete entry whose sources or provenance have not yet been checked against primary material."
    },
    {
      "id": "verified",
      "label": "Verified",
      "description": "Complete entry with three or more examples; two or more sources, at least one not a wiki, including a book, paper, or rulebook with a locator; and provenance at high or medium confidence."
    }
  ],
  "confidence": [
    {
      "id": "high",
      "label": "High",
      "description": "Earliest use is documented in a primary source or uncontested in the design literature."
    },
    {
      "id": "medium",
      "label": "Medium",
      "description": "A widely cited earliest use exists but earlier instances are plausible or the dating is loose."
    },
    {
      "id": "low",
      "label": "Low",
      "description": "The named earliest use is the earliest documented instance found, but earlier instances are plausible or the evidence is thin, so it is not defended as an origin."
    },
    {
      "id": "unknown",
      "label": "Unknown",
      "description": "No defensible earliest use; only a populariser or a period can be named."
    }
  ],
  "source_types": [
    {
      "id": "book",
      "label": "Book",
      "description": "Monograph or edited volume."
    },
    {
      "id": "paper",
      "label": "Paper",
      "description": "Peer-reviewed or workshop paper."
    },
    {
      "id": "article",
      "label": "Article",
      "description": "Magazine, blog, or news article."
    },
    {
      "id": "talk",
      "label": "Talk",
      "description": "Conference talk or lecture."
    },
    {
      "id": "video",
      "label": "Video",
      "description": "Video essay or documentary."
    },
    {
      "id": "podcast",
      "label": "Podcast",
      "description": "Audio episode."
    },
    {
      "id": "wiki",
      "label": "Wiki",
      "description": "Community-edited reference such as BoardGameGeek or Wikipedia."
    },
    {
      "id": "rulebook",
      "label": "Rulebook",
      "description": "Primary rules text of a game."
    },
    {
      "id": "website",
      "label": "Website",
      "description": "Other web page."
    },
    {
      "id": "interview",
      "label": "Interview",
      "description": "Published interview with a designer."
    }
  ],
  "relation_types": [
    "parent",
    "related"
  ],
  "ability_functions": [
    {
      "id": "damage",
      "label": "Damage",
      "description": "Reduces an opponent’s health or equivalent measure."
    },
    {
      "id": "control",
      "label": "Control",
      "description": "Removes or restricts an opponent’s ability to act or move."
    },
    {
      "id": "mobility",
      "label": "Mobility",
      "description": "Moves the user, or another piece, faster or farther than ordinary movement allows."
    },
    {
      "id": "protection",
      "label": "Protection",
      "description": "Absorbs, blocks, or prevents incoming damage before it lands."
    },
    {
      "id": "restoration",
      "label": "Restoration",
      "description": "Restores lost health or returns a defeated character to play."
    },
    {
      "id": "enhancement",
      "label": "Enhancement",
      "description": "Temporarily improves an ally’s capabilities."
    },
    {
      "id": "summoning",
      "label": "Summoning",
      "description": "Brings a temporary allied entity into play."
    },
    {
      "id": "concealment",
      "label": "Concealment",
      "description": "Hides the user or an ally from opponents."
    },
    {
      "id": "detection",
      "label": "Detection",
      "description": "Reveals hidden state, units, or terrain."
    },
    {
      "id": "negation",
      "label": "Negation",
      "description": "Cancels a spell or ability as it is cast, or ends a spell, enchantment, or condition already in place, on friend or foe."
    }
  ],
  "ability_delivery": [
    {
      "id": "projectile",
      "label": "Projectile",
      "description": "Travels through space from the user and can be dodged or blocked in transit."
    },
    {
      "id": "targeted",
      "label": "Targeted",
      "description": "Applies to a chosen target without a travelling object."
    },
    {
      "id": "area",
      "label": "Area",
      "description": "Affects everything within a radius or region."
    },
    {
      "id": "line",
      "label": "Line",
      "description": "Affects everything along a line or beam from the user."
    },
    {
      "id": "melee",
      "label": "Melee",
      "description": "Delivered at contact range."
    },
    {
      "id": "self",
      "label": "Self",
      "description": "Applies to the user."
    },
    {
      "id": "placed",
      "label": "Placed",
      "description": "Creates a persistent object or zone at a chosen location."
    }
  ],
  "ability_gating": [
    {
      "id": "at-will",
      "label": "At will",
      "description": "Usable whenever the user can act, at no cost beyond taking the action.",
      "mechanic": null
    },
    {
      "id": "cooldown",
      "label": "Cooldown",
      "description": "Unavailable for a fixed interval of time or turns after each use.",
      "mechanic": "cooldowns"
    },
    {
      "id": "ultimate-charge",
      "label": "Ultimate charge",
      "description": "A meter filled by time, damage dealt or taken, or objectives; the ability is usable only when the meter is full.",
      "mechanic": null
    },
    {
      "id": "mana",
      "label": "Mana",
      "description": "Each use spends points from a pool shared by several abilities (mana, MP, FP, energy, or mana produced by lands in card games).",
      "mechanic": null
    },
    {
      "id": "spell-slots",
      "label": "Spell slots",
      "description": "Each use expends a slot of a given level from an allotment restored by rest.",
      "mechanic": null
    },
    {
      "id": "per-rest",
      "label": "Per rest",
      "description": "A fixed number of uses restored by a rest or another narrative interval, without slots.",
      "mechanic": "downtime-phases"
    },
    {
      "id": "charges",
      "label": "Charges",
      "description": "A small stock of uses that refill one at a time, or a finite stock held on an item.",
      "mechanic": null
    },
    {
      "id": "consumable",
      "label": "Consumable",
      "description": "Each use spends an item or card: a scroll, a potion, a power-up, a card discarded on play.",
      "mechanic": "inventory-encumbrance"
    },
    {
      "id": "action-cost",
      "label": "Action cost",
      "description": "Each use takes a share of a per-turn action budget.",
      "mechanic": "action-points"
    },
    {
      "id": "proc-chance",
      "label": "Proc chance",
      "description": "Fires on its own, without being activated, when a trigger such as a hit, an attack roll, or a card draw succeeds on a stated chance.",
      "mechanic": "procs"
    }
  ],
  "craft_operations": [
    {
      "id": "create",
      "label": "Create",
      "description": "Makes a new item from inputs that are used up."
    },
    {
      "id": "deconstruct",
      "label": "Deconstruct",
      "description": "Breaks an item down into materials or components."
    },
    {
      "id": "modify",
      "label": "Modify",
      "description": "Adds, removes, or changes a property of an item already held."
    },
    {
      "id": "upgrade",
      "label": "Upgrade",
      "description": "Raises an item’s tier, level, or grade on a fixed ladder."
    },
    {
      "id": "combine",
      "label": "Combine",
      "description": "Merges two or more items into one."
    },
    {
      "id": "transfer",
      "label": "Transfer",
      "description": "Moves a property, power, or appearance from one item to another."
    },
    {
      "id": "restore",
      "label": "Restore",
      "description": "Returns a worn, broken, or spent item to use."
    }
  ],
  "craft_outcomes": [
    {
      "id": "fixed",
      "label": "Fixed",
      "description": "The same inputs always give the same result."
    },
    {
      "id": "random",
      "label": "Random",
      "description": "The result is drawn from a range or a table at the moment of crafting."
    },
    {
      "id": "failure-chance",
      "label": "Failure chance",
      "description": "An attempt can fail, spending its inputs for nothing."
    },
    {
      "id": "item-loss",
      "label": "Item loss",
      "description": "An attempt can destroy, downgrade, or permanently lock the item worked on."
    },
    {
      "id": "player-skill",
      "label": "Player skill",
      "description": "The result depends on the player’s execution or choices in a crafting sequence."
    },
    {
      "id": "character-skill",
      "label": "Character skill",
      "description": "The result depends on a character’s skill rank or a roll against it."
    }
  ],
  "craft_requirements": [
    {
      "id": "no-cost",
      "label": "No cost",
      "description": "Needs nothing beyond the item itself and the action: a menu command with no fee, station, or material.",
      "mechanic": null
    },
    {
      "id": "materials",
      "label": "Materials",
      "description": "Spends gathered or dropped raw materials or components.",
      "mechanic": "resource-gathering"
    },
    {
      "id": "currency",
      "label": "Currency",
      "description": "Spends money, a currency item consumed by the operation, or another spendable pool such as experience levels.",
      "mechanic": "commodity-currency"
    },
    {
      "id": "station",
      "label": "Station",
      "description": "Must be done at a workbench, forge, vendor, or other fixed place or device.",
      "mechanic": "base-building"
    },
    {
      "id": "recipe",
      "label": "Recipe",
      "description": "Needs a recipe, schematic, or blueprint the player has found, bought, or unlocked.",
      "mechanic": null
    },
    {
      "id": "skill-rank",
      "label": "Skill rank",
      "description": "Needs a profession or character skill at a minimum rank.",
      "mechanic": "experience-levels"
    },
    {
      "id": "reputation",
      "label": "Reputation",
      "description": "Needs standing with a faction, guild, or vendor at a minimum level.",
      "mechanic": "reputation-factions"
    },
    {
      "id": "sacrificed-item",
      "label": "Sacrificed item",
      "description": "Consumes a second finished item, not a raw material.",
      "mechanic": null
    },
    {
      "id": "modification-budget",
      "label": "Modification budget",
      "description": "Each item carries a finite allowance of operations that the operation spends.",
      "mechanic": null
    },
    {
      "id": "time",
      "label": "Time",
      "description": "Takes a span of real or game time to complete.",
      "mechanic": null
    }
  ],
  "scaling_axes": [
    {
      "id": "vertical",
      "label": "Vertical",
      "description": "Capability grows in magnitude: larger numbers, higher tiers, a higher ceiling."
    },
    {
      "id": "horizontal",
      "label": "Horizontal",
      "description": "Options or breadth grow while power stays roughly level: more choices, not stronger ones."
    },
    {
      "id": "normalizing",
      "label": "Normalizing",
      "description": "Vertical differences are compressed or cancelled, so that players, enemies, or content of different levels meet on comparable terms."
    }
  ],
  "scaling_scopes": [
    {
      "id": "character",
      "label": "Character",
      "description": "What scales is a character’s own statistics, level, or roster of options."
    },
    {
      "id": "item",
      "label": "Item",
      "description": "What scales is equipment: its tier, level, or the spread of items on offer."
    },
    {
      "id": "ability",
      "label": "Ability",
      "description": "What scales is the magnitude or reach of an ability, spell, or attack."
    },
    {
      "id": "world",
      "label": "World",
      "description": "What scales is the opposition or the world: enemies, zones, encounters."
    },
    {
      "id": "content",
      "label": "Content",
      "description": "What scales is the game across releases: expansions, card sets, seasons."
    }
  ],
  "scaling_bases": [
    {
      "id": "character-level",
      "label": "Character level",
      "description": "Keyed to a character’s level or experience total.",
      "mechanic": "experience-levels"
    },
    {
      "id": "attribute",
      "label": "Attribute",
      "description": "Keyed to an attribute or statistic such as strength or intelligence.",
      "mechanic": "point-buy"
    },
    {
      "id": "skill-rank",
      "label": "Skill rank",
      "description": "Keyed to ranks invested in a skill, talent, or perk.",
      "mechanic": "skill-trees"
    },
    {
      "id": "item-tier",
      "label": "Item tier",
      "description": "Keyed to the tier, level, or rarity of equipment held.",
      "mechanic": "loot-tables"
    },
    {
      "id": "unlock",
      "label": "Unlock",
      "description": "Keyed to an option made available by an unlock, without a change in magnitude.",
      "mechanic": "roguelike-meta-progression"
    },
    {
      "id": "release",
      "label": "Release",
      "description": "Keyed to a release: an expansion, a card set, a season, or a patch.",
      "mechanic": "seasonal-leagues"
    },
    {
      "id": "content-level",
      "label": "Content level",
      "description": "Keyed to the level assigned to a zone, dungeon, or activity, which sets the level the player is treated as having.",
      "mechanic": null
    },
    {
      "id": "difficulty-tier",
      "label": "Difficulty tier",
      "description": "Keyed to a chosen or unlocked difficulty tier.",
      "mechanic": "difficulty-settings"
    },
    {
      "id": "reset",
      "label": "Reset",
      "description": "Keyed to a reset that clears or rescales accumulated progress.",
      "mechanic": "prestige-resets"
    },
    {
      "id": "real-time",
      "label": "Real time",
      "description": "Keyed to time elapsed on the real-world clock, whether or not the game is being played.",
      "mechanic": "appointment-mechanics"
    }
  ],
  "synergy_forms": [
    {
      "id": "threshold",
      "label": "Threshold",
      "description": "A bonus switches on when enough matching parts are held or in play together, often in tiers."
    },
    {
      "id": "cumulative",
      "label": "Cumulative",
      "description": "Each matching part adds to the payoff of the others, without breakpoints, so value grows with every part added."
    },
    {
      "id": "setup-payoff",
      "label": "Setup and payoff",
      "description": "One action leaves a state that a later action, from a class of finishers, consumes or exploits for extra effect."
    },
    {
      "id": "combination",
      "label": "Combination",
      "description": "Two specific parts together yield a distinct, named effect that neither has alone."
    },
    {
      "id": "conversion",
      "label": "Conversion",
      "description": "One property, resource, or damage type is turned into another, so investment in one feeds the effects of the other."
    },
    {
      "id": "loop",
      "label": "Loop",
      "description": "Parts trigger one another so that a chain sustains or repeats itself, sometimes without limit."
    }
  ],
  "synergy_scopes": [
    {
      "id": "build",
      "label": "Build",
      "description": "The parts belong to one character or player: equipment, abilities, passives, or upgrades."
    },
    {
      "id": "team",
      "label": "Team",
      "description": "The parts belong to different characters or players on one side."
    },
    {
      "id": "board",
      "label": "Board",
      "description": "The parts are cards, units, or pieces a player has in play."
    },
    {
      "id": "field",
      "label": "Field",
      "description": "The parts meet in the state of a target, terrain, or the environment."
    }
  ],
  "synergy_links": [
    {
      "id": "tag",
      "label": "Tag",
      "description": "A shared type, tribe, class, faction, or keyword printed on the parts.",
      "mechanic": null
    },
    {
      "id": "set",
      "label": "Set",
      "description": "Membership in a named set whose pieces are designed to be held together.",
      "mechanic": "set-collection"
    },
    {
      "id": "status",
      "label": "Status",
      "description": "A status, debuff, or condition placed by one part and read by another.",
      "mechanic": "status-effects"
    },
    {
      "id": "element",
      "label": "Element",
      "description": "An element or damage type carried by the parts.",
      "mechanic": "damage-types"
    },
    {
      "id": "position",
      "label": "Position",
      "description": "Where the parts stand: adjacency, formation, flanking, or range.",
      "mechanic": "adjacency-bonuses"
    },
    {
      "id": "timing",
      "label": "Timing",
      "description": "A window or order in which the parts must be used.",
      "mechanic": "combo-systems"
    },
    {
      "id": "trigger",
      "label": "Trigger",
      "description": "An event fired by one part that sets off another.",
      "mechanic": "procs"
    },
    {
      "id": "resource",
      "label": "Resource",
      "description": "A pool spent, produced, or converted by the parts.",
      "mechanic": "resource-conversion"
    },
    {
      "id": "stat",
      "label": "Stat",
      "description": "A statistic or modifier that one part raises and another reads or multiplies.",
      "mechanic": null
    },
    {
      "id": "relationship",
      "label": "Relationship",
      "description": "A bond, affinity, or support rank between characters.",
      "mechanic": "relationship-systems"
    }
  ],
  "weapon_delivery": [
    {
      "id": "melee",
      "label": "Melee",
      "description": "Strikes at contact range or the reach of a held weapon."
    },
    {
      "id": "thrown",
      "label": "Thrown",
      "description": "The weapon itself leaves the hand and travels to the target."
    },
    {
      "id": "projectile",
      "label": "Projectile",
      "description": "Fires or launches a missile with travel time, which can be dodged, led, or blocked in flight."
    },
    {
      "id": "hitscan",
      "label": "Hitscan",
      "description": "Resolves at once along a line from the weapon, with no travel time; continuous beams included."
    },
    {
      "id": "area",
      "label": "Area",
      "description": "The effect is a radius, cone, or region rather than the object that carries it there."
    },
    {
      "id": "placed",
      "label": "Placed",
      "description": "Set down or attached at a location and set off later, by the user or by a timer."
    },
    {
      "id": "any",
      "label": "Any delivery",
      "description": "A rule or property that applies to weapons whatever their delivery, with no single delivery dominant."
    }
  ],
  "weapon_kinds": [
    {
      "id": "behaviour",
      "label": "Behaviour",
      "description": "One way a weapon acts, found on weapons of many classes."
    },
    {
      "id": "class",
      "label": "Class",
      "description": "A named type of weapon whose identity is a bundle of traits: range, damage profile, rate, handling."
    },
    {
      "id": "rule",
      "label": "Rule",
      "description": "A system that governs the use of all or most weapons in a game."
    },
    {
      "id": "property",
      "label": "Property",
      "description": "A trait or tag printed on, or attached to, individual weapons."
    }
  ],
  "weapon_limits": [
    {
      "id": "unlimited",
      "label": "Unlimited",
      "description": "Usable whenever the user can act, with no stock, meter, or wear.",
      "mechanic": null
    },
    {
      "id": "ammunition",
      "label": "Ammunition",
      "description": "Each use spends rounds, arrows, or charges from a finite carried stock that must be found or bought.",
      "mechanic": "inventory-encumbrance"
    },
    {
      "id": "magazine",
      "label": "Magazine",
      "description": "Only so many uses before the weapon must be reloaded, which takes time or an action.",
      "mechanic": null
    },
    {
      "id": "heat",
      "label": "Heat",
      "description": "Use builds heat or a similar meter; at the cap the weapon stops until it cools.",
      "mechanic": null
    },
    {
      "id": "charge-time",
      "label": "Charge time",
      "description": "The weapon must be held, drawn, or wound up before it fires, and the wait sets or scales the effect.",
      "mechanic": null
    },
    {
      "id": "durability",
      "label": "Durability",
      "description": "Use wears the weapon down until it breaks, weakens, or must be repaired.",
      "mechanic": null
    },
    {
      "id": "stamina",
      "label": "Stamina",
      "description": "Each attack spends from a stamina or fatigue pool shared with other actions.",
      "mechanic": null
    },
    {
      "id": "cooldown",
      "label": "Cooldown",
      "description": "Unavailable for a fixed interval of time or turns after each use.",
      "mechanic": "cooldowns"
    },
    {
      "id": "action-cost",
      "label": "Action cost",
      "description": "Each use takes a share of a per-turn action budget, or a whole action.",
      "mechanic": "action-points"
    }
  ],
  "system_domains": [
    {
      "id": "environment",
      "label": "Environment",
      "description": "The world itself: time of day, weather, seasons, elements, and terrain."
    },
    {
      "id": "inhabitants",
      "label": "Inhabitants",
      "description": "Non-player characters and creatures as agents: rivals, routines, and ecology."
    },
    {
      "id": "society",
      "label": "Society",
      "description": "Law, factions, and territory: collective bodies that hold an attitude or ground."
    },
    {
      "id": "economy",
      "label": "Economy",
      "description": "Prices, production, and demand across a simulated population or market."
    },
    {
      "id": "body",
      "label": "Body",
      "description": "The avatar's physiology: needs, injury, and exposure."
    },
    {
      "id": "pacing",
      "label": "Pacing",
      "description": "Systems that meter encounters and intensity over a session."
    }
  ],
  "system_drivers": [
    {
      "id": "clock",
      "label": "Clock",
      "description": "State advances on a schedule that could be printed in advance."
    },
    {
      "id": "player-action",
      "label": "Player action",
      "description": "State builds up or decays from what the player does."
    },
    {
      "id": "autonomous",
      "label": "Autonomous",
      "description": "Simulated agents or processes change state on their own rules, whether or not the player acts."
    },
    {
      "id": "adaptive",
      "label": "Adaptive",
      "description": "The system reads the player's state or performance and adjusts to it."
    }
  ],
  "system_parts": [
    {
      "id": "world-clock",
      "label": "World clock",
      "description": "An in-game clock or calendar of hours, days, or seasons that advances during play and that other parts read.",
      "mechanic": null
    },
    {
      "id": "conditional-spawn",
      "label": "Conditional spawn",
      "description": "What appears (enemies, creatures, resources, events) is drawn according to the system's state: the hour, the weather, the tier, the intensity.",
      "mechanic": null
    },
    {
      "id": "escalation",
      "label": "Escalation",
      "description": "One state rises through ordered tiers or levels, each bringing a stronger response or harder content.",
      "mechanic": null
    },
    {
      "id": "return-to-rest",
      "label": "Return to rest",
      "description": "The state falls back toward rest when the player stops feeding it: breaking contact, hiding, waiting out a relax phase.",
      "mechanic": null
    },
    {
      "id": "paid-reset",
      "label": "Paid reset",
      "description": "The state is cleared at once by paying a price: a fine, a bribe, time in jail, a lost ship or possession.",
      "mechanic": null
    },
    {
      "id": "drain",
      "label": "Drain",
      "description": "The player's meters run down with time or activity and must be refilled: hunger, warmth, fuel, immunity.",
      "mechanic": "needs-and-moods"
    },
    {
      "id": "exposure",
      "label": "Exposure",
      "description": "Conditions of the environment (cold, wet, darkness, storm) act on the bodies or units present in them.",
      "mechanic": null
    },
    {
      "id": "propagation",
      "label": "Propagation",
      "description": "State passes from a place or entity to its neighbours by rule: fire, flood, disease, influence.",
      "mechanic": null
    },
    {
      "id": "agent-memory",
      "label": "Agent memory",
      "description": "The system records individual past encounters with the player and acts on them later.",
      "mechanic": null
    },
    {
      "id": "rank-hierarchy",
      "label": "Rank hierarchy",
      "description": "Non-player agents hold ranks or positions in a structure that change through play: promotion, succession, overlords.",
      "mechanic": null
    },
    {
      "id": "routines",
      "label": "Routines",
      "description": "Non-player agents follow timed sequences of places and activities.",
      "mechanic": null
    },
    {
      "id": "agent-needs",
      "label": "Agent needs",
      "description": "Simulated agents (creatures, residents, populations) have needs and act to meet them: feeding, hunting, buying, moving.",
      "mechanic": null
    },
    {
      "id": "population-change",
      "label": "Population change",
      "description": "The numbers of simulated agents rise and fall through birth, death, migration, or growth.",
      "mechanic": null
    },
    {
      "id": "demand",
      "label": "Demand",
      "description": "An aggregate measure of unmet demand for goods, land use, or services drives what the simulation produces or builds.",
      "mechanic": null
    },
    {
      "id": "territory-change",
      "label": "Territory change",
      "description": "Control of places passes between non-player sides through the simulation.",
      "mechanic": null
    },
    {
      "id": "treatment",
      "label": "Treatment",
      "description": "A lasting condition clears only through a remedy matched to it: an item, skill, facility, or rest.",
      "mechanic": null
    },
    {
      "id": "intensity-reading",
      "label": "Intensity reading",
      "description": "The system estimates the player's state or performance (stress, health, progress) and acts on the estimate.",
      "mechanic": null
    },
    {
      "id": "forecast",
      "label": "Forecast",
      "description": "The system's coming state is shown or signalled in advance: a forecast, a demand meter, a tier display, a calendar.",
      "mechanic": null
    },
    {
      "id": "lasting-damage",
      "label": "Lasting damage",
      "description": "Damage to terrain or structures persists and changes paths, cover, or lines of sight.",
      "mechanic": null
    },
    {
      "id": "report-step",
      "label": "Report step",
      "description": "The state changes only when a witness, guard, or sensor reports what it saw, and the report can be stopped.",
      "mechanic": null
    },
    {
      "id": "aid-lockout",
      "label": "Aid lockout",
      "description": "While the state lasts, the player's aids (radar, map, travel, saving, shops) are withdrawn.",
      "mechanic": null
    },
    {
      "id": "contentment",
      "label": "Contentment",
      "description": "A stored measure of a population's satisfaction feeds what it yields (taxes, levies, labour) and, at its low end, unrest or revolt.",
      "mechanic": null
    },
    {
      "id": "succession",
      "label": "Succession",
      "description": "When a holder dies or is removed, positions and holdings pass to heirs or successors by rule.",
      "mechanic": null
    },
    {
      "id": "side-relations",
      "label": "Side relations",
      "description": "Non-player sides hold relations with one another (war, peace, alliance) that change through play.",
      "mechanic": null
    },
    {
      "id": "headcount-scaling",
      "label": "Headcount scaling",
      "description": "Challenge or reward scales to the number of players present.",
      "mechanic": null
    },
    {
      "id": "contribution-reward",
      "label": "Contribution reward",
      "description": "Rewards are graded by each participant's share of the work.",
      "mechanic": null
    },
    {
      "id": "costly-rest",
      "label": "Costly rest",
      "description": "Recovery needs a place, time, or price, and can be interrupted or refused.",
      "mechanic": null
    },
    {
      "id": "containment",
      "label": "Containment",
      "description": "Barriers, isolation, or quarantine block or slow what spreads.",
      "mechanic": null
    },
    {
      "id": "capacity-load",
      "label": "Capacity and load",
      "description": "A capacity (a plant's output, a road's width, a store's size) is weighed against the load placed on it, and overload or shortfall degrades what it serves.",
      "mechanic": null
    }
  ]
}