独立开发一款类杀戮尖塔游戏,我是如何设计16个系统之间的耦合的

独立开发一款类杀戮尖塔游戏,我是如何设计16个系统之间的耦合的

2026/4/7 · 阿幻 · 约 12 分钟 · - 次阅读
📖 知乎专栏 · 第 1 / 3 篇
← 上一篇|下一篇 →

我独立开发了一款以中国校招为主题的 Roguelike 卡牌爬塔游戏。设计了90张卡牌,47枚遗物,17个敌人,4种职业,3章爬塔,一共做了16个子系统。

设计出16个系统不是重点。每个人都可以像搭积木一样不断叠加系统,真正定义一款游戏品质的,不是”有多少系统”,而是系统之间如何对话


系统全景

16个系统分三层,通过统一消息机制通信,互不直接依赖:

元游戏 / 表现层(6个系统)

  • 地图生成、存档、渐进难度、成就、音频、视觉反馈

经济 / 内容域(5个系统,5种资源)

  • 卡组、遗物、资源职业、事件、商店

战斗域(5个系统)

  • 战斗流程、卡牌效果、手牌管理、敌人行为、Boss行为

240个可能耦合对,实际建立41条,耦合密度17.1%。

举个例子就明白了:

商店 × 敌人行为: 商店不知道你下一场要不要打谁,敌人也不知道你买了什么。这个耦合,技术上很容易做,但这会让玩家产生”被针对”的体验,进一步削弱构筑的自由度。肉鸽的核心乐趣就是用自己选的牌面对未知局面,而不是跟一个可以读你购物车的 AI 打架。


案例一:手牌保留制——一条规则如何串起战斗、敌人、Boss三个系统

系统设计

杀戮尖塔每回合弃光手牌。我改成了回合结束手牌保留,第一回合抽5张,之后每回合补抽3张,上限10张。

手牌保留在游戏王中是常态,在肉鸽卡牌品类中罕见。补抽3张,第3回合手牌开始溢出,刚好和Boss节奏对上。

这条规则如何与其他系统耦合

手牌保留制本身只是战斗规则的改动。但它改变了”手牌空间”的稀缺性,这个变化向其他系统传导:

→ 与卡牌设计的耦合: “群发消息:伤害=手牌数×2”,在弃光制下是弱牌,而在保留制下后期能打18+。同一张卡的强弱,取决于它处在哪套战斗规则下。反过来,虚无卡(回合末自动消耗)从负面标签变成了空间管理工具。手牌保留制重新定义了整个卡牌池的评估体系。

→ 与敌人设计的耦合: 弃光制下封印一张牌只影响当回合,保留制下被封的牌一直占手牌空间,两回合不处理手牌就满了。封印从”减少一回合手牌”变成了”持续压缩手牌空间”。13种敌人行为中有6种因此改变了威胁等级。

→ 与Boss设计的耦合: Boss2是HR总监,核心机制是封印手牌+塞诅咒入牌库。这个信息从第一章第一次选牌就开始生效:你要不要拿这张高费combo卡?它单卡强度很高,但如果Boss2封住了你的combo起手件,整条链断掉,这张卡就是死牌占格子。

Boss2还没出现,但它对构筑的约束已经在运作了。

随机Boss制下,玩家的构筑逻辑是”拿当前最强的牌,打到Boss再看怎么应对”。

固定序列下,构筑逻辑变成”每张牌不只要现在能用,还要在三场Boss面前都不成为负担”。选牌从单点最优变成全局博弈。这条耦合不在战斗层,在经济层——Boss通过信息公开,直接介入了商店、事件、卡牌奖励的每一次选择。

这个Boss的威胁感不是来自它自己的数值设计,而是来自手牌保留制和封印机制的交叉——两个系统链在一起,产生了杀戮尖塔里不存在的”空间窒息感”。

这是一条精心设计的耦合链:战斗规则(保留制)→ 卡牌评估体系改变 → 敌人威胁类型改变 → Boss设计空间打开。改的是一条规则,影响的是三个系统。


涌现:耦合不全是好事

测试中出现了两个设计时没预见的策略:

大专玩家用自伤卡积累怒气,配合”越挫越勇”遗物的加成,一回合秒杀了Boss1。

