我独立开发了一款以中国校招为主题的Roguelike卡牌爬塔游戏。设计了90张卡牌,47枚遗物,17个敌人,4种职业,3章爬塔,一共做了16个子系统。 设计出16个系统本身不是重点。每个人都可以像搭积木一样不断叠加系统,真正定义一款游戏品质的,不是”有多少系统”,而是系统之间如何对话。
16个系统分三层,通过统一消息机制通信,互不直接依赖:
240个可能的耦合对,实际建立了41个,耦合密度17.1%。
这个数值看起来很少,但是关键不在41,而在于199.系统设计的核心判断力不是"能不能连起来",而是"该不该连".
商店 × 敌人行为: 商店不知道你下一场要不要打架,敌人也不知道你买了什么.这个耦合,技术上很容易做,但是这会让玩家产生"被针对"的体验,进一步削弱构筑的自由度.肉鸽的核心乐趣就是用自己选的牌面对未知局面,而不是跟一个可以读你购物车的AI打架.
案例一:手牌保留制——一条规则如何串起战斗、敌人、Boss三个系统
杀戮尖塔每回合弃光手牌。我改成了回合结束手牌保留,第一回合抽5张,之后每回合补抽3张,上限10张。
手牌保留在游戏王中是常态,在肉鸽卡牌品类中罕见。补抽3张,第3回合手牌开始溢出,刚好和Boss节奏对上。
手牌保留制本身只是战斗规则的改动。但它改变了”手牌空间”的稀缺性,这个变化向其他系统传导:
→ 与卡牌设计的耦合: “群发消息:伤害=手牌数×2”,在弃光制下是弱牌,而在保留制下后期能打18+。同一张卡的强弱,取决于它处在哪套战斗规则下。反过来,虚无卡(回合末自动消耗)从负面标签变成了空间管理工具。手牌保留制重新定义了整个卡牌池的评估体系。 → 与敌人设计的耦合: 弃光制下封印一张牌只影响当回合,保留制下被封的牌一直占空间,两回合不处理手牌就满了。封印从”减少一回合手牌”变成了”持续压缩手牌空间”。13种敌人行为中6种因此重新设计——不是改数值,是改威胁类型:从”对你造成伤害”变成”威胁你的手牌空间”。
→ 与Boss2的耦合(耦合链的终点): Boss2”HR总监”的核心是封印手牌+塞诅咒入牌库。如果用弃光制,这个Boss的封印每回合自动解除,压力有限。但在保留制下,封印是跨回合的——被封的牌一直占空间直到主动弃掉。狂暴阶段封印数从1变2、充能周期从2缩至1。
这个Boss的威胁感不是来自它自己的数值设计,而是来自手牌保留制和封印机制的交叉——两个系统碰在一起,产生了杀戮尖塔里不存在的”空间窒息感”。 这是一条精心设计的耦合链:战斗规则(保留制)→ 卡牌评估体系改变 → 敌人威胁类型改变 → Boss设计空间打开。改的是一条规则,影响的是三个系统。
大专玩家用自伤卡积累怒气,配合"越挫越勇"遗物的加成,一回合秒杀了Boss1。
链条是:自伤卡→遗物加怒气→怒气跨战斗保留→怒气转化伤害→Boss1的120HP不够扛。五个系统各自的数值都在合理范围内,但串联后突破了Boss的生存阈值。
类似的情况也出现在本科职业——手牌保留积累低费牌+连锁遗物+费用减免,绕过了我预设的核心卡触发路径。
事后我对四个职业做了极限输出估算,发现问题的根源是怒气可以无代价地跨战斗无限积累。解决思路不是砍怒气机制本身——那会破坏大专的核心体验——而是调高精英怪和基础怪物的血量上限,迫使大专玩家在精英关就必须释放怒气来生存,没法把所有怒气囤到Boss战一波带走。
但精英怪血量不是大专的私有参数,四个职业打的是同一批怪。调它,必须沿着每条职业的耦合链追踪连锁影响:
本科是引擎型,回合越多连锁转得越充分,精英战变长对它反而是利好——前提是战斗不拖到手牌空间溢出。保留制下上限10张,本科出牌速度快、抽牌多,大约第5回合开始面临手牌淤积。精英血量的安全区间是"本科引擎能在4-5回合内解决"。
双一流是续航流,造成伤害回血,打得越久回得越多。这条链受影响最小,甚至略微受益。 985是压力最大的一条。985靠高费卡集中爆发,6点精力上限意味着一轮完整输出最多打出两张3费核心卡。精英血量一旦超过985爆发的击杀线,它就必须撑过第二轮——但第二轮精力恢复后手里不一定有足够的高费牌跟上。985对精英血量的容忍上限最低。
最终的血量区间要同时满足两个约束:高到大专必须在精英关释放怒气,低到985不会在精英关系统性卡死。实际调整后这个窗口存在,但不宽裕——这本身就说明耦合链越多,可调参数的安全空间越窄。
调整后大专的"赌狗"体验没变,但决策点从"囤到最后一把梭哈"变成了"每场精英关都要判断这一波该释放多少、事后如何调整"。
这个更多是去展示一条规则的纵向传导,下一个问题是:一个系统能不能同时横向耦合多个系统
初始遗物的设计核心不是"给什么效果",而是触发条件画多大的圈、画在哪。圈的大小和位置,决定了这个遗物会和多少个系统产生耦合。
勤能补拙的触发条件是"出≥4张牌",不是"出≥4张本科专属卡"。
这个区别直接决定了本科的构筑弹性。如果条件限定本科卡,选牌答案永远确定——本科卡无条件优先,构筑退化成线性堆叠,遗物只是一个自动生效的被动。
条件放宽到"任意牌"之后,通用低费卡也能触发,构筑空间打开了,但选择压力也来了:路上遇到一张强力3费通用卡,拿不拿?拿了单回合出牌量可能凑不到4张,遗物不触发;不拿,放弃了一张绝对强度高的牌。遗物不是自动运转的引擎,是每次选牌都要掂量的方向。
985的名校光环同理但方向相反:奖励单卡费用而非出牌数量,同样是宽条件,把构筑拉向完全不同的方向。
大专的"越挫越勇"条件是"受到伤害"。这个条件很窄——只有一种行为能触发,但窄在一个反直觉的位置上:它把所有职业都想回避的事变成了大专独有的资源入口。
其他职业看到敌人攻击想的是"怎么挡",大专想的是"这一下可以获得多少怒气,够不够在最终BOSS战斗放"。
触发条件的窄本身不重要,窄在"全局负面行为"上才重要——它把受伤从代价翻转成投资,直接改写了这个职业面对同一个战斗局面时的整套决策逻辑。
双一流的生生不息是另一种窄:必须主动输出才回血,防守等于慢性死亡,逼出进攻型续航。
但宽窄只是遗物设计的方法。真正体现横向耦合的,是一个遗物的触发条件同时改写了多少个系统的运行逻辑。拿越挫越勇展开
→ 改写战斗系统的决策逻辑: 其他职业看到敌人蓄力攻击,第一反应是出防御牌挡住。
大专看到同样的蓄力,算的是"这一下能吃多少怒气"。同一个敌人行为,在大专的视角下从"需要应对的威胁"变成了"需要计算收益的投资"。遗物没有改动敌人的任何数值,但改写了玩家面对敌人系统时的整套评估。
→ 改写经济层的选牌标准: 商店里出现一张自伤卡,对其他职业是垃圾,对大专是核心拼图。
同一张卡在不同职业的经济决策中价值完全相反——这个差异不来自卡牌本身的数值,来自遗物的触发条件。遗物跨过了战斗层,直接介入了经济层的每一次选择。
→ 与手牌保留制交叉产生二阶效应: 案例一讲过手牌保留制让手牌空间变成稀缺资源。
大专要囤怒气就要多吃伤害,多吃伤害意味着要留出手牌位给防御调整——但保留制下手牌空间有限。怒气积累和手牌空间管理互相挤压,这个张力不在越挫越勇的设计里,也不在手牌保留制的设计里,是两个系统碰在一起才产生的。 一个遗物,三条横向耦合链,分别改写了战斗决策、经济选择、和手牌空间管理。
它没有改动任何一张卡的数值,没有改动任何一个敌人的行为,但通过一个触发条件,同时重新定义了三个系统的运行方式——和案例一里手牌保留制做的事情一样,只是案例一是纵向传导,这里是横向辐射。
杀戮尖塔每章Boss随机,玩家在构筑阶段无法针对特定Boss。
我做了相反的选择:Boss序列固定,且玩家提前知道。
固定序列把Boss从"终点检验"变成了"全程约束":
玩家知道Boss2是HR总监,核心机制是封印手牌+塞诅咒入牌库。这个信息从第一章第一次选牌就开始生效:你要不要拿这张高费combo卡?它单卡强度很高,但如果Boss2封住了你的combo起手件,整条链断掉,这张卡就是死牌占格子。
Boss2还没出现,但它对构筑的约束已经在运作了。
随机Boss制下,玩家的构筑逻辑是"拿当前最强的牌,打到Boss再看怎么应对"。
固定序列下,构筑逻辑变成"每张牌不只要现在能用,还要在三场Boss面前都不成为负担"。选牌从单点最优变成全局博弈。这条耦合不在战斗层,在经济层——Boss通过信息公开,直接介入了商店、事件、卡牌奖励的每一次选择。
固定序列的代价很明确——可解性变高,理论最优路径存在。我用职业遗物差异和地图/事件随机来对冲——四个职业面对同一个Boss序列的最优构筑方向完全不同,地图分支保证每局可选牌池不重复。
这是一个有意识的优先级判断:在当前4职业、3Boss的体量下,信息公开带来的全程构筑博弈,比Boss随机带来的重玩不确定性对核心体验的贡献更大。玩家在第一章就开始为第三章的Boss做准备——这条从经济层反向约束战斗层的耦合链,只有在信息公开的前提下才成立。
如果Boss池扩展到每章2-3个候选随机抽取,可以同时保留信息公开的构筑深度和随机性带来的重玩价值。这是内容量上去之后的自然迭代方向,不是当前设计的修补。
同时Boss2的实际难度是多个系统的函数——封印机制、手牌保留制、卡组构成共同决定(案例一已经展开过),单独调任何一个参数都可能连锁失衡。
这个项目让我走完了系统设计的全链路——从初始规则到耦合链追踪到涌现后的跨职业调整。下一步的方向很具体:专注打磨一到两个核心系统,把同样的耦合追踪和跨系统调参能力用在更大规模的项目里。
评论区
共 2 条评论热门最新