下载 App
物质剑 · 开发者日志07
前天 13:192 浏览综合
按天记录做了什么、为什么这么做、验证到什么程度。 与设计文档的区别: 设计文档写"是什么", 日志写"怎么走到这里的"。
2026-10-13 · 从动作游戏转型为挂机增量游戏 今天是一次品类级转向。项目原本是"俯视角动作游戏, 玩家操控剑群守阵眼"; 今天之后是"挂机增量游戏, 玩家只买东西, 剑自己打"。
一句话概括今天的核心矛盾: 动作游戏的操作面 vs 增量游戏的决策面。 两者不可兼得, 最终选择了后者。
一、美术: 水墨国风重制 起点: 美术文档原为"哈迪斯式暗色霓虹像素风"。 转向: 改为"一念逍遥式水墨写意 + 矿物重彩点染"。
为什么这个转向是对的: 项目的叙事是铸剑人/炉心/浊物/炉域——本来就是仙侠底色, 水墨比霓虹更贴世界观。这不是审美偏好, 是设定与视觉的统一。
核心命题"墨为体, 色为用":
墨 = 世界的"体" → 地形、敌人、剑身、背景、UI 底 彩 = 规则的"用" → 温度、电荷、磁极、灵气、阵眼、警示 水墨讲究"计白当黑、色不碍墨", 而项目红线要求"温度/导电/磁力 0.5~3 秒内一眼可辨"。 两者天然冲突。解法是分工而非折中: 水墨负责呼吸, 重彩负责信息。 画面越安静, 那一点朱砂/石青就越刺眼——这是国画"万绿丛中一点红"的信息学。
落地:
素材 44 张(18 精灵 + 主角 8 帧 + 5 场景背景 + 10 装饰物 + 纸纹 + 通用背景) 渲染层全部霓虹色 → 矿物重彩常量(CINNABAR/AZURITE/MALACHITE/GAMBOGE) HUD 52 处配色对齐(标题石绿、灵气藤黄、买不起朱砂) 踩的坑: 初版 DrawGround 对每个格子都画瓦片, 包括占地图绝大部分的岩石格。 而所有瓦片都是不透明的 → 场景背景图被整层盖死, 所有关卡都看不到背景。 修法: 岩石格不画瓦片, 瓦片只标记特殊地形。 原则: 瓦片标记"特殊", 场景图承担"默认"。
二、平台: 竖屏化 screen_orientation: landscape → portrait 世界 1600×900 → 900×1600(与 9:16 同比例, 相机缩放两向贴合无黑边) 5 个关卡坐标全部重排: 教材区从左右两侧 → 下方左右 相机改为让阵眼落在战场区中心(挂机视角关注中心, 不是整张地图) 几何代价: 世界面积不变, 但横向由 1600 收窄到 900 → 敌人到阵眼的横向距离缩短。 冒烟 bot 存活从 167s 降到 124s。这是几何必然, 不是 bug, 已记录待重调。
三、玩法: 操控剥离(今天最大的决定) 决定: 玩家不能移动、不能操控飞剑。飞剑自动追最近敌人。
为什么: 增量游戏的操作面必须收敛到"买"这一个动作。 本作的规则链(温度/导电/磁性/动量)本来就有涌现属性—— 剑自己飞过去, 撞上什么、经过什么、传导给谁, 由规则决定。 所以"不操控"不是简化, 是把涌现还给规则。
关键实现判断: 自动寻敌放在 Game 层, 不是 Sim 层。 因为它是**“意图”——扮演原来"鼠标"的角色(原来鼠标提供目标点, 现在自动寻敌提供)。 Sim 里的物理规则一行未改**, 守住"规则只写在 Sim.lua"红线。
UI 按参考图重做: 顶部数值栏 / 中间战场(52%) / 下方升级面板(48%)。 战场用 nvgScissor 裁切。
四、系统: 转生(第二层增长循环) 问题: 第一层循环(局内→局外)会撞墙——成长树满级后结晶只进不出, 增长停滞。
转生就是撞墙之后的那扇门:
炉魂 = floor(sqrt(本世累计结晶 / 100)) 结晶倍率 = (1 + 0.10×炉魂) × (1 + 0.20×炉火纯青) 平方根曲线: 收益递减但永不停滞——增量游戏的标准手感。
最关键的设计判断——保留什么、清空什么:
保留(知识) 清空(进度) 炉魂、道基、剑谱、材质解锁、成就、里程碑 结晶、成长树 剑谱是玩家"学会了"的东西——清掉会让转生变成纯惩罚, 没人愿意点。 转生只重置进度, 不重置知识。
三道基: 炉火纯青(+20%结晶/级)、薪火相传(转生保留 N 级成长树)、起手有剑(开局 +N 把)。
五、经济: 自动购买 + 指数价格 发现的断裂: 飞剑全自动了, 但钱还得手动花 → 挂机玩家离开 5 分钟, 灵气一直涨没人花 → 零增长 → 一局白跑。
自动购买不是辅助功能, 是挂机的必需项——增量游戏的引擎是"赚→买→赚更快", 缺了"买"这一环, 引擎不转。 策略: 买买得起的最贵的剑(买便宜的会推高剑数→推高价格→反而拖慢买好剑)。
指数价格曲线:
旧: 价格 = 基础 × (1 + 0.08 × 剑数) 线性, 50 把只涨 5 倍 新: 价格 = 基础 × 1.08^剑数 指数 调参记录(全自动一局, 同种子):
growth 存活 峰值剑数 结果 1.15 133s 12 败 1.12 148s 15 败 1.10 132s 13 败 1.08 195s 22 败 1.06 299s 41 胜 选 1.08: 标准指数曲线, 又能让玩家看到 20+ 把的组合乐趣。
已知冲突(待决): “剑数上限 50"与"指数曲线"矛盾——50 把需要数千灵气, 远超单局产出(~500~1600)。 当前保留 50 上限, 接受"单局到 20 把左右”。理由: 这正是增量游戏第一局该有的样子—— 第一局打不到顶, 靠转生变强后再来。
六、两个 bug 与一次架构反思 Bug 1: 场景背景被盖死(见 §一)。纯渲染层级问题, 一行修复。
Bug 2: 剑永久静止——这个更有意思。
现象: 挂机后画面里出现永久静止的剑。 根因: 剑飞行耗灵性(100 ÷ 8.5/s ≈ 12 秒耗尽), 落地后必须回到玩家/阵眼/本命剑附近才能复活。 但挂机模式下玩家不动、剑又飞得远 → 回不来, 永久静止。
第一次修复(打补丁): 落地自动回灵 + 休息阈值。存活 136s → 266s, 静止剑归零。
但这是错的。补丁只是让画面好看, 掩盖了真正的问题: 灵性是一个依赖玩家操控的机制。它的设计意图是"玩家主动回收剑"。 挂机下玩家不操控剑, 回收不可能发生, 于是它只剩摩擦、没有能动性。
第二次修复(删除): 整个灵性系统移除。
项 变化 剑属性 删除 spirit / maxSpirit 飞行消耗 / 落地静止 / 回收复活 全部删除 雷击扣灵性 删除(仍扣耐久) 速度上限 固定 maxSpeed × 0.6 保留: 剑仍会因耐久耗尽损坏(烧毁/撞碎/雷击/熔化)。 “剑是消耗品"的张力没变——变的是: 剑不再"累”, 只会"坏"。
存活 263s → 287s。
教训: 当一个机制依赖"玩家会主动做某事"时, 先问——在这个品类里, 玩家还会做那件事吗? 不会的话, 机制不是要"优化", 是要"删掉"。
七、今天的数字 项 值 素材 44 张 世界 900×1600(竖版) 价格曲线 基础 × 1.08^剑数 转生公式 floor(sqrt(本世结晶 / 100)) 挂机存活 136s → 287s(三轮优化累计) 文档改动 12 份同步(总策划/数值/开发/技术/叙事/测试/美术/UIUX/README…) 冒烟测试 主冒烟 / 转生 / 关卡 / 精灵 —— 4 项全绿 八、明天待办(按优先级)
项 为什么
1 剑损毁率过高 sword_destroy:150 > enemy_die:144, 剑群在被自己消耗。建议降低剑-剑伤害 2 真机验证 沙箱无 GPU, 所有画面均未肉眼确认。战场比例/按钮手感/挂机观感全部待验 3 剑数上限与指数曲线的冲突 50 上限 vs 指数曲线, 需决策(下调上限 / 提产出 / 接受) 4 结晶/炉魂货币合并 三层货币偏多, 可收成经典两层 5 无尽模式 挂机的长期形态; 当前 5 分钟封顶#聚光灯gamejam开发者日志













