下载 App

开发日志07:收工

修改于10 小时前2 浏览综合 包含 AI 合成内容
上一篇结尾说,下一步优先级最高的是完整通关一次。
所以这一篇记录的是另一件事:把游戏做成一个能交到玩家手里的东西。
horizontal linehorizontal line

一、从「能玩」到「能交」

自己跑起来能玩,和平台愿意收,是两件完全不同的事。
第一轮梳理下来,挡在门口的是两件事:
一是包体。 我们原来是 Tauri 打包的裸 exe,四十MB。但 Tauri 在 Windows 上完全依赖系统的 WebView2 运行时——玩家机器上没装,双击 exe 就是「什么都没发生」。最糟的失败方式不是报错,是没反应。
照平台规则,可以把安装器放进游戏目录、在后台登记「运行依赖」。但那样玩家装游戏时还得联网装一次运行时。
我们选了另一条:把固定版运行时直接内嵌进包。
代价很直白——包从 41.9 MB 变成 262 MB。
换来的是:解压、双击、进游戏,不联网,不装任何东西。哪怕是一台从没联网的干净机器。
现在包里只剩两个可执行文件:游戏本体,和渲染依赖本身。没有安装器,没有启动器,没有别的程序。
二是图标。 这张图后来换过一次。第一版是我们用游戏里真实的模块贴图拼的——绝对和实机一致,但拼出来像一张零件全家福,不像图标。最后一版换成了现在这张:中间一枚青绿色晶核,四条机械臂从四角环抱过来。
TapTap
horizontal linehorizontal line

二、两个「看起来不像 bug 的 bug」

这一批修的问题里,有两个特别值得写下来。

第一个:WASD 移动键失灵

玩家反馈「电脑端 WASD 按了没反应」。
我们第一反应是查键盘绑定——结果绑定完全正常,按下 d,坐标就从 640 变成 703。
真正的问题是:区域装配台打开后会冻结战局,而保存按钮点完不会自动关闭面板。
于是玩家点完「保存机库」,以为流程结束了,回到画面按 WASD——世界是冻结的,当然不动。
根因还藏了一层:保存按钮在页面加载时就绑定了保存函数,而我们后来给保存函数加了一层包装(投放携带件、关闭面板、恢复战局),但那层包装没有重新绑到按钮上。按钮始终在执行最早那个版本。
我们最后把按钮改成「保存并开始 · 区域 3」,保存后自动关闭面板、恢复战局。

第二个:分配经验值无效

玩家反馈「组件和核心升级点了没反应」。
这个更离谱:升级弹窗本身要求暂停,而升级函数又拒绝在暂停时执行。
打开弹窗 → 冻结战局(暂停)
点升级   → 升级函数:if (暂停) 返回「不是运行状态」
界面和规则互相打架,结果就是永远升不了级。
更糟的是失败提示:它写进了屏幕下方那行结构日志,而那行字在界面改版时已经被隐藏了。所以玩家看到的确实是「什么都没发生」——连一句「为什么不行」都没有。
于是把「是否允许升级」的判定,从「有没有暂停」改成了「升级弹窗是不是真的开着,而且是升级模式」。用弹窗自身的状态判断,而不是另存一个布尔开关——弹窗一关,判定自动失效,不会留下「暂停状态下也能升级」的漏洞。
TapTap
horizontal linehorizontal line

三、换舱为什么会卡

这是这一批里最花时间的一个。
现象很简单:从舱室走到舱室,会明显顿一下,有时候半秒。
按老办法猜,第一反应是「换舱时在加载场景」。实测打脸——换舱逻辑本身只要 0.4 到 2.2 毫秒。
真正的办法只有一个:用 CPU 模拟手机降速,然后录性能火焰图。
结果很清楚:热点不在换舱,在寻路。
具体是这样:每个敌人往玩家走,都要算一条绕开障碍的路径。算出来的路径会缓存起来复用——但缓存的键里,除了房间和障碍,还包含了一个「角度桶」(按 5 度一档)。
问题在于,敌人每个 tick 大约转 4 度。
所以几乎每个 tick 都换桶,几乎每个 tick 都重新算一遍路径。
换舱那一刻,四个敌人同时第一次寻路,叠加起来就是一帧一百多毫秒——画面直接定住。
改法是把缓存的键从「角度桶 + 布局」换成「房间 + 障碍 + 模块布局」,不含角度。安全性没有降低,因为每次调用仍然会用当帧的精确几何校验路径第一段,角度变化导致原路不通会被立刻拦下重算。
同时给「每 tick 最多规划几条」「每 tick 最多建几张图」都加了预算,超出的那几台先直行,下一帧再算。
结果:同一个战斗舱,从 1.5 秒只渲染 14 帧,变成 121 帧。
顺带还清了几个每帧热点:音效每次播放都新建一个音频对象(改成对象池)、伤害数字每帧重新排版并带模糊阴影(改成预渲染位图)、角色标签每帧重设字体。
horizontal linehorizontal line

四、手机端:那些一眼看不出、但一看就错的地方

房间小图的连通关系

