Files
card_game/docs/DESIGN.md
T
chenmoranzhiandCursor 06eb360fbf 把规则、架构与实现路线写成仓库文档。
后续改内容或结算顺序时有冻结依据,不必再翻原始稿才能对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 02:04:20 +08:00

5.4 KiB
Raw Blame History

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)