跳转至

Ludo Atlas · 类型手册 · 卡牌构筑(Deckbuilder)

类型手册 · 第二辑。定位:把「组牌」本身做成核心玩法。卡组就是角色的技能表,每一张新卡都是一次构筑决策;战斗负责兑现构筑,构筑负责解释战斗。 配套:《游戏设计手册》(循环与数值)·《技术实现手册》(数据驱动与结算系统)·《制作管理手册》(范围与成本)·《案例研究集》(成功与失败样本)。 本文不放外链;案例只用大众熟知的作品,数字为常见量级,按自己项目的实测校准。


1. 定位与核心循环

1.1 一句话定义

卡牌构筑是「用卡牌当零件,拼一台会成长的机器」的类型。战斗是检验,构筑才是主菜:玩家的乐趣一半来自这一个回合出什么牌,另一半甚至更多来自「下一张选什么牌、卡组往哪个方向长」。

与相邻类型划边界:

相邻类型 边界
卡牌对战(TCG 与 CCG) 同样是构筑核心,但对手是真人:构筑在赛前完成,平衡对象是环境。两者的结构差异单列在 §3.5
肉鸽动作 随机、死亡经济与局外成长同源,但操作层从实时手感换成回合决策
自走棋 有选棋与凑羁绊的构筑乐趣,但战斗全自动,没有手牌与能量
卡牌驱动游戏 卡牌只是随机数发生器(抽到就打),没有「组」与「删」的自由

一个自检问题:把卡牌系统换成技能树,游戏还成立吗?如果成立,你做的只是穿了卡牌皮。

1.2 核心循环(动词环)

战斗出牌 → 结算奖励 → 三选一或商店 → 卡组变强 → 敌人变强 → 直到通关或死亡

循环成立的前提只有两条:玩家的每次选牌都能被解释(为什么给我这三张),每次失败都能被复盘(哪一步决策错了)。缺前者,构筑变成开盲盒;缺后者,输赢都像运气。

节奏分三层:回合(10-60 秒,分配能量)、战斗(5-10 分钟,执行计划与随机应变)、单局(30 分钟到 2 小时,决定 build 方向)。三层都要有决策,任何一层没有决策,玩家就会开始快进。

2. 玩家体验目标与标杆作品

体验目标(按优先级排序):

  1. 构筑掌控感:赢要赢得明白,输要输得服气。牌是自己选的,卡组是自己组的。
  2. 组合发现时刻:两张原本普通的卡突然互相咬合,玩家自己「发明」出 combo 的瞬间,是这个类型最值钱的体验。
  3. 资源决策的紧张感:每回合能量有限,出 A 就出不了 B,永远差一点才完美。
  4. 每局不同:同一套规则里长出不同的卡组与打法。
  5. 信息透明:敌人意图、抽牌数量、伤害预览全部可见,输的时候玩家能指出自己错在哪一步。

反模式(出现就停手修):失败被归因为「抽不到那几张牌」且玩家觉得自己无力回天;连玩多局以后,玩家说不出这一局和上一局有什么不同。

标杆作品(建议亲手玩过再拆):

作品 取它什么 边界提醒
杀戮尖塔 信息透明(意图、抽牌、路线全公开)与单机卡牌的数值基准:能量 3、每回合抽 5、战后三选一 内容与数值量大,平衡测试成本高
万智牌 颜色轮与费用曲线、稀有度语义、地牌这种资源系统的经典答案 实体卡与赛制体系复杂,别照抄全套
炉石传说 数字化手感、低门槛包装、单卡演出 随机效果是双刃剑,方差过大会吃掉信任
怪物火车 多线防守带来的决策压力与协同轴设计 上手复杂度高,教学成本大
小丑牌 乘算数学的爽感,把「改造牌组」做成核心 数值爆炸必须配严格封顶
月圆之夜 中文市场单机卡牌的关卡化包装与移动端节奏 强度曲线偏平缓,硬核向偏弱

3. 设计要点

3.1 卡牌设计框架:费用 × 效果 × 稀有度

先立一把最小的尺子:效果预算。每张卡在设计文档里只有三行字:费用、基础效果量、附带成本。基准线(参考值):1 点费用约等于 6 点伤害、5 点格挡或抽 1 张牌。

费用 效果预算 允许出现的内容 附带成本
0 约半个 1 费效果 过牌、小增益、条件触发件 必须有隐性代价:消耗、掉血、每回合限一次
1 1 个单位 基础攻击、格挡、抽 1 无
2 约 1.8-2.2 单位 双效卡、中等强度单体 无或轻微
3 及以上 3-4 单位 高光卡、清场、关键致胜手段 卡手风险本身就是代价的一部分

卡组的费用曲线同样重要:主力卡集中在 1-2 费,3 费以上是取胜手段而不是日常口粮。起手连续两回合打不出牌,是差评级的挫败,先在预算表里堵住这个洞。

