从 Block Blast 的一个瞬间说起
我自己玩 Block Blast 经常会撞到这么一个瞬间。
连续两三把都在很接近满的时候死掉,屏幕灰一下弹出继续,心里有点烦,手滑出去本来想关掉。鬼使神差又点了一把,这一把开局掉下来的方块竟然全是好配的,两步就清出一大片空间,十几秒连爆,一口气又打了很久。
第二天早上地铁上想起这事,会停顿一下:刚才那把真的是运气吗?
做过休闲游戏的人都知道,这种"运气"大概率不是运气。后台有一段逻辑在盯着你刚才死的次数、死的速度、死的位置,然后悄悄把下一把的方块分布朝对你有利的方向偏一点点。它不告诉你它在偏,你也无法证明它在偏,但它一直在。
这件事有个专门的名字:DDA,动态难度调整(Dynamic Difficulty Adjustment)。不是什么新概念,二十年前就有人写过论文、做过游戏去论证它。今天休闲游戏里基本人人都在用,做法分化成了好几套。这篇文章想把其中的一些套路摊开来聊聊。
绕不过去的一个老理论
"难度"这事心理学上有个更准的词,叫心流(Flow)。
1975 年的原始定义很简单:一个人的技能和他面对的挑战刚好匹配时,他会进入一种高度专注、忘记时间、觉得"太有意思了"的状态。技能高挑战低,无聊;技能低挑战高,焦虑;两者踩在一根曲线上,才进得去心流。
这个理论在心理学圈躺了三十年。真正把它往游戏设计里搬的是 2006 年的一篇研究生论文《Flow in Games》,以及作者按论文思路做的一款 Flash 小游戏 flOw。这款游戏只有一句核心规则:玩家是水里的一条小虫子,吃红色生物往深海走、吃蓝色生物回上层。整个游戏没有难度选项,没有关卡编号,没有任何"选简单/中等/困难"的菜单。玩家每一秒都在通过自己吃什么告诉游戏:我现在想要更刺激一点,还是想歇一歇。
二十年过去,这篇论文留下的不是那款游戏,是两句至今对休闲游戏仍然管用的话:
最优难度对每个玩家都不一样,对同一个玩家在不同时刻也不一样。
最好的难度调整是让玩家自己在调,只是他不一定知道自己在调。
先戳破一件事:平均通过率 50% 不是目标
不少团队把"平均通过率 50%"当难度的基准线。这个数字谁先定的已经说不清了,它不是什么工业标准,更像是方便往汇报表里填的一个数字。
问题出在它是一个平均数。背后可以藏两种完全不一样的分布。一种是大多数玩家的通过率都落在中间带里,真正踩在心流上;另一种是两头翘,大半玩家轻松过、少部分玩家卡死弃坑,算出来的平均值也差不多。同一个 50%,前者是健康,后者是灾难。看后台那张通过率表看不出区别。
更麻烦的是,它还是一个滞后指标。一关上线几天甚至一周你才能看清它的分布,但新玩家在这段时间里已经被流失了。等你再做热更推下去,这一批人大都已经走了。
所以难度设计要放弃的第一个执念就是"把平均通过率调到 50% 就对了"。
要盯的是两件事:分布的形状,卡死玩家的长尾有多长;玩家卡关之后会不会回来。后者才是真正拴住留存的那根绳,通过率本身只是个表面信号。
休闲赛道里 DDA 的三种常见手法
把"动态难度调整"(Dynamic Difficulty Adjustment,DDA)这个词拆开看,其实就是一件事:根据这个玩家的当前状态,把这一局或这一关悄悄调得更适合他。
休闲品类里常见的手法有三种,背后的逻辑不太一样。
手法一:局内资源分布调节
三消和方块类用得最多。表面上看每局的糖果/方块是随机生成的,实际上生成算法会参考玩家的当前状态:还剩几步、离目标还差多少、这一关已经重试了几次。
业界普遍认为 Candy Crush 这种规模的三消早就不是纯随机生成;Block Blast 这类方块游戏大概率类似。玩家连续消不掉的时候,小块的出现概率会悄悄抬高一点,帮你清出一点空间;玩家连爆的时候,下一波掉的方块也会朝着更难连锁的方向偏一点,让爽感不至于持续太久。具体怎么调、调多少,策划间的文档我们进不去,只能从结果反推。
这套手法的好处是玩家感知不到。他不会意识到系统在放水或者在为难他,只会觉得"今天手感挺顺"或者"今天运气不行"。坏处是动作做大了会让老玩家觉得游戏"不公平",尤其是一部分钻研概率的玩家,一旦察觉就很难再骗回来。
手法二:段间兜底(rubber banding)
Royal Match、Gardenscapes 这类"关卡+剧情"游戏用得最多。玩家在同一关连续失败几次之后,下一次的关卡难度会悄悄下调:道具产出更好一点、目标数量略减一点、初始场上给出一些容易连锁的组合。
这类兜底通常藏在策划表的一个隐藏字段里,挂个听起来中性的名字,比如"关卡波动"或者"动态调整系数"。工程实现不复杂,一个计数器加一段配置就够。真正的难点是兜底兜多深、兜几次之后停。
兜得太浅玩家感觉不到、照样弃坑;兜得太深玩家过得太容易、心流没了、付费动机也没了,反正不花钱也能过。头部产品的兜底带宽不会在公开场合披露,但业内的共识是:兜底是为了让卡住的玩家愿意再打开一次游戏,不是为了让他通关。所以放水的幅度一般只够帮他多活一两关,不会一直帮下去;到了某个点必须收回,让玩家要么付费、要么离场,让数据自己给下一步决策说话。
手法三:社交博彩类的对手池和奖励曲线
Coin Master、MonopolyGO 这类社交博彩类休闲游戏,玩法结构跟三消、方块类完全不一样。核心循环是"转一下老虎机或掷一次骰子,出金币、攻击、盾、抢劫,然后用结果去影响其他玩家"。这类产品的 DDA 战场不在关卡里,在单局产出的概率分布、PvP 的对手池,以及活动的奖励曲线上。
单局的产出从来不是均匀随机。不管是 Coin Master 老虎机的滚轮还是 MonopolyGO 骰子的点数,Moon Active 和 Scopely 都没公开讲过具体怎么做,但前员工在 LinkedIn 的零星分享加上玩家社区多年的观察,有一个大致共识:产出分布会看玩家当前状态,包括他在冲什么活动、金库里积了多少、最近有没有被抢过。方向上是服务留存和付费的:新玩家前期多给点爽感,中期让你不停看到"差一点就能进下一阶段"的感觉,大 R 在关键活动里拿到想要的那类产出的概率会比零氪玩家高。
对手池是另一个战场。社交博彩游戏的 PvP 体验非常依赖"我抢到谁、谁抢到我"。被抢光之后你看到对手的金库里什么都没剩下,挫败感会小很多;反过来你攒了一段时间金币,系统倾向于给你排到"值得一抢"的对手。"复仇"机制本身就是一个被包装成玩法的 DDA,它用"你有机会报回来"这个承诺抵消了被抢当下的流失冲动。
活动奖励是最隐蔽的一层。同一个"狂野周末"或"骰子雨"活动,付费档位不同的玩家拿到旗舰大奖的概率曲线不会一样。从后台看每个人玩的都是同一个活动,手机上看到的推送文案、进度条、倒计时也都一样,但他们实际到手的东西可以差得很远。这不是社交博彩品类独有的做法,是整个 F2P 行业通用的分层思路,这个品类只是把它做得更极致。
DDA 做过头会发生的三件事
做 DDA 最容易犯的错不是"做得不够",是"做得太多"。我见过好几个项目上线自研的动态难度之后,复盘发现核心指标反而掉了。原因通常跑不出下面两类。
一是玩家察觉到被操纵
玩家群体里总有一撮"侦探型"玩家。他们会记录自己的死亡次数和下一关难度的关联、会在论坛对比不同账号拿到的活动奖励、会录视频证明系统在放水或者为难。一旦这群人把帖子发到小红书、TapTap、B 站上,舆论的方向会变得很快。
休闲玩家不是不能接受 DDA,他们不能接受的是"游戏欺骗了我"的感觉。放水被实锤,就变成了"这游戏太假";为难被实锤,就变成了"这游戏在逼氪"。
头部产品的应对方式是:DDA 的调节幅度永远保持在玩家用运气也能解释得通的范围内。只要玩家拿不出统计意义上的证据,舆论事件就起不来。
二是动了不该动的心智
有两类心智是 DDA 特别容易误伤的。
一类是付费心智。休闲游戏的付费很大程度上建立在"我差一点就能过,买个道具就赢"这个微小瞬间。兜底做得太激进,玩家会发现卡几关后系统就自动帮他把难度降下来,他会停止付费,反正免费等一等也能过。这在 Royal Match 这类关卡付费驱动的游戏里是明确的红线。具体的边界每家都不一样,方向上是一致的:兜底要窄,只能帮玩家过得稍微容易一点,不能到让他完全放弃付费的地步。
另一类是社交炫耀。带排行榜和公会玩法的游戏里,如果不同玩家拿到的实际难度不一样,排行榜比拼的就不是技术了,是系统分给谁的那份幸运值。三消类游戏里这种问题不少见,好友榜上有人发现自己过一关花的步数比别人多一截,怀疑就会出现。玩家可以接受难度因人而异,不能接受的是"不同人的同一关成绩不能直接比较"。做 PvP 和社交的休闲游戏,DDA 设计里哪些维度可调、哪些必须跨账号一致是要前置讨论的事,不是做到一半再回头补。
什么时候不要做 DDA
有三种场景,休闲游戏里硬上 DDA 是自找麻烦。
竞技赛季的关卡。 跨玩家比名次、按排名分级结算奖励的模式,所有玩家面对的必须是同一份难度。DDA 上去名次就失真,社区信任度会塌。
玩家成就感的高峰时刻。 章节 Boss、首通奖杯、公会副本的最终关,玩家要的就是"我终于打过了"的那一下。这种时刻系统偷偷放水是反作用,玩家事后发现,会觉得自己的成就被矮化了。这类关卡宁可让难度陡一点、卡一段时间,真的过了才有"我赢了"的那下多巴胺。
核心付费玩家的付费关卡。 大 R 是这类关卡的主要收入来源,他们比普通玩家更愿意砸道具、也更愿意反复尝试。他们需要的是"看上去很难、但道具能解"的精心设计,不是兜底。给他们兜底反而让他们觉得"这关不需要道具也能过",白白损失付费。
回到开场那一把
地铁上那一下愣神之后再想,DDA 其实是一件挺别扭的事。
作为玩家,我希望游戏尊重我、不糊弄我、让我真的靠本事过关。作为研发者,我又很清楚:如果完全不 DDA,留存曲线会更陡、弃坑会更快、付费窗口会更窄。这两个身份的诉求并不完全一致。
休闲游戏做 DDA 这件事,最终不是"要不要做"的问题,是"做到哪一档"的问题。做少了,玩家卡死就走了;做多了,玩家察觉被操纵、付费心智被破坏、社交炫耀失真。中间的那条窄带,没有任何公式能算出来,只能上线一点点试。
所以如果你团队里现在也在讨论这件事,第一步不是打开竞品抄参数,是先把团队里对"难度"这个词的理解对齐:是平均通过率的那种难度,还是每个玩家此刻具体感受到的那种难度。这两个完全不是一回事。后面的工作流,会因为这个前置选择分叉到完全不同的两条路上。
游研记 · 每天拆解一个游戏研发问题。下一篇聊聊,如果要给一款休闲小游戏做 DDA,小团队不想上 AI 系统也不想写一堆策划配置表,最低成本能做到什么程度。