链条是:自伤卡→遗物加怒气→怒气跨战斗保留→怒气转化伤害→Boss1的120HP不够扛。五个系统各自的数值都在合理范围内,但串联后突破了Boss的生存阈值。

类似的情况也出现在本科职业——手牌保留积累低费牌+连锁遗物+费用减免,绕过了我预设的核心卡触发路径。

事后我对四个职业做了极限输出估算,发现问题的根源是怒气可以无代价地跨战斗无限积累。解决思路不是砍怒气机制本身——那会破坏大专的核心体验——而是调高精英怪和基础怪物的血量上限,迫使大专玩家在精英关就必须释放怒气来生存,没法把所有怒气囤到Boss战一波带走。

但精英怪血量不是大专的私有参数,四个职业打的是同一批怪。调它,必须沿着每条职业的耦合链追踪连锁影响:

本科是引擎型,回合越多连锁转得越充分,精英战变长对它反而是利好——前提是战斗不拖到手牌空间溢出。保留制下上限10张,本科出牌速度快、抽牌多,大约第5回合开始面临手牌淤积。精英血量的安全区间是”本科引擎能在4-5回合内解决”。

双一流是续航流,造成伤害回血,打得越久回得越多。这条链受影响最小,甚至略微受益。

985是压力最大的一条。985靠高费卡集中爆发,6点精力上限意味着一轮完整输出最多打出两张3费核心卡。精英血量一旦超过985爆发的击杀线,它就必须撑过第二轮——但第二轮精力恢复后手里不一定有足够的高费牌跟上。985对精英血量的容忍上限最低。

最终的血量区间要同时满足两个约束:高到大专必须在精英关释放怒气,低到985不会在精英关系统性卡死。实际调整后这个窗口存在,但不宽裕——这本身就说明耦合链越多,可调参数的安全空间越窄。

调整后大专的”赌狗”体验没变,但决策点从”囤到最后一把梭哈”变成了”每场精英关都要判断这一波该释放多少、事后如何调整”。


案例二:初始遗物——触发条件画多大的圈

系统设计

职业初始遗物效果卡牌池协同
本科·连锁勤能补拙出≥4张牌→抽1+1精力,可连锁12张低费卡(6张0费),核心卡「超频运转」精力翻倍+每出1卡抽1
双一流·续航生生不息造成伤害→恢复20%信心「绝地翻盘」伤害=已损信心,输出=回血
985·爆发名校光环每场+5印象,≥3费卡+3印象14张高费卡,6精力上限,印象≥20/30触发额外奖励
大专·赌狗越挫越勇受伤→+50%怒气「一战成名」消耗全部怒气×1.5伤害无视甲,受伤从代价变资源

初始遗物的设计核心不是”给什么效果”,而是触发条件画多大的圈、画在哪。圈的大小和位置,决定了这个遗物会和多少个系统产生耦合。

四个职业的初始遗物对应两种画圈策略:

宽条件:制造构筑张力

勤能补拙的触发条件是”出≥4张牌”,不是”出≥4张本科专属卡”。

这个区别直接决定了本科的构筑弹性。如果条件限定本科卡,选牌答案永远确定——本科卡无条件优先,构筑退化成线性堆叠,遗物只是一个自动生效的被动。

条件放宽到”任意牌”之后,通用低费卡也能触发,构筑空间打开了,但选择压力也来了:路上遇到一张强力3费通用卡,拿不拿?拿了单回合出牌量可能凑不到4张,遗物不触发;不拿,放弃了一张绝对强度高的牌。遗物不是自动运转的引擎,是每次选牌都要掂量的方向。

窄条件:翻转资源极性

大专的”越挫越勇”条件是”受到伤害”。这个条件很窄——只有一种行为能触发,但窄在一个反直觉的位置上:它把所有职业都想回避的事变成了大专独有的资源入口。

其他职业看到敌人攻击想的是”怎么挡”,大专想的是”这一下能吃多少怒气,够不够在最终BOSS战斗放”。

触发条件的窄本身不重要,窄在”全局负面行为”上才重要——它把受伤从代价翻转成投资,直接改写了这个职业面对同一个战斗局面时的整套决策逻辑。

但宽窄只是遗物设计的方法。真正体现横向耦合的,是一个遗物的触发条件同时改写了多少个系统的运行逻辑。拿越挫越勇展开:

