下载 App
开发者日志 04
修改于昨天 19:308 浏览
开发者日志

04:一整个子系统,从来没上过线
按官方要求的三段结构写:本期进展 / 问题与风险 / 下期计划。 配图:日志配图-地形平铺验证.png


本期进展
一、一整个子系统,从来没上过线
这周最值得写的一件事,是我发现「地形」这个子系统从来没有在任何关卡里出现过。
起因很小。26 号关卡「泥沼陷骑」是设计里的怨气机制教学关,文档写着「泥沼中处决 → 8 米内 +3 怨气,怨气约第 12 刻越过 12」。
但实测时,怨气最高只到 8。阈值是 12。反噬一次都没触发。
我去查为什么。
第一层:8 次处决里,只有 1 次发生在泥沼内。 第二层:那 1 次,是玩家打出的地形卡造成的。 第三层:26 号关卡的 terrain.loads = 0。 第四层:terrain.lua 里定义了 13 种地形模板,而唯一调用它们的地方,是卡牌系统。关卡定义的地形,没有部署路径。
也就是说:13 种地形,在任何一关里都不会出现。
而它不报错、不产生日志、也不在任何「未实现清单」里。它只是不存在。
我把这一类失败叫「静默失效」——它和前几周遇到的「写了被覆盖」「接线了但几何不可达」是同一族。共同点是:它们都不报错。
二、把它接上,用了三步
第一步:给关卡加地形数据。 levels.lua 里原本没有 terrain 字段——不是"没接线",是连能放数据的字段都没有。加上之后,21 个战斗节点各写了 1–3 块地形(共 1131 个 4×4 米的区块)。
第二步:修坐标。 这一步行内人最容易写错,我踩了三个坑(见下)。
第三步:验证。 逐节点测「地形开 − 地形关」的敌溃差值,得到 21 个节点的地形影响表。
结果:21/21 节点都有地形了,影响分布是 14 个帮玩家 / 6 个帮敌方 / 1 个中性。
三、修坐标踩的三个坑
坑 1:x 是左边界,不是中心。 我按「中心坐标」写了 21 个节点的地形位置,全错。Terrain:add(tpl, x, z, w, d) 里 x 是左下角——所以 x=40, w=24 实际覆盖的是 [40, 64],不是我以为的 [28, 52]。
讽刺的是,它一直"看起来有效"——因为恰好盖住了敌方那一侧。而那个"有效"是巧合。
坑 2:坐标会被对齐到 4 的倍数。 x=43 实际生效在 x=40。差 3,在 60 米宽的战场上是 5%——而我实测过「差 4 → 效果差 2 倍」。所以坐标必须预先取 4 的倍数。
坑 3:越界不 clamp、不报错,直接静默丢弃。 z=30, d=20 在 36 米高的战场上,z+d=50 越界 14——而那 14 米"区块"会被创建,但永远访问不到。它占内存,不生效。
四、一个意外的发现:地形是中性的
我原本以为「放地形 = 帮玩家」。实测后发现不是。
最典型的一对:节点 22 和 节点 25 用的是同一套地形(滩头 + 堰坝),而结果符号相反——
| 节点 | 地形 | 敌溃差值 |
|---|---|---|
| 22 堰坝争夺 | 滩头 + 堰坝 | −0.53(帮敌方) |
| 25 三幢前驱 | 滩头 + 堰坝 | +0.65(帮玩家) |
原因:堰坝是「坝顶 +3 士气/刻」——而谁站在上面,谁就更稳。地形是中性的,效果取决于谁站在上面、站多久。
所以「地形设计」不能靠推理,只能逐节点实测。
五、美术:72 张素材全部接入,而玩法一行没改
这周的另一半工作是美术。风格定的是「宣纸上的墨,朱砂点的火」——一张长卷,人是墨点,旗是朱砂,地是纸。
素材最终是 72 张:20 个兵种精灵 · 8 张地形 · 18 张 UI 底材 · 12 张卡面 · 8 个 HUD 图标 · 6 张界面视觉稿。
而接入时的验收判据只有一条:
接素材不该改变任何战斗数值。
所以接完后我跑了一遍 21 个节点 × 5 种策略的完整对照——5 种策略的达成率全部一致,逐节点逐字段一致。
(中途还真的踩到过:为了测按钮状态,我在测试里注入了两个按键,结果 ai 策略从 20/21 掉到 18/21。立刻回退,改成不碰游戏状态的绘制探针。那条判据救了这一版。)


问题与风险
① 焦土地形偏黑。 8 张地形里 7 张可用,而「焚林/焦土」那张近纯黑——在战场上像一个洞,违反了「低对比,不能比兵更抢眼」的原则。要重做。
② 营帐和商店两个界面还是纯色块。 一次通关里会出现 6 次(3 营帐 + 3 商店),而它们是唯一两个没有素材的界面。风险不在"难看",而在它会让玩家觉得游戏没做完。
③ 字体不能上传。 这是今天新发现的限制:制造环境不接受 .ttf 上传。而「中国书法的感觉」是我这一版最想要的视觉特征之一。
退路:改用排版做书法感——竖排标题、字号极端对比、计白当黑,以及一个朱砂印章(48×48 的朱砂方块,四角略不齐)。中国书画的辨识度,一半来自字,一半来自印——而那个印不需要字体。
④ 一役 30 场,而军械只有 8 件。 这意味着第 5 件之后就没有新军械了,后 25 场只剩卡组在变。那是内容量问题,这一版来不及补,先如实记录。


下期计划
这一版的最后两天,只做三件事:
- 补营帐与商店界面——用现有素材拼(地形底图 + 深色面板 + 浅色选项面板 + 3 个 HUD 图标),零新素材。
- 地图节点从"文字"改成"形状 + 图标"——6 种节点(普通/精英/Boss/事件/商店/营帐)各给一种形状与一个图标,也全部用现有素材。
- 书法感排版落地 + 战鼓卡面的缩放修正(等比,不拉伸)。
然后投稿。


一句话
这周学到的最大一件事是:
「定义而不存在」比「写错了」更难发现 —— 因为写错了会报错,而不存在不会。
地形 13 种、关键卡 10 张、军械 45 件、结构物木栅——我这两周一共找出 6 处这样的缺口。而它们全都不报错。#聚光灯gamejam开发者日志










