下载 App
【开发日志 #2】bug修复
修改于昨天 09:4030 浏览 包含 AI 合成内容
背景大小适配还没做好啊
《轮回:黑潮涌现》(暂定名)· TapTap 聚光灯 GameJam
一个动作 Roguelike。至于它特别在哪,我想留到你能亲手玩到的时候。
单人开发,开发周期不长,我会尽量保持更新。 欢迎在评论区告诉我你的想法。
日志 #2 ·
【本期进展】
这一篇本来要接上一篇的预告,聊"为什么第一天就推翻了美术方向"发生了一件更值得写的事 ——
我推翻了一个已经做了好几天的核心机制。
不是修,是推翻重做。原因下面说。
先说做完的:
- 重做了一个核心系统:数据告诉我原来那个方向是错的,留着只会越走越偏。
- 第一批怪物美术:之前敌人是代码画出来的几何形状,能区分但很丑。 这批换了有辨识度的形象,四种怪能一眼分清楚。
- 地形系统:地上开始有"需要你注意"的东西了。原则是看得见、有预兆、能预判 —— 绝不做什么"踩上去莫名其妙掉血"的设计。
- 打击手感第二轮:震动、顿帧、受击反馈都重调过一遍。
- UI 的入场表现:之前所有界面都是"啪"地跳出来,现在有了节奏。
【问题与风险】
这一节是这篇的重点。我这两天最大的收获,是发现了一类特别难查的 bug。
先说结论:我把一个核心机制做错了方向,而它一直没报错。
改完之后游戏能跑、画面正常、操作正常,日志里也没有任何异常关键词。 唯一的问题是 —— 它什么都不发生。
左边那一列数字是我的敌人数量。三个阶段分别是 10.89 → 0.00 → 5.15。
中间那个 0 就是问题。但请注意:它是 0 的时候,游戏并没有崩。 没有报错、没有卡死、没有黑屏。它只是安静地什么都不做。
我先怀疑了四个地方 —— 地图生成、刷新时序、对象初始化、渲染层,全都不对。 最后起作用的是一个很笨的办法:把改动前后的运行日志都聚合出来,逐列对比。
数字自己指出了问题出在哪一步改动上。
教训是:报错会说谎,因为它可以不出声。
从那以后我给流程加了一条:每次改完,不只看"有没有报错", 还要看几个关键计数有没有变。计数不会说谎。
同一类问题这两天我一共踩了三次,值得记一下它们长什么样:
- 某个更新函数被挪进了一个新分支,但主流程里漏了同一句 → 整个玩法消失,但不报错
- 我改了一个查询函数的含义,但外面两个用它的判断条件没跟着改 → 两个功能同时变得"方向相反地"不对
- 在一个函数里用了另一个函数才有的变量名 → 每次命中都抛异常,整局崩掉重开
第 2 个最有意思:同一个条件,改动前是"永远不成立",改动后是"天天成立"。 两次都不报错,但表现完全相反 —— 一次是"功能从来不出现",一次是"功能一直在刷屏"。
所以现在除了改代码,我还在改我的检查工具。 每踩一次坑,就给静态检查加一条规则,让同一个坑不能踩第二次。 到现在为止这套检查有 5 条,每一条都对应一个我真实踩过的坑 —— 它不是设计出来的,是被 bug 打出来的。
风险:时间。 推翻重做花掉的时间是实打实的,而单人参赛没有备用人力。 我现在的应对是把"验证"变成硬性流程:改完必须跑数据, 数字不达标就不往下走。这既是质量保证,也是防止我在错误方向上越走越远。
【下期计划】
- 把新方向的系统打磨到"手感对"
- 补上场景里的互动内容
- 验证一件事:新玩家打开 1 分钟内,能不能明白自己要干什么







![[队长的开发日志#1]数媒生没有假期...截图](https://img2-tc.tapimg.com/moment/etag/Fo_7Cl9TWATLL__MaKFi6H711bVf_20261005001055.png/_tap_ugc_m.jpg)