稀有度不是强度标签,是「行为半径」的闸门:普通卡加数值,稀有卡改行为(命中时附带状态),史诗卡改规则(状态会蔓延、费用可以被替代)。分布参考:普通六成、稀有约三成、史诗约一成;史诗卡一局出现 0 到 1 张。文字纪律只有两条:一张卡只做一件事(描述超过两行就拆分或收进关键词表);玩家读不懂的卡等于不存在(全卡池同一套措辞模板)。

3.2 资源与抽牌系统:能量、手牌、弃牌堆循环

四个牌堆(抽牌堆、手牌、弃牌堆、消耗堆)是这个类型的发动机。先定死五个数字(参考值):

参数 常见取值 说明
每回合能量 3 全局常数,成长留给卡与遗物,不留给回合数
每回合抽牌 5 与能量 3 配对:抽得到的多于打得出的,取舍自然出现
手牌上限 10 超出即弃,防止无限屯牌
初始卡组 10-15 张 三到五回合内能见完一遍
单场战斗 3-6 回合 超过 8 回合就开始拖

循环数学,先算再测:卡组 N 张、每回合抽 5 张,某张关键卡平均每 N/5 个回合出现一次;卡组从 15 张膨胀到 30 张,关键组合的成型速度直接减半。删卡通道和抽牌一样重要,删掉一张废卡等于提升所有关键卡的浓度。

弃牌堆细节:抽牌堆抽空时把弃牌堆整体洗回,这是标准循环,它同时给单场战斗一个软上限;消耗是平衡阀,让「打出即离场」的强卡不进入循环,用来给无限回路断料;定向检索是稀缺品,给多了随机性失效,每周目给 1 到 2 张就够;能量是全局节奏旋钮,改它等于重算全卡池的价值,后期上限涨到 4 点的成长可以做,整个项目最多动一两次。

3.3 构筑与 combo:协同、卡池与卡组卫生

先建标签体系,再写卡:全卡池定义 8-12 个机制标签(易伤、中毒、护盾、能量、抽牌、召唤、消耗、连击),每张新卡至少挂一个标签;没有标签的卡是孤儿卡,孤儿卡就是未来的死卡。

combo 分三层,各自有职责:

层级 形态 例子 设计职责
两卡 combo A 卡加 B 卡,组合收益大于两张单用 先上易伤,再打多段攻击 让玩家在前五小时尝到组合的甜头
引擎 每回合稳定产出资源 抽牌换来能量,能量换来更多抽牌 中期构筑目标,强度要可控
无限循环 资源净增长不闭合 费用与抽牌互相供能 要么封死,要么做成一局一次的稀有奖励

卡池控制五件套:稀有度闸门(§3.1);三选一按权重给牌而不是等概率;连续不出组合件时保底加权;单卡份数上限 1 到 2 份,防止全押一张;删卡与升级出口,让卡组有减法可做。

两条纪律:宁可让 20 个组合各强三成,不要让 1 个组合强十倍,前者是生态,后者是唯一解;崩坏组合出现时先判断是「零件太强」还是「互动太强」,零件强砍零件,互动强先加条件(限定回合、限定目标)再考虑砍接口。单人 roguelike 的卡组在 20-35 张之间波动比较健康,别让它无限膨胀。

3.4 平衡与测试:怎么发现死卡与崩坏组合

先建数据,再谈平衡。每个版本至少记录四组数字:每张卡的选取率(三选一与商店里被选中的比例);每张卡的胜率贡献(带它的卡组与不带它的卡组对比);每场战斗的回合数与玩家掉血比例;每局的死亡位置分布(死在第几层、第几场、哪个敌人)。

判定规则(参考阈值):选取率连续两个版本低于 5% 且胜率贡献不显著,是死卡,排查顺序是文本、数值、支配卡,重做优先于单纯加数值;选取率高于 80% 或胜率贡献一枝独秀,是崩坏卡,先判断它是「组件」还是「答案」,是答案就削弱,是组件就去看它咬合的几个接口;把高梯度卡两两配对跑自动扫描,出现资源净增长、单回合斩杀超标、任何敌人都惩罚不了这三类情况,立刻进黑名单。

测试工具箱,按投产顺序排:

  • 数据埋点:最先做,本地日志就够,记录卡组、逐卡打出、胜负与楼层。
  • 固定种子回归:每改一轮数值,跑固定种子的 20-30 局,对比曲线有没有跳变。
  • AI 自动对战:用无动画的快速结算批量跑局,找死卡与超模卡;别指望它替你验证乐趣。
  • 人类试玩:每周 3-5 个外部玩家,录屏看三件事:卡在哪、骂哪张卡、哪两张卡让他们笑了。数据找异常,试玩找原因。