→ 改写战斗系统的决策逻辑: 其他职业看到敌人蓄力攻击,第一反应是出防御牌挡住。大专看到同样的蓄力,算的是”这一下能吃多少怒气”。同一个敌人行为,在大专的视角下从”需要应对的威胁”变成了”需要计算收益的投资”。遗物没有改动敌人的任何数值,但改写了玩家面对敌人系统时的整套评估。

→ 改写经济层的选牌标准: 商店里出现一张自伤卡,对其他职业是垃圾,对大专是核心拼图。同一张卡在不同职业的经济决策中价值完全相反——这个差异不来自卡牌本身的数值,来自遗物的触发条件。遗物跨过了战斗层,直接介入了经济层的每一次选择。

→ 与手牌保留制交叉产生二阶效应: 案例一讲过手牌保留制让手牌空间变成稀缺资源。大专要囤怒气就要多吃伤害,多吃伤害意味着要留出手牌位给防御调整——但保留制下手牌空间有限。怒气积累和手牌空间管理互相挤压,这个张力不在越挫越勇的设计里,也不在手牌保留制的设计里,是两个系统碰在一起才产生的。

一个遗物,三条横向耦合链,分别改写了战斗决策、经济选择、和手牌空间管理。

它没有改动任何一张卡的数值,没有改动任何一个敌人的行为,但通过一个触发条件,同时重新定义了三个系统的运行方式——和案例一里手牌保留制做的事情一样,只是案例一是纵向传导,这里是横向辐射。


案例三:Boss克制矩阵——Boss设计如何与职业系统双向耦合

系统设计

Boss核心威胁克制被克
CEO · 5回合DDL爆40伤时间压力+精力递减续航流引擎流/爆发流
HR总监 · 封印+诅咒污染手牌控制+卡池膨胀combo卡组精简卡组
终面官 · 施压-施压-评估窗口每3回合仅1回合可输出匀速输出爆发/怒气

杀戮尖塔每章Boss随机,玩家在构筑阶段无法针对特定Boss。

我做了相反的选择:Boss序列固定,且玩家提前知道。

固定序列把Boss从”终点检验”变成了”全程约束”:

玩家知道Boss2是HR总监,核心机制是封印手牌+塞诅咒入牌库。这个信息从第一章第一次选牌就开始生效:你要不要拿这张高费combo卡?它单卡强度很高,但如果Boss2封住了你的combo起手件,整条链断掉,这张卡就是死牌占格子。

Boss2还没出现,但它对构筑的约束已经在运作了。

随机Boss制下,玩家的构筑逻辑是”拿当前最强的牌,打到Boss再看怎么应对”。

固定序列下,构筑逻辑变成”每张牌不只要现在能用,还要在三场Boss面前都不成为负担”。选牌从单点最优变成全局博弈。这条耦合不在战斗层,在经济层——Boss通过信息公开,直接介入了商店、事件、卡牌奖励的每一次选择。

代价是什么?

固定序列的代价很明确——可解性变高,理论最优路径存在。我用职业遗物差异和地图/事件随机来对冲——四个职业面对同一个Boss序列的最优构筑方向完全不同,地图分支保证每局可选牌池不重复。

这是一个有意识的优先级判断:在当前4职业、3Boss的体量下,信息公开带来的全程构筑博弈,比Boss随机带来的重玩不确定性对核心体验的贡献更大。玩家在第一章就开始为第三章的Boss做准备——这条从经济层反向约束战斗层的耦合链,只有在信息公开的前提下才成立。

如果Boss池扩展到每章2-3个候选随机抽取,可以同时保留信息公开的构筑深度和随机性带来的重玩价值。这是内容量上去之后的自然迭代方向,不是当前设计的修补。

同时Boss2的实际难度是多个系统的函数——封印机制、手牌保留制、卡组构成共同决定(案例一已经展开过),单独调任何一个参数都可能连锁失衡。

这就是耦合的双刃剑。


结语

这个项目让我走完了系统设计的全链路——从初始规则到耦合链追踪到涌现后的跨职业调整。下一步的方向很具体:专注打磨一到两个核心系统,把同样的耦合追踪和跨系统调参能力用在更大规模的项目里。

分享这篇文章

💬

留言板

( ´▽` )ノ 来聊聊吧~
载入中...
幻之空
0:00
0:00