192 lines
11 KiB
Markdown
192 lines
11 KiB
Markdown
# Lessons Log
|
|
|
|
Living file. Append transferable lessons here (dated, one-line context) at the
|
|
end of any RPG work session; sync via `~/Git/claude-config/sync.sh`. Scenario-
|
|
specific facts belong in Graphiti, not here — this file is only for lessons
|
|
that will change how the *next* scenario is written.
|
|
|
|
**Promotion rule:** when a lesson gets written into a reference file or the
|
|
template, delete it from this log (git history keeps it) — otherwise this file
|
|
grows into a duplicate of the skill. Several 2026-07 entries below are already
|
|
encoded in the references; they stay as worked examples until the next pruning
|
|
pass.
|
|
|
|
## 2026-07 — AFTERIMAGE desk playtests (Blade Runner, Continuum 2026)
|
|
|
|
- **Answer the obvious professional move.** Players will always try the
|
|
competent thing (field-scan the suspect, phone ahead to a contact, run a
|
|
city-wide facial search). If the scenario's premise hinges on such a move,
|
|
write its result explicitly — ideally as a sanctioned alternate route that
|
|
rejoins the trail, never a stonewall. Improvised rulings here are the
|
|
biggest holes playtests find.
|
|
- **A player's key relationship is a loaded gun.** If a pregen's relationship
|
|
NPC guards a scenario target, decide in the text what happens when the
|
|
player leverages the relationship early. Done right it *improves* the scene
|
|
(the warned target is already spooked → better chase start).
|
|
- **Formalise staging for twin/duplicate reveals.** When two groups hold
|
|
halves of a revelation, the NPC recites aloud while the GM hands the
|
|
matching card at the same moment. Never let a player's skim carry the scene.
|
|
- **Idle pairs get jobs.** During any split set-piece, hand the sidelined
|
|
players the obstacle/bystander material to run. Formalise it in the
|
|
set-piece text.
|
|
- **Deploy pressure lines early.** The written "NPC checks a watch" beat goes
|
|
in at the *first* sign of circular debate, not at the scheduled time.
|
|
- **List the compromise endings.** Playtests and real tables invent partial
|
|
trades (wipe half the drive, surrender the copy). If a compromise is good,
|
|
it goes in the choices table — players will find it again.
|
|
- **"On schedule with zero slack" is a fail.** Strangers run slower than any
|
|
desk test. Keep pre-written cuts per act and take them early.
|
|
- **No-roll scenes need a sign.** If a beat is designed so no die roll
|
|
resolves it (a confession that stays ambiguous), say so in the text —
|
|
"no roll resolves this" — so the GM doesn't improvise one under pressure.
|
|
|
|
## 2026-07 — Day One consistency audit (BRP, real-London setting)
|
|
|
|
- **Real-city scenarios need a dedicated geography pass.** Check every compass
|
|
direction, "across the river", landmark sightline, and named route against
|
|
the actual map before calling a scenario ready — desk playtests won't catch
|
|
these, but any local player will (Day One had a hospital on the wrong bank,
|
|
a pier route through a tunnel that's past the destination, and a gatehouse
|
|
on the wrong end of the bridge).
|
|
- **Grep the cast list for surname collisions between PCs and NPCs** — an
|
|
audit's cheapest catch (Kira Osei-Mensah vs Fatima Osei), and it reliably
|
|
confuses a convention table.
|
|
- **In-fiction timestamps deserve arithmetic checks.** If the text says "two
|
|
hours before the alert", subtract the actual clock times; drafts drift as
|
|
timelines get re-plotted.
|
|
|
|
## 2026-07 — Pregen roster rebuilds
|
|
|
|
- **Audit inherited rosters against the current scenario, not just the
|
|
rules.** A mechanically-legal PC can still be skill-dead all night (a pilot
|
|
in a scenario with no vehicles). Rebuild the lane, keep the flavour, flag
|
|
the change for review.
|
|
- **Signature items with a tiny mechanic** (once/session stress heal on
|
|
interaction) reliably produce unprompted table moments; pure-flavour items
|
|
go unused and nobody minds — both outcomes are fine, so always include one.
|
|
|
|
## 2026-07 — Day One art production (mj-gen batch)
|
|
|
|
- **Midjourney silently blocks banned words even in negation.** "no visible
|
|
gore" kills the job — the grid simply never arrives and the bridge times
|
|
out. Write the positive form instead ("understated, nothing graphic").
|
|
- **Scene prompts drift photorealistic; style-lock them.** For the house ink
|
|
style, lead with "hand-drawn pen and ink illustration, NOT a photograph"
|
|
and append `--no photography, photorealism` — one dusk-boat prompt came
|
|
back as a photo without it.
|
|
- **Maps are drawn, not generated.** MJ cannot do accurate labelled
|
|
geography; a hand-styled SVG (rough displacement filter, handwriting font,
|
|
cream paper) passes visually as sketch art and stays correct. Expect two
|
|
or three label-collision passes in a browser before it's clean.
|
|
|
|
## 2026-07 — The Vain Crown build (house-system debut package)
|
|
|
|
- **A rulebook's pregens are not con pregens.** VANITY's five shipped without
|
|
Vices — the system's own core engine. When packaging an included adventure
|
|
for a slot, audit the pregens against the system's *incentive* mechanics,
|
|
not just their stat legality.
|
|
- **Debut systems need a dice primer baked into the Intro** — one staged
|
|
practice roll per player that doubles as the arrival scene, so teaching
|
|
costs zero extra minutes and the first Stumble happens somewhere safe.
|
|
- **Give the villain a countdown table.** "Where is he now" per session-clock
|
|
row makes lost time (a failed pathfinding roll) mean something concrete and
|
|
lets fast tables genuinely change the finale's staging.
|
|
- **Silence from a generation pipeline is a diagnosis, not a delay.** When a
|
|
batch goes quiet, check the actual channel/API for what the service said
|
|
before waiting again — and keep a fallback asset source (the system's own
|
|
existing art) so the package ships regardless.
|
|
|
|
## 2026-07 — Princes Bride rebuild (Dee Sanction, Continuum 2026)
|
|
|
|
- **Inherited multi-draft projects need a canon-reconciliation clause.** When
|
|
source materials disagree (two different charm-givers, two Eleanors, a
|
|
villain who is a fraud in one draft and a pragmatist in another), pick one
|
|
canon, write it as a numbered Design-Intent item ("Canon reconciled: ..."),
|
|
and list every superseded fact — otherwise the GM re-derives the
|
|
contradictions at the table.
|
|
- **Verify the system against primary sources, not inherited quick-refs.** A
|
|
project's own GM reference had an entirely different game's dice mechanic
|
|
(PbtA 2d6 for a step-die Falter system). The character sheets + publisher's
|
|
site are ground truth; the quick-ref is a hypothesis.
|
|
- **Run the set-piece on the system's own resolution mechanic.** The trial as
|
|
an open Verdict Die (the game's step-up/step-down, made visible on the
|
|
table) needed zero new rules and made evidence-presentation mechanical.
|
|
Find the system's native verb before inventing subsystems.
|
|
- **Keep good inherited sheets; add an insert layer.** When existing pregens
|
|
are printed and well-made but generic, don't rebuild — print per-agent
|
|
mission inserts (private seam + dice crib + table-name conventions) that
|
|
slip inside the sheets. Cheaper, and the sheets stay canon.
|
|
|
|
## 2026-07 — Silvery Moon rebuild (inherited-draft salvage)
|
|
|
|
- **Verify a period scenario's real-world facts, then decide: correct or
|
|
canonize.** Silvery Moon's eclipse was astronomically impossible (new moon
|
|
that night — checked against the real 1892 record). Correcting it would
|
|
have cost the climax; canonizing the wrongness AS the horror (the moon that
|
|
should not be there, proven by an almanac handout and an astronomer pregen)
|
|
turned the draft's worst error into its best clue. Always check which move
|
|
the fiction wants before reaching for the eraser.
|
|
- **Mine the draft's own margins for pregens.** The strongest pregen is often
|
|
already in the text as a named-but-unused NPC (Dr. Lyle was the draft's own
|
|
"recent collaborator"). Lift them before inventing.
|
|
- **When two source layers contradict (prose vs app data), reconcile so both
|
|
are true** — Braddock "too afraid to act" AND "cult member" became a
|
|
coerced member, which was stronger than either. Contradictions are usually
|
|
two halves of a better fact.
|
|
|
|
## 2026-07 — The Con Desk (multi-slot convention tooling)
|
|
|
|
- **A convention weekend needs ONE entry point.** When several scenarios each
|
|
have their own GM console, build a hub with the con's real schedule baked
|
|
in: live-clock "up next / live now" badges, one-tap launches, and per-slot
|
|
pack-the-bag checklists. Every console gets a ⌂ link home. The hub's
|
|
relative links mean the whole repo folder must travel to the tablet
|
|
together — say so in the README.
|
|
- **A contrarian pass earns its keep on the moves the GM prays nobody makes.**
|
|
"Cross the river NOW" and "we go back for the van" were both one-line hooks
|
|
until dice forced them; both became the best unwritten scenes. If a hook
|
|
can be driven to, it needs a written destination and its cost said aloud.
|
|
|
|
## 2026-07 — Vain Crown big-table heroes (fixed-class-list systems)
|
|
|
|
- **When the system has a closed class list, big-table pregens are variant
|
|
builds, not new classes.** Differentiate inside the class: a different
|
|
fighting style (sword-and-board Bram vs two-handed Hedda), a different
|
|
lane emphasis (stealth-killer Pinch vs thrown-blade showman Marlo), a
|
|
different creed/spell loadout (sustain Wren vs control grave-warden
|
|
Tobin). Show the audit math so the variants are provably legal.
|
|
- **Point the new Vices at the existing roster.** "A Rival — [existing PC]"
|
|
only fires at player counts where both are dealt, which big-table extras
|
|
guarantee. Doctrinal Pride vs the other cleric's creed, and a Glory-Hound
|
|
pairing, gave every added seat built-in table chemistry for free.
|
|
- **Scale the set-piece with the roster on the card.** The deal-order note
|
|
(6th/7th/8th) plus boss Grit per extra hero and mook multiplier lives ON
|
|
the GM cut-out corner of the last hero card page, not buried in the doc.
|
|
|
|
## 2026-07 — RUNDOWN cardless chase system (Blade Runner, house subsystem)
|
|
|
|
- **Do the expected-value arithmetic before committing to a subsystem.** A
|
|
spec self-review pass that actually computed the dice maths caught two dead
|
|
mechanics that read fine in prose: a role structure where the pursuers' net
|
|
was ~0.00 per round (the chase could literally never end), and a support role
|
|
worth +0.24 successes when simply doubling up on the main role was worth
|
|
+0.57 — nobody would ever have picked it. Prose hides both. One script found
|
|
both in a minute.
|
|
- **A role that spends a resource needs a role that refunds it.** Four roles
|
|
only became an economy once the support role was recast from "adds successes"
|
|
to "buys off the cost the aggressive role generates". Test any new role menu
|
|
by asking what each option *trades*, not what it *does* — if two options
|
|
trade the same thing, one of them is decoration.
|
|
- **Check whether the rules you're replacing already contain the escape
|
|
hatch.** The published Blade Runner chase ships a die table as an alternative
|
|
to its own obstacle deck, so "make it cardless" was already solved in the
|
|
book. The real brief was the other four problems (idle players, no
|
|
accumulating state, generic obstacles, lookup load). Always ask what the
|
|
request is *actually* for before designing to its literal wording.
|
|
- **When a house subsystem gets a digital aid, test the aid headlessly.** A
|
|
~60-line stub-DOM harness in Node drove the real console module through every
|
|
state transition (clamping, round cap, overtime drift, undo) with no browser
|
|
and no dependencies. Worth it: two of the "failures" it surfaced were the
|
|
harness lying, which is itself the thing you want to find before a
|
|
convention floor.
|