ground-game/history/260804-threshold-reachability-and-difficulty.md
tegwick 8886543aa0 Rule GR-S01 deal and close GROUND-WP-0004 threshold gap
Surface is always in play with hidden priorities 1..k, so available
points are 6/9/12 against Standard thresholds 5/7/9 — every seat band
is winnable. Encode the contract in edition rules, finish the workplan,
and park optional difficulty tiers as GROUND-WP-0005.
2026-08-04 00:21:13 +02:00

17 KiB
Raw Blame History

Threshold reachability and difficulty levers

Date: 2026-08-04
Status: Ruled under GROUND-WP-0004-T01 (deal 6/9/12, thresholds 5/7/9 Standard, SHARED GROUND 26). Difficulty tiers residual → GROUND-WP-0005.
Context: GROUND-WP-0004 (reopen of GR-E01 after clay-borg's premise correction); table confirmation that 3p SHARED GROUND felt unwinnable.
Purpose: (1) make every seat count arithmetically winnable; (2) map mechanical bottlenecks and propose difficulty control that fits existing rules.


0. What the numbers actually are

Three different point totals have been used. Only one matches the printed rules plus Problems.csv.

Authoritative problem values (every scenario)

card hidden_priority point_value suit
Surface 0 2 Repair (varies by scenario pattern; see Problems.csv)
Hidden 1 1 2 Clarify
Hidden 2 2 2 Boundary
Hidden 3 3 3 Repair
Hidden 4 4 3 Change
file total 12

GR-S01 as printed (Rules_Text.csv §Setup + Scenarios.csv)

Use the Surface Problem. Add hidden Problems: priorities 12 (2p), 13 (34p), 14 (56p).

Surface is always in play; the priority filter only selects which hidden cards join it.

seats in play max points GR-E01 threshold margin need % of max
2 S + H12 (3) 6 5 +1 83%
34 S + H13 (4) 9 7 +2 78%
56 S + H14 (5) 12 9 +3 75%

Under a correct import of GR-S01 + Problems.csv, every seat count is arithmetically winnable.

Where clay-borg's 4 / 6 / 9 came from

After correcting the false "12 always available" claim, CB-WP-0021 treated GR-S01 as dealing 2 / 3 / 4 total problems counted from the Surface upward (Surface + first n1 hidden). That drops one card vs the printed setup and yields:

seats their deal their max threshold
2 2 4 5 impossible
34 3 6 7 impossible
56 4 9 9 exact only

That matches the engine stand-in shape (deal depth 2/3/4, Surface = priority 1), not the edition text. The stand-in itself (values = priority: 1+2+3 = 6 at 3p vs threshold 7) is what table play and gd0001 measured.

source 2p max 34p max 56p max vs 5/7/9
Engine stand-in 3 6 10 fail / fail / ok
clay-borg "CSV deal" 4 6 9 fail / fail / exact
Printed GR-S01 + CSV 6 9 12 ok / ok / ok

Implication for the ruling: the void of gr-e01-threshold-unreachable-2p was wrong for the wrong reason (claimed 12 in play). The reopened claim that low seats are arithmetically impossible is also wrong for the correct dataset + setup. What remains real is:

  1. The engine has been simulating an impossible game at 24p.
  2. Even with correct 6/9/12, thresholds demand ~7583% of all available points — little room for DENY, missed suits, or social friction. That matches "I played well and still lost" without true impossibility.

1. Easy adaptation — make every setup winnable

Rule the deal explicitly, once, for clay-borg and print:

  • Problems in play = Surface (always) hidden priorities 1..k, with k ∈ {2,3,4} by seat band.
  • Available value = 6 / 9 / 12 (not 4 / 6 / 9, not 12-always).
  • Thresholds 5 / 7 / 9 stand.
  • gr-e01-threshold-unreachable-2p becomes an engine import / fixture bug, not a design gap — rewrite the scenario as a non-provisional check that sum(point_value of dealt) ≥ threshold for every seat band.
  • Explicitly reject "SHARED GROUND is 56p only": README and Modes advertise 26.

Dataset touch (optional but clarifying): add a one-line setup formula to Rules_Text / scenario microcopy:

In play: Surface + hidden priorities 1k. Available points: 6 (2p) / 9 (34p) / 12 (56p). Threshold: 5 / 7 / 9.

No threshold column change required for step 1.

If table feel still fails after correct deal (fallback knobs)

Use only if playtest after correct import still loses too often when play is competent:

knob change effect
A. Soften thresholds 2p→4, 34p→6, 56p→8 ~67% of max; one mid-value miss still ok
B. Always deal full five k=4 at all seats max always 12; scale threshold by seats or difficulty
C. Extra round at low seats 2p: 6 rounds more Investigate/Solve bandwidth when action total is 10

Prefer A only after measuring with correct deal; do not pre-emptively lower numbers that already work on paper.

What not to do for step 1

  • Do not declare low-seat SHARED GROUND intentionally unwinnable (user requirement: every setup must allow player win).
  • Do not raise problem values silently inside r0 (GROUND-WP-0002 contract: point_value change = revision bump).
  • Do not leave clay-borg on stand-in values while print says otherwise.

2. Structural analysis — limits and bottlenecks

2.1 Win pipeline (per Problem)

[hidden?] --INVESTIGATE--> face-up --SOLVE + matching suit--> claimed (points)
                ^                         ^
                |                         |
         DENY can reverse          Stress 45 gates SOLVE
         (needs GROUND—OU)         (needs Freedom or calm)

Only face-up, non-Denied Problems can be claimed. Surface starts face up; every hidden card costs at least one Investigate somewhere in the five rounds.

2.2 Action budget (5 rounds, simultaneous)

seats total actions min INV (full clear) min SOLVE productive floor slack
2 10 2 3 5 5
3 15 3 4 7 8
4 20 3 4 7 13
5 25 4 5 9 16
6 30 4 5 9 21

Slack looks generous, but it is not free: Support, Attack, GROUND, DARVO recovery, and failed suit races all consume the same action slot. At 2p, half the game must be pure problem work if the table wants a full clear; any DARVO episode that forces GROUND/Support eats the margin that threshold 5-of-6 already requires.

2.3 Bottleneck map

# bottleneck mechanism how it blocks the win
B1 Reveal chain Only Investigate reveals non-Denied hidden Problems Unrevealed cards contribute 0; DENY undoes prior Investigates until OU
B2 Suit match SOLVE needs exact suit in hand; only Investigate (and starting deal) add Solutions Dead hands; wasted rounds fishing the deck
B3 Stress gate Stress 45 → only ATTACK/GROUND free; Investigate/Solve need ready Freedom Productive actions disappear exactly when the table is on fire
B4 Freedom scarcity One binary token; ready via GROUND—GR or Bond Support Serializes recovery; no hand limit but Freedom is the real scarce resource
B5 DARVO tax 3-stage binding sequence; DENY steals a face-up Problem Multi-round opportunity cost; can deny the exact card needed for threshold
B6 Relation slots 2 slots/player; Bond Support is the strong DARVO cancel Support network is capacity-limited; Rivalry burns slots
B7 Solve race Same-round Lead order; loser keeps Solution but burns the Action Coordination tax in semi-coop / coalitions
B8 Fixed horizon Exactly 5 rounds No catch-up time after a late DENY or late reveal of a 3-point card
B9 Threshold density Need ~7583% of all points in play Losing any 3-value card (or two 2-value) often ends the group

2.4 Suit demand (full clear, typical scenario shape)

seats suits required
2 Repair, Clarify, Boundary (one each)
34 Repair ×2, Clarify, Boundary
56 Repair ×2, Clarify, Boundary, Change

Deck is 6 per suit / 24 total; opening deal is 2 per seat (random). Investigate is both the reveal engine and the only steady suit pump. That double duty is the deepest structural coupling: the action that opens problems also feeds the action that closes them.

2.5 Seat-count dynamics (why low seats feel worse)

  • Absolute slack is lowest at 2p, but threshold % is also highest (83%).
  • Fewer seats ⇒ fewer parallel Investigates and fewer Bond partners to cancel DARVO.
  • More seats ⇒ more Attacks and more DARVO triggers, but more total actions and more Support bandwidth.
  • Semi-coop / coalitions add incentive to race SOLVE and to Attack for personal edge, which steals actions from the group pipeline — thresholds that are tight in pure co-op become brutal when players partially defect.

Solo (not in core; EXT_SOLO noted) inherits the 2p action poverty without a Bond partner: DENY cannot be cancelled by Bond Support; only GROUND—GR after the stage / OU for Denied cards. Solo difficulty is dominated by B3B5, not by multiplayer politics.


3. Mechanisms to control difficulty of winning

Goal: every setup remains winnable in principle; harder settings demand luck, persistence, and tighter coordination — not arithmetic impossibility.

3.1 Candidate levers (ordered by simplicity / fit)

Define:

available = sum(point_value of Problems in play)   # 6 / 9 / 12 under GR-S01
threshold = ceil(available × ratio)   # or a printed table per band
tier ratio 2p thr 34p thr 56p thr feel
Learning ~50% 3 5 6 room for one serious mistake
Standard (≈ current) ~7583% 5 7 9 competent group, little waste
Mastery / Hard 100% 6 9 12 claim everything; DENY is lethal
Impossible (forbidden) >100% never ship

Why this fits: thresholds already scale with seat band; this only names the relationship to available value and makes difficulty a first-class setup choice instead of a hidden property of three magic numbers. Solo and multiplayer share one concept. clay-borg can assert threshold ≤ available as an invariant for every tier except an explicit "impossible" test fixture.

L2 — Pressure dial (starting Stress / Freedom / DARVO aggressiveness)

tier start Stress Freedom note
Calm 1 READY more rounds of free Investigate/Solve
Standard 2 READY current
Frayed 3 READY gate approaches sooner
Solo Hard 2 SPENT or none Freedom scarcity as difficulty

Thematic fit is excellent (individual layer). Does not by itself fix a bad threshold; pairs with L1.

L3 — Problem depth (k)

Today k is tied only to seat count. Untie slightly:

  • Learning: always k=2 (max 6) even at 56p, lower absolute complexity.
  • Standard: current seat scaling.
  • Deep dive: always k=4 (max 12) at any seat count — more to discover, longer pipeline; threshold from L1.

This is the original design note in history ("complexity control: number of active problems and relationship slots").

L4 — Round track length

6 rounds at 2p / solo increases slack without changing card data. Simple but changes the Scenario card layout and "5 rounds" product promise.

L5 — Solution economy

Guaranteed opening suits, extra starting Solutions, or "Investigate draws 2" on easy tiers. Effective but blunts B2 and risks making SOLVE automatic.

L6 — DENY severity

Easy: DENY only flips face down without Denied token (Investigate can re-open). Hard: current Denied rules. Changes the antagonist's teeth; high thematic cost if softened too much for the DARVO edition identity.

layer rule
Invariant For every published setup: threshold ≤ available_points (hard).
Default (r0 print) Keep seat bands and 5/7/9 once deal is correctly 6/9/12; document as Standard (~7583%).
Difficulty (setup choice) Optional third setup axis beside Scenario + Mode: Learning / Standard / Mastery, implemented primarily as L1 ratios (and optionally L2 start Stress for solo).
Solo Same L1 tiers; default slightly easier ratio or Calm start Stress until automa exists; Bond-less cancel path is only GROUND.

3.3 Integration with existing rules (how it would look on the table)

Current setup sentence:

Choose one Scenario card and one Mode card. … Add hidden Problems by player count …

Proposed addition (minimal):

Optionally choose a Difficulty (Learning / Standard / Mastery). Standard uses the Scenario's printed thresholds. Learning / Mastery replace the threshold with the tier table (or: with ⌈available × ratio⌉). Available points are always Surface + selected hidden priorities.

Where it lives in data:

artifact change
Scenarios.csv Keep threshold_* as Standard; or replace with available_* + document ratios in Modes/Rules
Modes.csv Unaffected (still who wins after group success)
Rules_Text.csv One Setup row: available formula + difficulty tiers
Extensions.csv / solo EXT_SOLO can reference the same tiers
clay-borg threshold() becomes f(seats, difficulty); setup asserts reachability

Print economy: Scenario already has three threshold columns. Learning/Mastery can be:

  • a small Difficulty card (3 cards) with three numbers each, or
  • a second row of numbers on the Scenario (busy), or
  • a single lookup: "Learning = Standard 2 (min 1); Mastery = available".

Simplest physical form: one Difficulty card used with every Scenario — three numbers for the three seat bands — so Scenario text stays clean.

Interaction with mastery rating (MODE_COOP): already subtracts Blame and Denied Problems. That remains a quality score after a win; difficulty tiers change whether the win is possible under waste. Keep them separate: tier = gate hardness; mastery = cleanliness of the win.

Interaction with semi-coop / coalitions: group gate is shared; personal race sits on top. Harder L1 increases cooperation pressure (defecting into pure Attack becomes more self-defeating). That is desirable tension, not a conflict with L1.

3.4 Worked examples

2p Standard (current intent, correct deal): available 6, need 5. May leave one 1-point miss — but all cards are 2+, so must claim 3 of 3 cards or claim two cards only if values were uneven — with values 2+2+2, must claim all three to reach 5? 2+2=4 < 5, so must claim all three (6). Margin +1 is illusory for discrete 2-point cards: 2p Standard requires a full clear.

That is an important subtlety: integer card values mean margin +1 with all-even values still forces 100% claim rate. True slack appears only when a 3-value card can be left unsolved while two others cover the threshold — which starts at 34p (e.g. claim 2+2+3=7 exactly, leave a 2).

So even "arithmetically reachable" 2p Standard is full-clear or lose. That may be intended hardness or a reason to set Learning at 4 (any two cards) and Standard at 5 only if a 1-point card exists — or accept full-clear as the 2p identity.

3p Standard: available 9, need 7. Patterns that win: drop one 2-value (claim 7) or claim all. Drop a 3-value (claim 6) → lose. DENY on a 3 without OU recovery often ends the game.

Mastery any seats: claim all; every DENY must be undone.


4. Decisions (GROUND-WP-0004-T01/T02 — ruled 2026-08-04)

  1. Deal arithmetic: Surface + hidden 1..k ⇒ available 6 / 9 / 12. Confirmed.
  2. Thresholds 5 / 7 / 9 stand as Standard (2p Standard = full clear). Confirmed.
  3. Difficulty tiers: not in r0 close-out; residual GROUND-WP-0005 after playtest on correct deal.
  4. SHARED GROUND is 26, not 56p only. Confirmed.
  5. Hygiene (T02): arithmetic findings need runnable repro and Surface-separated deal table; rulings should cite the repro; edition text is authority for GR-S01 if the engine under-tests the wrong deal.

5. Summary

step outcome
1. Easy winability Correct GR-S01 counting already makes all seats winnable (6/9/12 ≥ 5/7/9). Fix is primarily a deal specification + engine import, not new thresholds. Optionally soften later if full-clear 2p is too sharp.
2. Difficulty control Best simple concept: threshold as a ratio of available problem value, with optional Pressure dial (start Stress/Freedom) for solo and mastery. Integrates as a third setup card or a tier table; preserves Modes, DARVO, and edition IDs.

Until Standard is played on the correct deal, do not rebalance point values or lower printed thresholds solely on stand-in or undercounted evidence.