改动纪律:一个版本只动一个主题(例如这批只调中毒体系),别同时改 30 张卡;社区反馈用来定位问题,不直接当处方,玩家指出「哪里难受」很准,「怎么改好」不一定。

3.5 单人 Roguelike 卡牌与对战卡牌:两张不同的图纸

维度 单人 Roguelike 卡牌 对战卡牌(TCG 与 CCG)
对手 设计好的 AI 关卡 真人玩家
构筑时机 局内逐步构筑,战后选牌 赛前预先组好
卡牌来源 掉落、商店、事件 收集、合成、交易、开包
平衡对象 与自己的关卡曲线匹配 环境与对局胜率(常见目标 45%-55%)
平衡工具 直接调数值、重做卡 禁限表、退环境、新卡对冲
随机来源 抽牌随机加事件,可受控 抽牌随机加对手,不可控
内容寿命 更新角色、事件、难度档 新卡包、新赛季
工程重点 结算系统、数据表、存档 服务器权威、匹配、反作弊

小团队的现实建议:第一次做卡牌,优先单人 roguelike 形态。它的平衡对象是你自己设计的环境,测试与调参全在本地;对战卡牌是运营型产品,服务器、匹配、反作弊、赛季更新节奏缺一不可,不是起步选项。

对战版的卡牌系统本身只占前两成工作量,剩下八成是联机与运营工程,细节见《技术实现手册》。单人版的验证成本低:卡池好不好玩,与服务器、平台、外部对手都无关,先把这个问题回答掉。

4. 技术要点

把卡做成数据,不要做成代码

  • 定义一组「效果原子」:造成伤害、获得格挡、抽牌、施加状态、消耗,等等;一张卡等于若干原子加目标规则加触发条件的数据组合。
  • 框架目标:新卡不改代码。设计者在表里填三列(费用、目标、效果序列),重启即生效。做不到这一点的项目,后期每张新卡都会变成程序排期。
  • 例外留给唯一机制:全卡池允许 5-10 张需要写代码的特殊卡,但要单独标注并评估维护成本。

结算系统是心脏

  • 效果队列与结算顺序必须确定:出牌、进入队列、逐个结算、触发连锁、播放动画。逻辑与表现分离,先算完结算再播动画,否则长 combo 时逻辑会被动画拖住,问题也藏在动画里。
  • 同一时机的多个触发要有明确顺序(打出时、回合结束时、受到伤害时),写进图鉴;玩家能预测才敢做长连招。
  • 回放:每场战斗记录「种子加操作序列」即可完整复现,这是调试、平衡与反作弊的共同地基。

存档与局内状态

  • 一局的状态(卡组、遗物、地图种子、当前战斗与各牌堆)要能整体序列化,随时退出随时继续;崩溃吞掉一局是这个类型最高级别的信任事故。更新对旧局容错:新增字段给默认值,结构大改时等旧局结算完再让玩家更新。

UI 与输入,卡牌游戏的半个手感在这里

  • 手牌扇面、拖拽出牌、目标辅助线、悬停预览(伤害与状态结算后的结果)是基本盘;手牌超过 7-8 张后的排布与可读性是常见失分点,提前设计,鼠标、触屏、手柄分开设计,别指望一套布局通用。
  • 无障碍:颜色之外给形状与文字标记(状态图标要能靠形状区分),伤害数字与状态层数要能放大。

性能与表现

  • 特效与飘字全部对象池化;结算与动画解耦后,长 combo 的动画要允许加速或跳过,测试期就加一个速度开关,发布后它是老玩家的刚需。每个效果原子配一个动画模板,特殊卡单独做,别让每张卡都驱动一次程序需求。

若做对战版,另加三件工程

  • 服务器权威:客户端只提交操作意图,全部结算在服务器;随机数由服务器下发,不向客户端提前暴露(防预测与作弊)。
  • 断线重连用操作日志回放恢复,而不是序列化整个战斗状态。
  • 匹配、赛季与举报系统按运营节奏前置规划,见《技术实现手册》与《制作管理手册》。

5. 内容量与工作量参考

单人 roguelike 卡牌的首版内容清单(参考量级,按自己节奏校准):

内容 首个可玩版本 完整版参考 备注
卡牌 40-60 张(单角色) 200-300 张(2-4 角色) 每张卡全成本 0.5-2 天,取决于机制新旧
遗物与被动 20-30 件 60-100 件 复用效果原子,边际成本低
敌人 8-12 种 25-40 种 每种一套可读的意图模板
精英 2 8-12 每层一到两种
Boss 1 3-5 每层一个,重做成本高
事件 10-15 个 30-50 个 文本加选项加奖励,成本低回报高
关卡结构 1 层,3 个节点 3-4 层 节点数按单局 30-90 分钟设计

