evaluating-gameplay-balance

Installation
SKILL.md

Use this skill to analyze whether a game rewards skillful play and to propose structural improvements.

Engine-neutral contract:

  • Produce comparable runs for monotonous policies and exploratory policies.
  • Define the public input schema and visible-state features available to policies.
  • Keep seeds, tick rate, max duration, policy definitions, search budget, and aggregation logic comparable across runs.
  • Record score, elapsed time, end state, and telemetry for death, spawn, scoring, input, and usage behavior. Usage is what play actually consists of: how much of the action and score comes from the core mechanic, which parts of the play space are occupied, and how often each threat fires and connects.
  • When the game has a goal beyond staying alive, add objective-ignoring policies to the comparison: one that stalls to keep scoring, and one that survives without pursuing the goal. A stall that scores more is a signal to examine its cap, its cost, and its whole-run effect, not a defect by itself.
  • Compute exploratory_ratio = exploratory.best.score / monotonous.max_score.
  • Treat the ratio as a quality detector, not an optimization target.
  • Declare an execution profile for every non-baseline policy as well as its visible-state features: oracle (hidden information allowed; upper bound), precise (visible state, near-perfect timing and attention), or human-limited (visible state plus the human limits in references/simulation-harness.md). Compute the ratio from precise policies (search-based runners included, unless labeled oracle); it detects exploits, not difficulty.
  • Set difficulty, timers, pacing, and progression targets only from human-limited runs, and label every conclusion with the profile it rests on. Without a human-limited run, do not state a difficulty or pacing verdict — report it as not yet measured.
  • A claim that a strategy dominates, or that a trade-off is balanced, names the profiles it was tested on. If the ranking flips between profiles, that alone is not a balance defect — report it as skill-dependent, but still apply the experience guardrails to each profile's best strategy (a human-limited optimum of idling or waiting is a defect).

Non-deterministic harnesses:

The contract above assumes a seeded forward model. Some rigs cannot provide one — a real browser driven over a wall-clock window, an engine whose RNG you do not control, a policy comparison run against live rendering. Seeding is still the first choice; when it is genuinely unavailable, the following replaces it, and skipping it produces confident conclusions from noise:

Installs
38
GitHub Stars
36
First Seen
May 17, 2026