电脑端的小图里,相邻舱室之间有线。手机版原来把整个连线层隐藏了——因为那层用的是贴图,缩到 150 像素宽后只剩一条几乎看不见的细线。
我们改成在节点之间直接画短横/短竖,已探索是青色实线,未探索是灰色。
这个修复反复了两次。第一次做的短杠「错位严重」——因为伪元素的定位是以内容盒为基准的,而卡片有边框和内边距,算出来的位置插进了卡片里;更糟的是同一条连接被两端各画了一次,两条短杠叠在 7 像素的缝隙里,形成一段双倍亮、两头溢出的长条。
最后改成「从两个节点的中心连一条线,让节点盖住两端」。露出来的正好是缝隙本身,不再依赖任何具体的边框、内边距、间距数值。
TapTap

画面被拉扁

另一类问题更不容易发现:画布的后备分辨率和它在页面上的实际尺寸比例不一致,浏览器就会把画面拉伸。
实测装配台的预览区,横向被拉了 5.5 倍——本来是一台机甲,被拉成一根横条。
原因是面板还没展开时就去量尺寸,量到的是 100%,被兜底逻辑变成了一个固定值;等面板展开,画布已经是错的比例了。
主画面也有 17% 的压扁:弹窗打开时画布尺寸变了,但渲染循环只按「窗口大小有没有变」判断要不要重新量。
两处都改成「盒子真实变化时才重算」,并且量不到尺寸就等下一帧,绝不用兜底值污染画布。

结算页上的按钮

还有一处:核心失效的结算页上,技能卡、核心面板、「雷达」「近景」这些按钮还浮在上面。
原因是滚动这些东西的隐藏规则只认「弹窗打开」和「暂停页」,而结算页的类名不叫这两个,就漏了。这已经是同一类问题第三次出现——现在的规则是把三种页面都列全。
TapTap
horizontal linehorizontal line

五、现在的状态

项现状
地图175 个舱室(主区 140 + 支线 35),20 个区域,7 条支线
Boss20 个(19 个区域 Boss + 终局)
零件6 类,每类 5 级
道具7 种一次性增益
卫星最多 3 只
安装上限默认 12,奖励可抬到 25
玩家核心520 → 978 耐久,脉冲 14 → 22,冷却 12 → 8 tick
敌人核心140 → 252 耐久(成长低于玩家)
Boss 核心五级 1512,终局三核合计 4536
装甲325 耐久
炮台齐射2.4 秒一轮
舱门判定49.4 像素
代码层电脑版 51 个 JS + 18 个 CSS;手游版 52 + 19
PC 上架包262 MB(含内嵌 WebView2 固定版运行时)
安卓包85.4 MB(arm64)
规则回归8 组全绿
TapTap
horizontal linehorizontal line

六、预留的想法

