====== 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.