76 lines
6.3 KiB
Markdown
76 lines
6.3 KiB
Markdown
# Crafting & recipes
|
||
|
||
Vision for **turning inputs into outputs at benches** (and similar stations): **recipe shape**, **skill gates**, **multi-step pipelines**, and how crafting stays **skill** progression while **combat use** of products follows **gig** rules.
|
||
|
||
**Runtime ownership:** [E3.M2 — RefinementAndRecipeExecution](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) validates **`CraftRequest`** against **`RecipeDef`**, produces **`CraftResult`** (success/failure, outputs, reason codes), and mutates inventory **server-authoritatively** with [E3.M3](../decomposition/modules/E3_M3_ItemizationAndInventorySchema.md). Inputs include [gathering.md](gathering.md) outputs, drops, and trade.
|
||
|
||
**Skill roster:** **Process** and **Make** tables in [skills.md](skills.md#skill-roster-draft-ideas-by-category) (**Refine**, **Fab tech**, **Data scrub**, **Make** skills, etc.). **Chain shape:** [skills.md](skills.md) **Production chains** (**Gather → Process → Make**, branching and depth). **Seams (bench vs combat):** [skills.md — Seams](skills.md#seams-gigs-skills). **Item buckets from outputs:** [items.md](items.md). **Hybrid vocabulary:** [progression.md](progression.md).
|
||
|
||
## Gig vs skill
|
||
|
||
- **Crafting and refining are skills**, not **gigs**. **No gig XP** from recipe execution—**skill XP** from successful craft/refine (and related activity) via [E2.M2](../decomposition/modules/E2_M2_XpAwardAndLevelEngine.md) ([progression.md](progression.md), [Epic 2 — Skills](../decomposition/epics/epic_02_skills_and_progression.md) **Slice 3**).
|
||
- **Bench = skill / recipe gate**; **equip, wear, combat-deploy** for most **non-consumable** products stays **gig**-tagged when brought into combat ([items.md](items.md), [Seams](skills.md#seams-gigs-skills)). **Consumables** and **general utility** may have **no** gig **use** gate per item data.
|
||
- **World gates** (rep, licenses, station access) add **content** without “you picked the wrong class” for the whole economy ([skills.md](skills.md) **Pillars**).
|
||
|
||
## Pipeline (design-facing)
|
||
|
||
Authoritative **recipe graph** is **data** (`RecipeDef`); design intent:
|
||
|
||
| Idea | Meaning |
|
||
|------|---------|
|
||
| **Depth** | **Gather → Process → Process → Make** (or longer)—intermediates feed intermediates ([skills.md](skills.md) **Multi-stage processing**). |
|
||
| **Branching** | Same inputs can route to **different** skills or recipes for **different** outputs (**overlapping chains**)—dense economy, not a single trunk. |
|
||
| **Skill per recipe** | Each recipe names **required skill** (and level band **TBD**); one **Process** skill is not the only mid-pipeline actor. |
|
||
|
||
**Prototype scope:** [Epic 3 — Slice 3 (Recipes pipeline)](../decomposition/epics/epic_03_crafting_economy.md#epic-3-slice-3) targets a **starter recipe set** (e.g. 8–12 minimums in epic text) proving **gather → refine → item used in combat or quest**.
|
||
|
||
## Stations, co-op, and UX
|
||
|
||
- **Station types** (personal bench, public fab, corp line, mobile kit)—**open**; `RecipeDef` may carry **station** or **tag** requirements as scope grows.
|
||
- **Crafting for others** (commission, party assist)—**valid** fantasy aligned with [items.md](items.md) **Trade** and [Seams](skills.md#seams-gigs-skills); **implementation** **open**.
|
||
- **Queue, batch, cancel**—**open** UX; server remains authoritative on **`CraftResult`**.
|
||
|
||
## Failure, quality, and mastery
|
||
|
||
- **Craft failure** (lost materials vs returned partials vs soft fail)—**open**; must play nicely with **exploit** review and **E9** integrity patterns when live.
|
||
- **Quality** on output (tier within `ItemDef`, bonus stats, durability band)—aligns with [items.md](items.md) **Rarity, quality**; whether **skill level**, **recipe mastery**, **input grade**, or **RNG** mix—**open** math.
|
||
- **Recipe discovery** (trainers, experimentation, rep unlocks, data theft **fiction**)—**open**; **mission grants** may teach recipes without replacing **do the loop** as primary fantasy ([skills.md](skills.md) **XP**).
|
||
|
||
## Module map (crafting-focused)
|
||
|
||
| Module | Role | Ties to this doc |
|
||
|--------|------|-------------------|
|
||
| [E3.M2](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) | `RecipeDef`, craft execution | **Core** |
|
||
| [E3.M1](../decomposition/modules/E3_M1_ResourceNodeAndGatherLoop.md) | Gather outputs | **Inputs** |
|
||
| [E3.M3](../decomposition/modules/E3_M3_ItemizationAndInventorySchema.md) | Costs, outputs, stacks | **Inventory** |
|
||
| [E2.M2](../decomposition/modules/E2_M2_XpAwardAndLevelEngine.md) | Skill XP on craft | **Progression** |
|
||
| [E3.M5](../decomposition/modules/E3_M5_EconomyBalancePolicy.md) | Faucets/sinks | Craft vs drop **parity** (later) |
|
||
| [E7.M1](../decomposition/modules/E7_M1_QuestStateMachine.md) | Quest steps | Craft **objectives** / hand-ins |
|
||
| [E6.M4](../decomposition/modules/E6_M4_RewardParityEnforcer.md) | Reward parity | Craft vs other reward **lanes** |
|
||
|
||
## Decisions log
|
||
|
||
| Topic | Direction | Status |
|
||
|-------|-----------|--------|
|
||
| Bench vs combat | **Craft** on **skill**; **combat field use** of most **non-consumable** **Make** = **gig**-gated | Agreed ([Seams](skills.md#seams-gigs-skills)) |
|
||
| Pipeline shape | **Gather → Process → Make** with **branching** and **multi-hop** depth | Agreed ([skills.md](skills.md)) |
|
||
| Craft → skill XP | **Skill** XP from craft/gather pipes; not **gig** XP | Agreed ([progression.md](progression.md)) |
|
||
| Player-made relevance | **Crafting** is a **primary** progression lane | Agreed ([Epic 3](../decomposition/epics/epic_03_crafting_economy.md)) |
|
||
|
||
## Open questions
|
||
|
||
- **Critical success / crit craft**—flavor vs economy distortion.
|
||
- **Time gating** (real-time jobs, offline queue)—fantasy vs session pacing.
|
||
- **Ammo and consumable churn**—how much **Make** is **repeatable grind** vs **milestone** crafts.
|
||
- **Cross-character recipe locks** (account, legacy blueprint)—social and alt policy.
|
||
|
||
## Where to read next
|
||
|
||
| Topic | Document / module |
|
||
|--------|-------------------|
|
||
| Process / Make skill names | [skills.md](skills.md) **Process** and **Make** tables |
|
||
| Raw inputs from the world | [gathering.md](gathering.md) |
|
||
| Item categories & tooltips | [items.md](items.md) |
|
||
| Epic 3 craft slice | [Epic 3 — Slice 3 (Recipes pipeline)](../decomposition/epics/epic_03_crafting_economy.md#epic-3-slice-3) |
|
||
| Gather slice (inputs) | [Epic 3 — Slice 2 (Gather nodes)](../decomposition/epics/epic_03_crafting_economy.md#epic-3-slice-2) |
|