其实我们还有一些预留的想法,一是时间问题;二是我们不想凭自己的判断去猜,因为过去每一次「我觉得玩家会喜欢」都被实机数据推翻过。游戏,要交给玩游戏的人来评定。
于是我们开始提交并收集反馈,这并不意味着「做完了」。
我们已经把能自己发现的问题清了一轮:键盘、升级、卡顿、画面畸变、手机操作、图标、包体。剩下的问题,靠我们自己再跑一千遍也未必能发现——因为它们只在真实的人、真实的机器、真实的习惯下才会出现。
开发日志到这里是第七篇,既是这短暂的开发周期的最后一篇,又不会是这个游戏日志的最后一篇。
00:34
《荒原复苏指南》开发日志④:关卡演示堂堂袭来!!截图
《荒原复苏指南》开发日志④:关卡演示堂堂袭来!!
- 人类曾因掌握元素合成技术而一度辉煌,又因滥用元素能量而逐渐从内里衰败。 - 30世纪80年代。社会文化充斥着激进乐观主义与庞大机械美学,在这里,污染和能源共生,幸福与痛苦并存。官方广播和宣传画里依旧在宣扬“科学将战胜一切”、“元素能量将再造新农田”的口号,而世界主城却已经因为污染过度而濒临崩溃、空间挤压严重。为了寻找新的生存空间与无污染能源,官方启动了“重构拓荒计划”。 - 玩家将作为前线拓展
18 赞
6 回复
开发日志06:双端截图
开发日志06:双端
上一篇结尾说,这一篇讲双端。 先说结论:这不是同一套界面缩两下,是两份东西。 同一套规则、同一批零件、同一批数值。但操作面完全不一样——电脑端有一整块屏幕和一只鼠标,信息可以全摊在边上;手机端只有两个拇指,大部分信息必须收起来,只在需要的时候出现。 一、为什么不做「响应式」 最省事的想法是把电脑端那张设计画布整体缩到手机上。我们确实在电脑端用了这个办法:所有元素画在一块固定大小的画布上,再整体缩放
3 赞
开发日志01:关于「涌现」的考量截图
开发日志01:关于「涌现」的考量
我们是两个人,参加这次聚光灯。游戏叫《碎屑机神:夺骸》。 说实话第一眼看到「涌现」有点懵。这个词太大,什么都能往里装。 讨论了很久,我们决定把它收窄成一句能验证的话:玩家的每个局部操作,会产生他预料不到、但事后能追出原因的整体结果。 这里有两样东西容易混进来,我们也确实花了些时间把它们摘出去。 一个是随机。掷骰子结果也很多样,但那不能叫做涌现,因为玩家复不了盘,只能归结成运气。我们要的结果是可以追
3 赞
【2026聚光灯日志01】什么叫你把手牌,骰子和战棋融合了?截图
【2026聚光灯日志01】什么叫你把手牌,骰子和战棋融合了?
大家好啊,我是官方小编,一位还在学校的独自开发的苦逼带学生 这次算是第二次正式参加GameJam,而这回的比赛主题是【涌现】 嗯…老实说,一开始我还真只是从中文语义上来看,理解成“大量的出现”,直到询问ai哦哦哦我这就才想起来还有英文的“整体大于部分之和”意思来着 说起这个主题的意思,立马想起的类 吸血鬼幸存者 ,或者是 文明 系列的各种爆怪,爆兵的设计,即大量的出现敌人或者单位 而从第二个
4 赞
4 回复
开发日志04:UI界面截图
开发日志04:UI界面
上一篇说平衡,这篇讲界面,苦肝几天,终于像个游戏了。 在这之前,我们的游戏其实一直不太"像游戏"。规则都在,机体能拼、能打、能炸,可界面是一层层往上堆的:最早做一块,后来加一块,再后来为了不挡住前面那块,又把它挪到别处。到最后屏幕左边竖着摞了九块面板,两块技能按钮孤零零悬在中间,谁也不知道它们是干什么的。有人说像调试工具,我觉得挺客气。 这次我们把界面整个推倒重排。 不按功能排,按"你在战斗中会先
3 赞
【童谣镇】聚光灯第二次开发日志截图
【童谣镇】聚光灯第二次开发日志
开发进度: 美术 1、主角人物立绘已细化完成 2、所有NPC的QQ人形象与呼吸动画已设计完成 3、大部分UI界面已设计完成 4、面包房建模与树屋建模以及基础房屋、路灯、树木模型已完成。 5、制作过场动效,制作通用动效材质ing 6、广场资产替换、永续桥和植被的资产替换、房屋资产替换,河流制作 7、学校模型的材质完成 8、石墩子、小道具模型制作ing 9、NPC正比胸像绘制ing 策划 1、任务系统
11 赞
10 回复
00:07
雨天決行 开发者日志02-人工智能的自我修养截图
雨天決行 开发者日志02-人工智能的自我修养
又和大家见面啦!第二篇日志,说实话一开始不知道该怎么编排,但团队里惊喜的成果越来越多,我们已经迫不及待把更新的内容端上来给大家啦!那么事不宜迟,快来看看都有什么新情报吧ദ്ദി˶ー̀֊ー́ )✧ 一.美术(重磅升级) 以主美小为的生命力作为燃料(bushi)本次美术组取得了大进程!首先是各个ui界面的优化和细化,上次大家看到时还只是初具雏形的草稿,现在大多都完整起来了哦! 同时,随着配色的补全,手
43 赞
36 回复
个人试玩体验梯度截图
个人试玩体验梯度
我觉得那个刀光剑影真的是非常的爽啊,并不困难,玩法又很简单,模糊的3d建模,却有着很纯粹的打击反馈感。然后灵涌也太全面了我的天,直接就是随处点化哈哈哈哈。都挺好玩的,科技树没玩懂,所以我就往后排了一下。 #聚光灯作品试玩
2 赞
3 回复
《气味之城》开发日志#1|为什么"涌现"和猫是天作之合截图
《气味之城》开发日志#1|为什么"涌现"和猫是天作之合
大家好,我是一个人报名了 2026 聚光灯 21 天游戏创作挑战 的独立开发者。今年主题公布那一刻我就笑出了声——涌现。因为我已经想做这个游戏很久了: 《气味之城》:你不是猫神,你只是一只猫。 先说一个所有养猫人都懂的事实:你永远无法"教会"一只猫任何它自己不想学会的事。但你家猫可能自己学会了——听见冰箱开门就瞬移到厨房;你心情不好时过来踩奶;凌晨三点准时在你身上练马拉松。没人教过它,这些行为是它
3 赞
6 回复
《卡牌工业》开发日志 01|从“涌现”到产线对打截图
《卡牌工业》开发日志 01|从“涌现”到产线对打
大家好,我们正在用 Godot 做一个暂名《卡牌工业》的游戏。目前已经跑通了最小的生产与战斗循环,也做了两轮迭代。这篇先记录一下:面对“涌现”这个题目,我们讨论过什么,又为什么最后收敛到卡牌和工厂。 第一步:头脑风暴,涌现可以是什么? 刚看到“涌现”这个题目时,我们的想法几乎朝每个方向散开了。塔防、物理搭建、探索、解谜、经济系统、叙事,甚至增量游戏,都能让简单规则在玩家的操作中长出新的结果。再想下
1 回复