猎魔高手:三天 126 间房,一款类银河恶魔城是怎么被数据和真机反馈捏出来的
封面编号 18。灰猫戴上尖帽提着短枪闯进不睡觉的古堡,跳、射、瞬移,拿到新能力回头开新路,打到天亮。这一篇不讲弯路段子,讲做一款动作探索游戏的方法:核心循环怎么改了三次、地图怎么翻两倍、难度怎么用机器人算、关注有礼三天涨了一万六千粉之后发现了什么。
2026 年 10 月 21 日中午,Eric 发来一张草图:竖屏分三段,上面是游戏画面,中间一条黑色的格子地图,下面是方向键和三个圆键。配文一句:Kaos 化身猎魔人,去征讨魔王喵库拉。三天后这款游戏提审,126 间房、四个房主加一个隐藏房主、两种结局。中间经过了 21 个版本。
这篇按 Eric 的要求不走工坊博客的老格式。他要的是「从做一款动作探索游戏的经验上总结,产品和技术都要,有数据,有逻辑」。所以下面是这三天里真正站住的东西,每一条都带数字,每一条都写清楚是被什么打回来之后才站住的。
一、产品:核心循环改了三次
1. 从「一碰就死」到血条,中间隔着一个护盾
立项那天定的规则很硬:一碰就死,秒复活,瞬移全程无敌能穿过敌人。这是 Celeste 那一路的爽点,录视频全是擦身而过。
第一版做完,我跑了九种组合的机器人:三档手速(完美、普通、手残)乘以三档护盾(无、抗一次、抗两次)。普通档是反应 0.2 秒、一成漏躲;手残档反应 0.3 秒、两成五漏躲。
| 组合 | 主线总死亡(20 局) | 通关 |
|---|---|---|
| 普通 · 无护盾 | 162 | 20/20 |
| 普通 · 抗一次 | 29 | 20/20 |
| 普通 · 抗两次 | 7 | 20/20 |
| 手残 · 无护盾 | 1105 | 12/20 |
| 手残 · 抗一次 | 190 | 20/20 |
| 手残 · 抗两次 | 62 | 19/20 |
抗一次把死亡压掉八成,抗两次只对手残有意义。于是护盾定为抗一次,第一区就能用两颗月光石换到。
第二天 Eric 真机打了一圈,提了一条:给人物加等级和血条,打小怪才有正反馈。我当时的顾虑是血条会把「一碰就死」的紧张感冲掉,而且刺和水这类机关怎么算。最后定了两套规则:敌人和房主的攻击扣血格;刺、水、落石这些机关不走血条,碰到扣一格并立刻回到本房间最后一个安全落点,不算死。这是空洞骑士的做法,机关还是不能碰,但不再一碰全盘重来。等级只管血上限,每升一级加一格,不加攻击。
改成血条之后机器人重跑,普通档无护盾每局死 0.75 次,手残档 20 局全通。目标是「普通档死一次左右」,达标。
2. 地图翻了两倍,每次翻倍都靠同一套校验
| 版本 | 房间数 | 机器人主线用时 |
|---|---|---|
| 第一天晚上 | 37 间(四区 + 隐藏区) | 350 秒 |
| 第二天中午 v1.6 | 67 间 | 587 秒 |
| 第二天晚上 v1.8 | 126 间(七区) | 956 秒 |
Eric 的原话是「我现在随便逛逛就打到喵库拉了」,然后是「地图可以再翻一倍么?哈哈」。
能翻得这么快,靠的不是手快,是房间数据全是纯数据加一套加载时校验。每间房读进来时要过九道检查,违反直接报错:蜡烛左右三格没有敌人活动范围、入口三格内无敌人、出口两边互通、裂墙至少有一面能被平射或抬枪打到、水池两岸不低于水面、拾取点周围三格安全、高处靶子正下方有站位能一枪打中、非解谜房至少两只怪、门类贴图底边贴地。这九条里有六条是 Eric 真机截图打回来之后加的。比如「水面高过岸边」那张截图,一条校验加上去,全图只查出三间违反,改完就不会再犯。
第二次翻倍加的新区「墓园」:迷雾只看得见周围六格,提灯鬼飘过时照亮一片。
新房间分三类,比例固定:跳跃房三、解谜房二、岔路房一。机关从六种加到八种:靶子开关、顺序靶、消失平台、钟摆平台、踏板门、暗房、传送门对、重力翻转区。第二次翻倍时加了两个没有房主的新区,墓园有迷雾,屋顶有斜瓦和落雷,各带两种新敌人和一首新曲子。
屋顶:雨幕、斜瓦往低处滑、天上闪一下 0.6 秒后雷劈在你刚才站的地方。
3. 房主:真血量、弱点倍伤、顺序倒挂
房主最早设计成没有血条,只有弱点亮着的那一秒打中才算。Eric 真机打了半天过不了二段,反馈是「血量真高」。实际上是子弹打身体不计数,窗口又只有一秒。先把窗口拉长,再把「只有弱点才算」整个推翻:房主有真血量,每枪都掉,弱点亮时伤害三倍,变成「打得快」的奖励而不是唯一途径。
Eric 又补了一句:血条就是血条,红色的,连续的,别分格。
然后用机器人给五个房主算难度。难度指数定义成「每秒威胁数 × 操作成本」,威胁是敌人身体或子弹进到猫判定盒附近的次数,操作成本是跳、瞬移、换向、开枪各自加权。第一次算出来顺序是倒挂的:
| 房主 | 初版难度 | 终版难度 |
|---|---|---|
| 大蝙蝠(第一个) | 8.3 | 8.3 |
| 盔甲猫(第二个) | 29.4 | 17.7 |
| 石像鬼(第三个) | 11.4 | 20.6 |
| 喵库拉(最终) | 22.5 | 22.5 |
第二个房主最难,第三个是软柿子。调了三轮。有意思的是前两轮几乎没动:盔甲猫冲锋预告拉长 0.2 秒、晕眩拉长一秒,难度只从 29.4 降到 27.9。原因是每个弱点窗口最多吃 3 点伤害,窗口再长也打不进更多。把上限放到 7,难度才掉到 17.7。石像鬼加一颗石块直接冲到 32,第三颗石块落在猫身前把躲的路堵死了,退回两颗加飞行速度乘 1.3,落在 20.6。
第十五轮终版对比:五个房主的顺序终于顺了。
4. 看得见的因果
靶子开关最早就是「打中靶子门开」。Eric 真机的反馈是靶子闪烁太高频、两种状态分不清、不好打。改成四样:靶子和它控制的门之间画一条暗的符文链,打中后链子从靶子一路亮到门再开门;定时门的链子逐段熄灭,熄到门那端门落下,不写数字也知道剩多少时间;顺序靶改成风铃,进房门先自己叮一遍旋律,玩家照着打;靶子画成锁眼,和门上的锁同一个图形。再加一条校验:高处的靶子必须在正下方站着抬枪一枪能中。
这一条后来成了我对机关的通用标准:玩家做的每个动作,画面上要能看见它引起了什么。
5. 关注有礼:三天一万六千粉,然后呢
小红书官方接口支持在游戏里引导关注作者。设计上我和 Eric 定了三件事:礼物要是「只有粉丝才有的稀罕物」而不是任务奖励,给的是全游戏最强的武器月光弹加一件全程看得见的月白披风,都标「粉丝限定」;三个触点全部不阻塞,进游戏静默查一次(老粉直接发礼,文案只说「你是粉丝。这两样,只给粉丝。」),第一个房主打赢后问一次,最终房主门口再问一次,两次「下次」之后只留装备页里一个暗格入口;取关不收回。
10 月 22 日九款游戏一起加了这个功能,23 日生效。结果:
| 指标 | 数字 |
|---|---|
| 三天净涨粉 | 16,449 |
| 粉丝总数 | 约 1,590 → 约 18,500 |
| 粉丝来源「其他来源」占比 | 86% |
| 每天取关率 | 11% 到 13% |
| 新笔记曝光变化 | 没有 |
前三行是好消息,后两行是账单。每天一成多的人领完礼物就取关,一万八千粉也没有抬高新笔记的分发。这说明关注有礼换来的是「领奖励的人」,不是「看内容的人」。下一步要盯的是取关率往哪走,以及平台会不会把这判成利诱关注。
顺带一个数据:猎魔高手做了三集流程攻略视频,观看 3,764、4,552、572,每千次观看涨粉 1.3,是全号最低档;游戏本身 1,710 个玩家,等于观看数的 19%。攻略是服务已经在玩的人的内容,不拉新。
二、技术:让机器人替真人先死几千次
1. 纯数据核心和三档机器人
游戏逻辑全部写在一个不碰画面的核心里,Node 里能直接跑。机器人从第一个房间就在跑:50 局从入口到出口,平均 6.6 秒,平均死 0.48 次。后来机器人越跑越完美,全程 0.05 次死亡,平衡看不出来,才加了普通档和手残档。
机器人还负责找真 bug。第二次翻倍后跑 100% 探索路线,发现老树那间房只能往下走,拿到二段跳也回不了林口,一颗月光石永远拿不到,「月光石」成就永远差一颗。之前的检查只查「从房间里出发能不能捡到」,没查回程。
九种组合的总死亡:护盾抗一次就把曲线压平了。
2. 「不许从看不见的地方打到人」
视口有限,玩家看到威胁比机器人晚。我加了一个口径叫「反应窗口」:威胁物进入视口到碰到猫的时间。统计下来从画外发起的攻击一局有 645 次。改法是普通敌人进视口才开始追和开火,壁炮画外不开火,落石滴酸的预告在视口内才计时,房主的预告必须在视口内播完才出招。改完画外攻击降到 22 次,剩下全是钟声且从没碰到过猫;普通威胁最小反应窗口都过了 0.45 秒。难度持平略降,手残档无护盾通关从 16 局升到 19 局。
3. 镜头拉近,又退回去
Eric 真机说 Kaos 太小。我把视口从 320×288 缩到 256×230,等于镜头拉近 1.25 倍,碰撞和关卡一个数字不动。做完 Eric 说「稍微有点不太舒服」,问能不能把 Kaos 调大。
这里我之前有句话说反了。我以为「画面比碰撞盒大」会让玩家冤,实际上画面比判定大是宽松,看着碰到了却没死,开门有诈早就这么做。真正不能做的是判定比画面大。于是视口退回 320×288,Kaos 和普通敌人画 1.25 倍,房主 1.15 倍,碰撞盒不动。机器人结果和之前一模一样,说明放大没碰到任何判定。Eric 的直觉对了,我的数据只证明了「两种都不会出 bug」。
4. 美术管线:先出方向板,别让 AI 重画猫
美术全部交给 ChatGPT 画,但顺序有讲究。先出三张方向板让 Eric 挑:A 偏刨根问底的克制蓝灰,B 偏宠物大师的暖色绘本,C 两者之间加一束月光。Eric 选了 C 的质感,角色要 A 那种从背景里跳出来的清楚。
三张方向板。定稿是 C:深蓝夜色加月光,之后所有场景和卡面都照它当参考。
Kaos 本身画歪了。AI 画的总表身子圆鼓鼓、帽子小、描边细,和定妆的方块猫不是一只。我让它当美术指导,把定妆、刨根问底那套 16 帧、失败的总表一起给它,问怎么做最稳。它自己的回答是:身体已经定稿就不该再让它画,提示词写「逐像素照抄」它也做不到,差一两个像素就不是那只猫。于是身体直接用刨根问底的 16 帧,AI 只画三层叠加物:尖帽、短枪、披风。代码叠上去。
左:刨根问底原帧;中:原身体加 AI 画的装备;右:AI 整帧重画。右边又画歪了。
卡面 24 张走的是另一套标准。Eric 要中世纪哥特艺术感和帅气,恶魔城那种美学。先出三张定风格,过了再铺,24 张里 22 张一次通过,重出的两张是把帽子画成了宽檐巫师帽。
24 张成就和兑换卡面。Kaos 占画面宽度五分之一,房主占三分之一以上。
5. 三条界面规矩
弹框只盖游戏区和地图区,不盖操作区。 玩家的手一直在键盘位置,全屏弹框一出来就被误触。卡图按可用高度等比缩小,操作区照常显示但弹框期间输入忽略。
三种手机宽度下,弹框都停在操作区上方。
房间切换用 0.25 秒快黑幕,不用平移。 我原本坚持平移是类型标配,提议做两版对比。Eric 说「就做 B,我相信我的直觉」。做完看录像,黑幕确实干净。
面板高度固定。 四个标签切来切去面板忽高忽低,改成取最高的那页定死,内容少的留空,内容多的在面板内滚动。
六页面板同一个高度。
6. 黑暗、提灯和房主提示
后期两处小改,数字都很具体。墓园迷雾和暗房原来有 6% 的透明度能透出地图,改成全黑;提灯的视野从两倍改到三倍,暗房里亮心半径 150 像素,比点亮一支蜡烛还大,提灯才真的值四颗月光石。
左:没提灯;右:戴提灯。
房主战里 12 秒内丢三格血或者血量低于三分之一,灰猫会冒一句气泡提示打法,一次挑战只提一次。这是 Eric 说「找不到喵库拉的套路」之后加的,在角色口吻之内,不算引导文字。
气泡只出现 2.6 秒。
三、一张表看三天
| 项 | 数字 |
|---|---|
| 版本 | 21 |
| 房间 | 126 间七区,另有隐藏区 6 间 |
| 房主 | 4 个加隐藏房主红猫 |
| 机关种类 | 8 |
| 加载时校验 | 9 条 |
| 月光石 | 48 颗,兑换 14 样 |
| 卡面插画 | 24 张加两张粉丝限定 |
| BGM | 6 首,全部来自 opengameart |
| 机器人主线用时 | 956 秒 |
| 普通档无护盾每局死亡 | 0.5 到 0.85 |
| 真人主线 | 约 3 小时 |
四、三条反思
机器人太完美,平衡数据一半是假的。 完美档全程 0.05 次死亡,任何改动它都看不出。普通档和手残档是把完美档的躲闪推迟和漏掉,不会像人一样学习、换打法、离危险远一点。所以报告里的「死循环」一列偏悲观,「每局死 1 次」也只是相对值。真人数据回来之前,这套只能保证顺序对,保证不了绝对难度。
我自己都找不到挂饰在哪。 做蜡烛选单那轮,我把装备页里的挂饰块删了,只留在蜡烛旁长按才能打开的选单里。Eric 兑换了提灯以后在装备页找不到,截图问我是不是 bug。不是 bug,是入口藏得连设计它的人都忘了。现在挂饰随时随地能换。
关注有礼的账要算到取关为止。 三天一万六千粉很好看,但每天一成多的取关和没有变化的笔记曝光说明这批粉丝是冲礼物来的。下一款游戏要换个算法看效率:新增关注除以新增玩家,再盯着取关率。礼物如果换成持续型的,取关也许会降,这是下一个实验。
不过话说回来,它已经把最重要的事做对了:每一条规则都能被机器人验证,每一次真机反馈都能在一天内变成一条校验。
古堡的钟一百年没响了。去让它响一次。