把规则、架构与实现路线写成仓库文档。
后续改内容或结算顺序时有冻结依据,不必再翻原始稿才能对齐。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# DESIGN
|
||||
|
||||
Design freeze for content validation. Do not expand primitive rules in this phase.
|
||||
|
||||
Source: *Next-Step Design Direction · v0.6*.
|
||||
|
||||
## Stage conclusion
|
||||
|
||||
Current primitives are enough to validate content. Freeze world direction, the core action dictionary, and **in-run card-pack triggers**. Design characters, cards, packs, and a minimum playable slice on top of them. Do not keep inventing new base rules.
|
||||
|
||||
## World and art
|
||||
|
||||
Do not treat “classic xianxia” as a hard frame. Prefer Japanese-fantasy / Eastern-fantasy mix: keep cultivation, yao/mo, spirits, sects, martial arts, and rites; also allow machines, otherfolk, alchemy, ruins, and magitech.
|
||||
|
||||
Worldbuilding explains mechanics, characters, and fantasy. It does not veto mechanics. If a mechanic is fun, find a diegetic reading; do not delete it for genre purity.
|
||||
|
||||
## Core action dictionary (freeze)
|
||||
|
||||
These 11 should exist as primitive events or base state changes. Archetypes are combinations, conditions, or conversions — not new primitives.
|
||||
|
||||
| Action | Meaning |
|
||||
| --- | --- |
|
||||
| Damage taken | Life falls from a damage event. Paying life vs losing life may stay distinct in rules; decks may still connect them. |
|
||||
| Heal | Restore life. Links to damage, half HP, overheal, max HP. |
|
||||
| Attack | Creature or character attacks. May emit on-attack / after-attack / combat-destroy. |
|
||||
| Destroy | Entity is destroyed by rule or effect, then leaves the field. Record combat vs effect destroy. |
|
||||
| Enter field | Entity enters the battlefield. Summon, flash, special enter all map here. |
|
||||
| Draw | Take a card from deck. Links to hand size, fatigue, GY, deck thickness. |
|
||||
| Fatigue | Draw with empty deck: damage/penalty, not instant loss. Empty deck can be a strategy. |
|
||||
| Discard | Hand → GY, active or forced. Equivalence with other “hand to GY” is a grammar question. |
|
||||
| Supply | Generate cost at a timing. Not a land keyword; creatures, characters, and fields may have it. |
|
||||
| Graveyard | A real zone for revive, recycle, copy, count, conditions — a resource domain, not only a log. |
|
||||
| Countdown | Lifetime/progress that ticks down; at 0, follow that entity’s rule (often destroy). Fields, creatures, tokens. |
|
||||
|
||||
**Not primitives:** half-HP, last rites, combo, haste, self-harm, heal-deck, swarm, GY-deck, economy-deck. Those are conditions + core actions, combinations, keyword templates, or archetype names.
|
||||
|
||||
## Combination-first
|
||||
|
||||
Design from edges between core actions, not from “a complete archetype.”
|
||||
|
||||
- Damage + Heal → self-harm, low-life, yo-yo, heal-to-damage
|
||||
- Enter + Destroy → swarm, sacrifice, last rites, deathrattle, combo
|
||||
- Draw + Fatigue → thin deck, turbo draw, empty-deck payoff, fatigue tank
|
||||
- Supply + Countdown → burst economy, long investment, borrow-from-future, lifespan extend, protect the engine
|
||||
- GY + Enter / Destroy → revive, reuse, farm GY, copy, recycle
|
||||
|
||||
## In-run card packs
|
||||
|
||||
Character identity is **starting deck + character skill**, not a fixed class pool. Random rewards use **in-run pack unlocks**.
|
||||
|
||||
- The starting deck sets where the player sits on the action graph. The skill changes the value of those actions.
|
||||
- The full card catalog is grouped into small packs. A pack has a few core-action cards and bridges. It enters this run’s reward pool only after its conditions are met.
|
||||
- All pack state belongs to the current run and **resets when the run ends**. No cross-run unlock. This is not meta progression.
|
||||
|
||||
Conditions may AND together:
|
||||
|
||||
| Kind | Reads |
|
||||
| --- | --- |
|
||||
| Deck | Core-action tags present, counted, or combined |
|
||||
| Combat | Heal received, attacks, friendly destroys, fatigue, … |
|
||||
| World | Kill enemies with a world tag, factions, bosses, regions, events (world tags are data; not the v1 rules-tag allowlist) |
|
||||
| Mix | e.g. GY-tagged deck + many friendly destroys + kills of a tagged enemy |
|
||||
|
||||
Examples: heal a threshold → vitality pack; kill N `cult` enemies → faction/loot pack. **Numeric thresholds are not frozen.**
|
||||
|
||||
Rewards draft from the always-on base pack plus unlocked packs. Multi-tag cards are bridges: they can satisfy new packs and grow this run’s pool.
|
||||
|
||||
Conditions describe how this run was built, fought, and traveled — not class gates. Internal thresholds may be exact; **do not show a progress bar** that invites grinding.
|
||||
|
||||
**Not frozen yet:** whether an unlocked pack stays on for the rest of the run; whether removing cards can lock it again; reward weights among active packs. Decide after Vertical Slice play.
|
||||
|
||||
## Vertical Slice 0.1
|
||||
|
||||
Goal: prove the action graph grows distinct builds. Not balance, not a full world.
|
||||
|
||||
1. Draw the 11-node graph: natural links, needed bridges, deliberate isolation.
|
||||
2. Character = starting deck + skill → now **Faction = held cards + relic + upgrades**. Deck touches 2–3 core actions and at least one bridge.
|
||||
3. Small content: two starting factions (官兵/魔教), guaranteed field, later in-run packs.
|
||||
4. Validate: same start + different pack paths → different builds; multi-tag cards open packs; combat/world conditions do not invite empty grinding.
|
||||
|
||||
**Expansion pack factions** (death / draw / GY / enter) are scheduled with the later content/art pass — after CLI combat and CLI full-run work.
|
||||
|
||||
## Current non-goals
|
||||
|
||||
- Full class system and final class pool ratios
|
||||
- World map, long-run event pool, **cross-run pack unlocks**, full meta progression
|
||||
- Final art, factions, lore wiki
|
||||
- Exact card balance and final PT
|
||||
- Advanced AI (multi-turn, opponent-response simulation)
|
||||
Reference in New Issue
Block a user