工作量量级(单人、已有引擎经验):

  • 战斗与结算框架成型:2-4 周。
  • 单张新卡(复用已有原子):0.5-2 天走完设计、文案、图标与测试;引入新机制的卡再加 1-3 天。
  • 单角色首版 40-60 张卡:1-2 个月。
  • 数值平衡贯穿全程,收尾 1-2 个月集中冲刺;整体首个可玩循环 3-6 周,做到 1.0 单人 8-18 个月(参考)。

文本与美术:每张卡需要图标、卡面框与使用特效,简化画风(像素、剪影、单色符号加配色区分)能把美术开支压得很低;文本是玩家阅读最多的内容,描述改三稿是常态,把「读起来顺」列入验收标准。

6. 第一个原型怎么起步

目标:2-3 周做出「打完一场想再打一场」的最小循环,只做单机,不碰美术、剧情与存档。

  1. (半天)白板战斗:3 能量、5 张手牌、10 张手写卡(伤害 6、格挡 5、抽 1 三种原子),两种敌人带意图显示,无动画,结算用日志文本。
  2. (半天)四个牌堆跑通:抽牌堆、手牌、弃牌堆、消耗堆,抽空洗回,手牌上限。到这里,发动机就装好了。
  3. (1-2 天)卡牌数据表化:每张卡一行数据,新卡只改表;顺手写一张测试卡验证「不改代码就能生效」。
  4. (1 天)战后三选一奖励与卡组查看;卡组里每张牌都要能在两屏内看完。
  5. (1-2 天)三个节点的迷你路线:战斗、精英、Boss,打完结算回主页。
  6. (1 天)埋点:逐卡打出、每场回合数、胜负与死因,写进本地日志。
  7. (2-3 天)做两张互相咬合的卡(例如上易伤加多段攻击),不加任何提示,看测试者能不能自己拼出来。

试玩与验收(全部可观察):

  • 找 5 个没玩过的人,只记录三个数字:第一场战斗用了几个回合,多少人主动说出「我下一局想试试……」,死亡后 10 秒内是否有人主动点再来一局。
  • 不用提示,测试者能在第二局说出自己卡组的一个思路,且至少一半测试者在两局内自发打出过一次两卡 combo。
  • 拿掉全部美术、纯文字界面,测试者仍愿意连玩三局。

原型期不做:多角色、卡牌升级、遗物商店、每日挑战、联机、成就。这些是放大器,不是地基。

7. 常见坑

  1. 数值拍脑袋,没有效果预算表:卡与卡之间对不上账,平衡只能靠感觉。先把 §3.1 的尺子立起来。
  2. 死卡不管:三成卡没人选,内容白做。用选取率数据定期清理,优先重做而不是加数值。
  3. 卡组无限膨胀:没有删卡通道,关键卡抽不到,构筑退化成收集。
  4. 稀有度等于强度:稀有卡无脑强,选牌变成捡钱。稀有度应该控制行为半径。
  5. 无限 combo 上线才发现:缺资源上限与模拟测试。手牌上限、消耗、费用封顶先做齐。
  6. 敌人没有意图:玩家没法规划回合,战斗变成对答案。意图显示是基本礼貌。
  7. 单场战斗太长:一场十分钟起,一局两小时,中途失败挫败过重。先做 3-6 回合的战斗。
  8. 随机性过界:伤害与目标全随机,输赢与决策脱钩。随机要落在「给什么选择」上,不落在「结果对不对」上。
  9. 动画不可跳过:长 combo 播 30 秒,测试者与老玩家一起流失。速度开关加动画队列化。
  10. 小团队起手做 PvP:服务器、匹配、反作弊、赛季运营,一个都少不了。先做单机版验证卡牌本体。
  11. 抄卡不抄系统:抄了卡面创意,没抄数值预算、卡池控制与平衡流程,做完发现没法调。
  12. 只有战斗,没有路线:商店、事件、路线都是构筑决策,删掉它们,游戏只剩打牌模拟。
  13. 对着社区截图改平衡:谁被截图谁被砍,越改越乱。用埋点与固定种子回归定位问题,社区反馈用来找症状。
  14. 文本晦涩:读不懂的卡等于不存在。机制建关键词表,全卡池遵守同一套措辞。

延伸阅读

  • 《游戏设计手册》:核心循环、数值曲线与随机性设计的通用方法,对应本文第 3 节。
  • 《技术实现手册》:数据驱动、结算系统与存档的实现细节,对应本文第 4 节,对战版的服务器部分也在。
  • 《制作管理手册》:范围控制与排期,卡牌内容的边际成本评估与第 5 节配合使用。
  • 《案例研究集》:案例拆解方法,读本文第 7 节坑清单时对照。
  • 作业:玩 10 小时杀戮尖塔与 10 小时万智牌(或同类产品),记录两件事:「哪个 combo 是你自己想出来的」与「哪张牌你从来没用过」。后者的答案,就是死卡问题的现实版。