从零到一设计一套肉鸽地图系统:谁来管节奏?
这篇文章讲的是《中国式求职》地图系统的设计过程。
为什么地图要管节奏、结构和规则如何分工,以及单系统的设计边界在哪里。 不涉及代码实现和数值细节,这些可以在策划案完整版中查看。
地图系统也是这个项目迭代最多的模块,前后大约优化了十几次。
为什么地图系统要管节奏
肉鸽的单局体验质量,很大程度上由什么时候遇到什么来决定的。
战斗的密度分配,资源获取的时机,强度校验点的出现位置——这些直接决定了玩家这一局是有决策空间还是一直搏打,是节奏流畅还是中途卡死。
在这个项目里,承担什么时候遇到什么的系统也就是地图。
卡牌系统更多管的是”遇到之后怎么打”的问题,经济系统管的是”资源如何分配”的问题,而”这一层是战斗,是商店,还是精英”——这件事情只有地图在管。所以地图不去管节奏,也就没有其它系统来管了。
这个判断不是所有项目都成立的。方向定型之前,先看了一个走不同方向的案例。
尸姬之梦——它使用了单线地图的设计,把地图的设计深度压制到了最低,设计资源全部投入到角色池和装备系统上。
这并非是偷懒——它的角色池与装备系统之间的耦合已经提供了足够的构筑决策深度,地图不需要再承担节奏控制的职责。它不是不需要节奏控制,而是这个职责被其他系统承接了。
我的项目里其他系统承接不了这个职责——卡池规模有限,角色和遗物的耦合深度也远远到不了尸姬之梦的水平。所以地图必须自己管节奏,但不需要管所有事情。
节点图而不是单线
确定了地图要管节奏之后,下一个问题是用什么形态来管。
单线地图首先被排除。单线意味着每局体验高度相似,需要大量的角色和道具内容来支撑重玩性——尸姬之梦能用单线跑通,就是因为它的角色池和装备池体量足够大。
排除单线之后,要提供局间差异就需要分叉路径。分叉路径在肉鸽里最成熟的形式就是节点图。
所以方向也就确定了:做节点图,地图必须管节奏,但不需要管所有事情。
纯随机为什么行不通
做地图系统的时候,第一版想做全随机——希望玩家每次进入地图玩的都不一样。结果问题非常多:路径重叠、节点生成不合理,比如前三层就出现了休息和商店。说实话这很不合理,所以改成了固定层+中间随机的结构。
中间随机的部分也踩了不少坑。没加约束规则之前,某些种子生成了连续五层战斗,自己测试打到第三层就烦了——跟玩杀戮尖塔那种游戏的感觉一模一样,我做的游戏起码不要让自己都玩不下去,后续就加了很多约束规则。
关键在于我怎么试图解决它。尝试了三个方向,都没有走通。
第一反应就是去加规则。
商店不可以出现在前三层,战斗不可以连续出现在三层以上,精英不可以出现在前五层……每发现一个不合理的结果就补一条规则。
规则是越写越多,写到后面就开始交叉冲突了。“非战斗节点每三层至少一次”和”商店不能出现在前三层”同时生效,第三层也就被锁住了——只能放事件或休息。
但是休息在前三层也是无意义的,因为玩家血量几乎是满的,最终只能放事件。改了一条又和另一条冲突,规则之间相互纠缠,越补越乱。
到这里就应该停下来了。我写了很多条规则,每条单独看都有道理,但它们合在一起产生了一个我没有设计过的硬性约束。
这说明规则之间已经不是独立运作的了——它们在互相叠加中产生了我预期之外的耦合效应。
回过头看这些规则,每条规则的背后都有一个关于节奏的设计意图:
“商店不能出现在前三层”——目的是让玩家开局先通过战斗环节来补充经济和补充卡组。
“战斗不能连续超过三层”——目的是保证玩家有非战斗节点可以调整卡组或者补充状态。
问题出在这里:这些意图描述的是”开局阶段应该是什么体验”、“中期应该有什么节奏”——这是每一局都一样的结构性需求。我一直在用规则间接表达这些节奏意图,而不是直接用结构来实现。规则的本职是在结构框架内部控制随机细节,不是替代结构去定义节奏骨架。
分工应该是这样的:结构固定住关键的节奏点——开局如何进入状态、中期强度校验、Boss前调整窗口。这些每一局都是一样的节奏骨架,所以适合用结构。
固定层之间的随机区域——具体生成什么、用什么比例、同类节点连续出现如何处理——这些细节层面的控制,才是规则该管的事情。
规则失控的根源在于我把本应该由结构处理的问题交给了规则——也就是让规则去干了结构的活。
结构和规则的分工
固定层锁定了每局都是一样的节奏骨架:前两层战斗让玩家进入状态,第三层的事件为玩家提供了第一个非战斗决策点,60%位置的精英是BOSS前的强度校验,BOSS前的休息/商店是最后的调整窗口。每个固定层的设计意图都是在回答同一个问题——这个阶段玩家应该经历什么体验,而这个答案每一局都是一样的,所以用结构来保证。
这个方向和杀戮尖塔是一致的——尖塔也是用固定的层结构来兜底节奏,随机性在结构框架内部运行。
区别在于细节。尖塔的固定层是区间约束——精英出现在某一段层数的范围内。我的固定层是精确到具体层——第 6 层就是精英。粒度必须更细的原因就是前面说的:池子小。尖塔的卡牌和遗物池规模足够大,即使随机区域生成了不理想的节点分布,玩家也大概率能从奖励中拼凑出一条可用的构筑路径——大池子保底了随机区域的体验下限。所以结构约束可以粗一些,给随机性留更大空间。
我的项目没有这个保底。一次不好的随机地图生成没办法靠拿到一个强力遗物来补偿,单局 30-50 分钟重开成本也大。所以结构约束必须更紧,精确到层才能把节奏锁住。
固定层之间的随机区域,规则来管。最终保留四条规则:
- 同类节点连续出现两层后第三层禁止
- 生成过程中实时追踪战斗与非战斗比例,偏离区间时动态调整权重
- 同层三个以上节点时战斗类和非战斗类各至少一个
- 精英和商店每章有数量上限
这些规则与之前失控的那十几条有本质区别:它们不再试图去表达节奏的意图,而是在结构已经搭好的骨架内控制随机区域的生成质量。
规则虽然少了很多,但不是因为砍了规则,是因为大部分是在干结构的工作,结构到位了也就失去了意义。
精英位置参数:60%
精英的设计目的是 BOSS 前的强度校验——让玩家用自己下组出的牌面对高强度对手,校验结果反映的是构筑缺陷:什么牌卡手,什么牌无用。它的位置参数同时被前后两端约束。
他的位置参数也很关键,同时被前后两端约束:前端是意味着卡组的成熟度,后端是恢复和调整空间。
- 50%(第一章第 5 层):前端空间不足。 前两层固定战斗,第三层固定事件,真正能自由构筑的空间只有第 3-5 层之间。两三层的构筑窗口期,卡组成熟度不稳定:废牌没机会剔,辅助牌不够支撑核心卡牌运转。精英打出来的结果更多反映的是”牌运好不好”而不是”构筑思路对不对”,校验的信息质量低。
- 70%(第一章第 7 层):后端空间不足。 精英和 Boss 之间只剩三层。半血以下的状态,三层里面如果没有恰好生成休息或商店,玩家到 Boss 门口基本是半放弃心态——一旦出现这种心态,后续的游玩体验也就可有可无了。
- 60%(第一章第 6 层):前后约束的交叉点。 多出的一层不管生成什么节点,都是一次卡组走向成熟的机会。后端缓冲空间也够用——经过精英校验后玩家对卡组的认知更清晰,有足够空间做针对性调整,后续的非战斗环节才真正有意义。
参数不是拍脑袋填的,是从前后约束的交叉点里找到的。
单系统的边界在哪里
节奏稳定后就要开始做路线的差异化。
四条预置路线:精英路线、战斗路线、事件路线、均衡路线。路线之间设了汇合节点方便中途切换。测试发现路线体感趋同——选哪条好像都差不多。
第一反应就是去调整参数。尝试了三个方向,都没有走通。
调整精英的数量——所有路线都经过精英固定层,精英路线放两个已经是第一章卡组的承受上限,再多打不过,或者打过了收益碾压其他路线。
给精英路线加附加奖励——精英掉落本身就高,附加奖励一加其他路线没了存在意义。调低又退化成装饰,有吸引力但不碾压的参数区间几乎不存在。
调整精英的难度——精英是跨路线的共享参数,动了难度四条路线全部受影响。
三次调整做的是同一件事:在现有节点结构不变的前提下,试图通过参数拉开差异。
回头看精英这个节点类型的参数空间——奖励高不能降、难度是共享参数不能单独调、数量受卡组承受力约束。三个维度全部锁死。
问题不在于参数没调好,而是在于精英作为一个节点类型,留给参数调整的空间天然就是狭窄的。
参数和规则都调不动,不一定是问题无解,可能是承载参数的结构本身需要重新设计。
换个思路:如果精英不是只有一种呢?
引入”小精英”加入这个结构——难度和掉落都低于精英,但高于普通战斗。
这个时候就不是在调整参数,也不是增加规则,而是新增一个节点类型,改变的是结构本身。
小精英奖励中等,这个时候附加奖励的可调整空间也就被撑开了——原本的窄缝,现在就变成一个可操作的区间了。精英路线可以放更多的小精英来调整与其他路线的体感差异,也不会因为单次掉落太高而被碾压。
这个方向在原型中还没有做过验证,但结构重设计的逻辑我认为是成立的:精英作为节点类型,奖励不能降,难度是共享参数,数量受卡组承受力约束,三个维度全部锁死,参数空间天然就窄。引入新的节点类型是撑开参数空间的方式——而不是在窄缝里继续找精确值。
但结构设计也有边界。小精英能撑开精英路线的差异化空间,其他路线呢?事件路线要做出差异化体感,取决于事件池的设计深度;战斗路线要有独特的成长曲线,取决于卡牌掉落和经济系统的收益结构。这些不是地图系统自己能解决的。
当参数在一个系统内怎么调都找不到合理区间时,应该检查的是承载参数的结构是否需要重新设计。
单系统内部能通过结构重设计解决一部分问题,但路线差异化的完整解法,最终涉及的是系统之间的耦合设计,可以参考我的另一篇文章《独立开发一款类杀戮尖塔游戏,我是如何设计16个系统之间的耦合的》。
回顾
三条方法论,以及它们在其他设计场景里的映射:
1. 了解结构和规则的分工
在每局都一样的节奏骨架中——每局一致的节奏骨架——开局进入状态、中期强度校验、Boss前调整窗口——用结构固定。固定层之间的生成细节——节点比例、连续出现限制、数量上限——用规则控制。规则失控时,先检查是不是在让规则做结构的活。
这个判断在实际项目里会反复出现。策划案里很多”加个限制条件”的本能反应,本质上是在回避结构层面的重新设计。
同样的逻辑适用于开放世界的区域解锁:主线推进节奏和区域开放顺序是结构,每个区域内的任务密度和奖励分配是规则。
如果玩家反馈”新区域一开就被支线淹没、不知道该干什么”,第一反应往往是加规则——限制当前地区可接取的任务数量。但如果真正的问题是区域开放时机和主线叙事节奏不匹配,限制任务数只是在用规则干结构的活。
2. 参数从约束的交叉点里找
精英层定在 60% 不是直觉,是确定前端约束和后端约束之后逐位置验证,找到两端都能接受的位置。
MMO 的每日任务奖励衰减曲线是同一个框架。
前端约束是活跃度——衰减太快,玩家每天能获取的有效资源过少,日常体验变成上线打卡然后无事可做,中低活跃玩家直接流失。
后端约束是经济膨胀——衰减太慢,高活跃玩家每天能刷出的资源远超消耗设计,几个版本之后通货溢出、交易行崩盘。衰减曲线的拐点不是拍脑袋定的,是从这两端约束的交叉点里找到的。
3. 参数调不动时看结构,结构调不动时看系统间耦合
MOBA 的英雄平衡是同一个框架。
某个英雄数值怎么调都不对,砍伤害没人玩,加伤害就无解,参数反复调但合理区间始终找不到。
问题往往不在数值本身,而在于这个英雄的技能机制只支撑一种有效打法——参数空间天然就是窄的,不管怎么左右微调都跳不出”要么太强要么太弱”的状态。
常见的解法是重做技能机制,让同一个英雄能支撑多种构筑路径,参数空间随之被撑开。不是继续调参数,是新增结构元素把参数空间本身撑开。
但单系统内部的结构重设计也有边界。
游戏王的禁限卡表就是一个结构层面解决不了、最终需要改变系统间耦合关系的案例。
一张禁限表同时服务竞技玩家和收藏向玩家,限制太严休闲玩家的本命卡组直接被砍没了,限制太松环境卡组收敛到两三套。
参数空间窄的原因不是规则没调好,而是两类需求耦合在同一个系统里。
游戏王后来推出不同赛制——段位赛、杯赛——每个赛制有独立的卡池约束,竞技平衡和收藏体验各自对各自的用户负责。
这不是在一个系统内部加结构元素,是把原本耦合在一起的需求拆到不同系统里,改变的是系统间的耦合关系本身。
好的设计方法论不只在同品类里成立。
结构和规则的分工、参数从约束交叉点里找、调不动时退一步看结构,这些思路在肉鸽、开放世界、MMO、卡牌对战里反复出现,只是表现形式不同。
系统策划需要跨品类地看设计,因为玩家对节奏、反馈和决策空间的需求是共通的。
你可能还想看