====== Extraction Module (v2) ====== A resource-gathering subsystem for solo TTRPG play, inspired by Ironsworn: Starforged pacing, rebuilt around theme-specific challenge spreads and queued complications. ===== Downloadables ===== (To be linked properly) * [[:projects:solo_rpg:orbitfall_extraction_module.pdf|Orbitfall Extraction Module (Publishable PDF)]] * [[:projects:solo_rpg:orbitfall_extraction_module.tex|Orbitfall Extraction Module (LaTeX Source)]] ===== 1) Design Goal ===== Each action should answer three things at once: * Did you succeed right now? * Which risk axis did you fail to control? * How far in the future does that failure surface? The system uses two challenge dice as two chosen themes. You may beat one and lose one (weak hit), producing a delayed, themed complication you can prepare for. ===== 2) Dice and Tracks ===== Dice: * 1d6 Action Die * 2d10 Challenge Dice (CH1, CH2) * 1d8 Orbit Die (optional narrative color) Character stats (assign +1, +1, +2, +2, +3): * Survey * Breach * Process * Haul * Nerve Core tracks: * Momentum (start +2) * Pressure (start 1) * Sparks (start 0) * Prep by theme (start 0 each) Pressure penalty to Action Score: * Pressure 0-4: 0 * Pressure 5-7: -1 * Pressure 8-10: -2 ===== 3) Action Themes (Player Chooses Per Action) ===== For every action, the player picks exactly two relevant themes and assigns one challenge die to each. ^ Theme ^ What It Models ^ | Extraction | Rock/ore behavior, tool contact, throughput, yield integrity | | External | Contracts, law, rivals, market pressure, interception | | Human | Crew trust, morale, conflict, panic, loyalty | | Systems | Hull stress, power grid, sensors, reactor, software | | Void | Environment, debris fields, radiation, anomalies, weirdness | Example declaration: * "I Fracture the Vein with themes Extraction (CH1) and External (CH2)." This makes every roll explicitly two-dimensional. ===== 4) Orbitfall Roll v2 (Signed Spread Engine) ===== Build Action Score: * A = d6 + stat + assets + spent Sparks - Pressure penalty Roll CH1 and CH2 (d10 each), tied to your chosen themes. Hit bands: * Strong Hit: A > CH1 and A > CH2 * Weak Hit: A > one challenge die only * Miss: A <= CH1 and A <= CH2 * Ties are not wins ==== Signed Challenge Spread (Detailed) ==== Record signed spreads for both challenge dice: S1 = A - CH1 S2 = A - CH2 Interpretation: * Positive spread: you controlled that theme * Negative spread: that theme controlled you * Magnitude is "distance" from control On a weak hit, define: * W = winning spread magnitude (positive side) * L = losing spread magnitude (absolute value of negative side) Key property: * Yes, L can be much larger than W. * Example: A=5, CH1=1, CH2=10 -> S1=+4, S2=-5. * You succeeded, but your failure on the losing theme is bigger than your success on the winning theme. This asymmetry drives delayed complications. ===== 5) Queue Generation from Spreads ===== Every weak hit creates one queued complication on the losing theme. Queue item fields: * Theme (the losing challenge die theme) * Severity S (from L) * Fuse F (from W) * Origin CH (the losing challenge die value; used during dampening) * Visibility state (how known the effect is before reveal) ==== Severity from Losing Spread (L) ==== ^ L (abs loss spread) ^ Severity ^ | 1-2 | S1 Minor | | 3-4 | S2 Serious | | 5+ | S3 Severe | ==== Fuse from Winning Spread (W) ==== ^ W (win spread) ^ Reveal Turn ^ | 1-2 | Fuse 1 (reveals next turn) | | 3-5 | Fuse 2 (reveals in two turns) | | 6+ | Fuse 3 (reveals in three turns) | Predictability rule (as requested): * Smaller challenge spread (small W) -> more immediate and more predictable * Larger challenge spread (large W) -> farther reveal and less detail known early Visibility by fuse: * Fuse 1: theme + severity + effect family known now * Fuse 2: theme + severity known, exact effect family revealed at Fuse 1 * Fuse 3: theme known, severity estimate known, effect family hidden until reveal ==== Miss Handling ==== A miss creates two queued items (one per theme) and +1 Pressure now. For each losing theme i: * Severity from Li (same table as above) * Fuse from Li: * 1-2 -> F1 * 3-5 -> F2 * 6+ -> F3 This keeps misses dangerous now while preserving delayed uncertainty. ===== 6) Turn Structure ===== Each turn: 1. Resolve any queued items already at Fuse 0 (from prior turns). 2. Take one action (extraction, prep, haul, contract, etc.). 3. End phase: reduce Fuse by 1 for queued items that existed before this turn. 4. Items created this turn are //fresh// and do not tick until the next turn. This cadence means a Fuse 2 warning gives two full future actions to prepare before it resolves. ===== 7) Prep System (Planned Mitigation) ===== Prep is stored by theme: * Prep[Extraction], Prep[External], Prep[Human], Prep[Systems], Prep[Void] * Max 4 per theme Prep is spent when a queued event resolves to dampen impact. ==== Prep Actions (gain x Prep on success) ==== === Forecast Risk (Survey or Nerve) === Choose one theme to prepare. * Strong Hit: +2 Prep on chosen theme and reveal one hidden effect family * Weak Hit: +1 Prep on chosen theme * Miss: no Prep, +1 Pressure === Harden Operations (Process or Breach) === Choose Extraction or Systems. * Strong Hit: +2 Prep on chosen theme and -1 Instability * Weak Hit: +1 Prep on chosen theme * Miss: no Prep, +1 Instability === Shape Stakeholders (Nerve or Haul) === Choose External or Human. * Strong Hit: +2 Prep on chosen theme and -1 Exposure * Weak Hit: +1 Prep on chosen theme, then choose +1 Exposure or -1 Momentum * Miss: no Prep, +1 Exposure ===== 8) Resolving Queued Events ===== When Fuse reaches 0, resolve each revealed queued item: 1) Optional dampening attempt: * Spend 0-3 Prep from the matching theme (consumed) * Roll Dampen Score: D = d6 + relevant stat + Prep spent - Pressure penalty * Challenge values for dampening: * CHa = 4 + current Severity (max 10) * CHb = Origin CH (stored when queued) * Dampening outcome: * Strong Hit: reduce Severity by 2 (minimum 0) * Weak Hit: reduce Severity by 1 * Miss: no reduction and +1 Pressure 2) Apply remaining Severity with fiction-first consequence selection. ===== 9) Consequence Framework (Ironsworn-Inspired) ===== Use //Pay the Price// logic: * First choose the consequence that best fits the fiction. * If uncertain, roll on the relevant theme table. Severity budget: * S1: apply 1 minor consequence * S2: apply 2 minor or 1 major consequence * S3: apply 1 major + 1 minor ==== Extraction Consequences ==== Minor: * -1 Cargo * +1 Instability * -1 Quality * Next Breach roll -1 Major: * -2 Cargo * +2 Instability * Breach asset disabled until repaired * Reserve -1 with no gain ==== External Consequences ==== Minor: * +1 Exposure * New obligation tag * Price haircut (-10 percent on next sale) * Rival clock +1 Major: * +2 Exposure * Forced hostile clause in contract * Immediate interdiction scene * Lose 1 faction favor ==== Human Consequences ==== Minor: * Crew tension +1 * -1 Momentum * +1 Pressure * Task handoff delay (lose one action option next turn) Major: * Crew split or refusal scene * +2 Pressure * Relationship fracture with named NPC ==== Systems Consequences ==== Minor: * +1 Pressure * Sensor blackout (next Survey -1) * Power reroute (cannot use one asset next turn) * Minor hull stress (+1 repair cost later) Major: * Asset offline until repair * Reactor instability (+2 Pressure) * Forced emergency burn (lose 1 Cargo) ==== Void Consequences ==== Minor: * +1 Legacy * Route drift (+1 travel risk next haul) * Strange echo (future event gains +1 Severity) * Temporal delay (one queue item does not tick down this turn) Major: * Anomaly incursion scene now * +1 Legacy and +1 Instability * Environmental lockout (must perform prep before extraction) ===== 10) Example Playthrough (Focus: Spread, Queue, Prep) ===== Prospector: Sera Kade, tug //Pilgrim Finch//. Start: * Pressure 2, Exposure 1, Instability 1 * Prep all themes at 0 ---- ==== Turn 1: Fracture the Vein ==== Chosen themes: * CH1 -> Extraction * CH2 -> External Roll: * A = 5 * CH1 = 1 (Extraction), CH2 = 10 (External) * Spreads: S1=+4, S2=-5 -> Weak Hit From weak hit spreads: * Winning spread W=4 -> Fuse 2 * Losing spread L=5 -> Severity S3 Queue created: * Q1 = [Theme External, Severity 3, Fuse 2, Origin CH 10] Interpretation: * Success now (you got ore), but a severe External consequence is inbound in two turns. ---- ==== Turn 2: Prep Action (Shape Stakeholders) ==== Goal: build Prep[External] before Q1 reveals. Roll result: Strong Hit. * Gain +2 Prep[External] * Reduce Exposure by 1 Queue tick at start of next turn: * Q1 Fuse: 2 -> 1 ---- ==== Turn 3: Prep Action (Forecast Risk) ==== Goal: add more external prep. Roll result: Weak Hit. * Gain +1 Prep[External] Prep status: * Prep[External] = 3 Queue tick at start of next turn: * Q1 Fuse: 1 -> 0 (resolve now) ---- ==== Turn 4: Resolve Q1 (Dampen Attempt) ==== Incoming event: * Theme External * Severity 3 * Origin CH 10 Spend Prep: * Spend 3 Prep[External] Dampen roll: * D = d6(4) + Nerve(2) + Prep(3) - penalty(0) = 9 * CHa = 4 + Severity = 7 * CHb = Origin CH = 10 * 9 beats 7 but not 10 -> Weak Hit Dampening effect: * Severity 3 reduced by 1 -> remaining Severity 2 Apply S2 External consequences (choose fiction-first): * Major consequence selected: "Forced hostile clause in contract" Narrative result: * Sera avoids catastrophic seizure of cargo, but signs a predatory exclusivity clause. This demonstrates the planning loop: * detect future risk from spread math * spend turns accumulating relevant prep * roll to dampen impact at reveal * convert remaining severity into theme-consistent consequences ===== 11) Why This Version Works ===== * Two chosen themes per action make each roll explicit and interpretable. * Signed spreads preserve success/failure asymmetry. * Winning spread controls time-to-reveal (fuse). * Losing spread controls impact size (severity). * Prep adds meaningful forward planning instead of pure reaction. * Ironsworn-style consequence resolution keeps outcomes fiction-first. ===== 12) Extended Solo Playtest Session: The Black Choir Rock ===== This is a short narrative solo session showing queue timing, prep planning, and fiction-first consequences. ==== Session Seed ==== Sera Kade pilots the //Pilgrim Finch// into a dead freight lane called Hymn Belt-9. Her engineer Juno keeps one hand on the reactor safeties while broker Ilex Vorn pushes contract messages into the cockpit at bad moments. Rumor: an asteroid known as //Black Choir Rock// contains high-grade osmium and a buried monastic relay core. Starting state: * Pressure 2, Exposure 2, Instability 1 * Cargo 0, Quality 1, Momentum +2 * Prep all themes = 0 * Queue = empty ---- ==== Turn 1: Scan the Body (Survey) ==== Themes selected: * CH1 -> Extraction * CH2 -> Void Roll: * A = 7 * CH1 = 5, CH2 = 8 * S1 = +2, S2 = -1 -> Weak Hit Weak-hit queue outcome: * Losing theme Void, L=1 -> Severity S1 * Winning spread W=2 -> Fuse 1 * Queue item Q1 = [Void, S1, F1, Origin CH 8] Move result: * Gain 1 Leverage * Choose +1 Instability (now 2) Story: The scanner paints an ore seam, but the return signal carries a harmonic tone like distant voices. Juno calls it static. Sera does not answer. End phase: * Q1 is fresh; no tick this turn. ---- ==== Turn 2: Forecast Risk (Prep for Void) ==== Action result: * Strong Hit on Forecast Risk * +2 Prep[Void] * Reveal hidden effect family on Q1: \"Shard storm in rotating tunnel\" Story: Sera runs predictive drift maps and sees why old rigs died here. The tunnel mouth she planned to use is a knife spiral of metallic splinters. End phase: * Q1: F1 -> F0 ---- ==== Turn 3: Resolve Q1, then Fracture the Vein ==== At turn start, Q1 resolves. Dampen attempt for Q1: * Spend 2 Prep[Void] * D = 9 versus CHa=5 and CHb=8 -> Strong Hit * Severity 1 reduced to 0 (no consequence applied) Story: The storm still comes, but Sera times a lateral burst and rides the dead zone between shard bands. Now action: //Fracture the Vein// with themes Extraction + External. Roll: * A = 5 * CH1 = 1 (Extraction), CH2 = 10 (External) * S1 = +4, S2 = -5 -> Weak Hit Queue created: * Q2 = [External, S3, F2, Origin CH 10] Move result: * On weak Breach, choose +2 Cargo (now 2) * +1 Instability from weak Breach (now 3) Story: The cut is perfect. Dense ore breaks free in glittering slabs. A corporate beacon wakes in the dust and tags her claim as \"contested property.\" End phase: * Q2 is fresh; no tick. ---- ==== Turn 4: Shape Stakeholders (Prep for External) ==== Action result: * Strong Hit on Shape Stakeholders * +2 Prep[External] * -1 Exposure (2 -> 1) Story: Sera opens a narrowcast to Ilex Vorn and trades future margin for immediate legal cover. Ilex buys her exactly one line of deniability. End phase: * Q2: F2 -> F1 ---- ==== Turn 5: Forecast Risk (More External Prep) ==== Action result: * Weak Hit on Forecast Risk * +1 Prep[External] (total now 3) Story: New traffic appears: patrol cutter //Canticle Needle// and two contract drones. They are not here to negotiate. They are here to inventory. End phase: * Q2: F1 -> F0 ---- ==== Turn 6: Resolve Q2, then Ride Transfer Window ==== At turn start, Q2 resolves. Dampen attempt for Q2: * Spend 3 Prep[External] * D = 9 versus CHa=7 and CHb=10 -> Weak Hit * Severity 3 reduced to Severity 2 Apply S2 External consequence (fiction-first): * Major: Forced hostile clause * Fiction: escrow lock + mandatory inspection corridor Story: Sera prevents total seizure of the haul, but signs a predatory transfer clause. Every crate is now visible to the same people hunting her. Action: //Ride the Transfer Window// with themes External + Systems. Roll: * A = 4 * CH1 = 6 (External), CH2 = 2 (Systems) * S1 = -2, S2 = +2 -> Weak Hit Queue created: * Q3 = [External, S1, F1, Origin CH 6] Move result: * Delivery succeeds on weak hit * Choose +1 Exposure (1 -> 2) Story: The Finch clears the debris cone, but inspection pings trail her burn. The Canticle marks her wake with jurisdiction tags. End phase: * Q3 is fresh; no tick. ---- ==== Turn 7: Emergency Stakeholder Prep ==== Action result: * Weak Hit on Shape Stakeholders * +1 Prep[External] * Choose +1 Exposure (2 -> 3) Story: Ilex can suppress one warrant or one rumor, not both. Sera chooses the warrant. The rumor spreads. End phase: * Q3: F1 -> F0 ---- ==== Turn 8: Resolve Q3, then Close Contract ==== At turn start, Q3 resolves. Dampen attempt for Q3: * Spend 1 Prep[External] * D = 5 versus CHa=5 and CHb=6 -> Miss * No severity reduction; +1 Pressure (2 -> 3) Apply S1 External consequence: * Minor: Rival clock +1 Story: The //Canticle Needle// receives an automated bounty ping containing Sera's hull profile and cargo signature. Final action: //Close the Contract// with themes External + Human. Roll: * A = 8 * CH1 = 7, CH2 = 5 * Strong Hit Outcome: * Sale closes at full value under bad terms * Sera gains enough credits to keep flying, but exits the belt with a rival hunter on her trail and a hostile clause still attached. Session-end fiction hook: Juno asks whether this was worth it. Sera replays the harmonic recording from Black Choir Rock. Under the noise, someone says her name.