下载 App
10/20
#聚光灯gamejam开发者日志06
《灰烬回响》

· 机制扩容与收尾:让残留"活起来",让游戏"能交付"

昨日遗留

Day 5 Boss 战闭环了,但核心机制还有四个明显短板:残留是静态的(玩家只能"等反应")、反应只有伤害型、单局没有分支、升级卡之间没有协同。另外 Boss 技能音效还欠着(脉冲爆发只有视觉没有声音),暂停和音量控制也都没做。这一篇把设计稿落地,再把收尾的体验层补齐。

完成内容

1. 残留生命周期三阶段
残留不再是一个"生下来就一样"的圆,它开始有自己的生命曲线:
阶段时间表现
新生0 ~ 2s(按残留寿命缩放)体积 50%、不造成伤害、不参与任何反应
稳定2 ~ 6s正常大小、正常伤害
衰变最后 2s体积 75%、伤害减半、颜色变暗
  • 新生残留不参与配对是刻意设计:刚死的敌人留下的残留不能立刻被旁边的残留吃出反应,于是玩家多出了"把它挪开、等它长熟"的时间窗
  • 顺手补了一张「速生残留」卡(成熟速度 ×1.8)——3 秒的等待对割草节奏来说太长,得给一条缩短它的路
2. 残留可以被搬动了(4 种手段)
以前残留是钉在地上的,玩家只能"挑位置站桩等它们撞"。现在有四条路把它当棋子推:
手段触发方式效果
风残留推残留自动风残留每帧推动周围的非固定残留漂移
拖曳冲刺升级解锁冲刺穿过的残留挂到身后,1.5s 后释放
回响脉冲技能240px 内的残留先被拉向玩家,再贪心配对引爆
连锁踢击升级解锁击杀点在残留范围内时,把残留朝击杀方向踢出去
  • 四条路全都寄生在既有操作上:冲刺本来就有、脉冲本来就有、击杀本来就有。没有新增任何需要玩家记的按键
3. 残留浓度 1 ~ 3 级
同一位置反复生成会叠加浓度,让"往一个点上砸残留"变成一种能被规划的 payoff:
  • 1 级:正常
  • 2 级:效果 ×1.5、反应伤害 ×1.3、光晕变亮
  • 3 级:效果 ×2、反应伤害 ×1.6、脉冲闪烁;持续 3 秒后熔断
4. 地形改造类反应 ×3(同元素高浓度触发)
  • 熔岩地表(火+火,5s):敌人经过 3/s,玩家经过回血
  • 冰墙(冰+冰,2s):实体阻挡敌人,可被击碎
  • 毒沼(毒+毒,6s):敌人减速 50% + 每秒叠毒
5. 敌人改造类反应 ×2
  • 点燃:火+冰的蒸汽作用于敌人时,敌人燃烧 3s,死亡时必留火残留
  • 腐蚀标记:毒+雷的腐蚀电场命中敌人时标记 6s,该敌人死亡时生成双倍残留
这两条把反应从"打伤害"升级成"改敌人"——反应的结果可以被计划进下一波。
6. 玩家增益类反应 ×2
  • 回响护盾:雷+光在玩家 2.5 格内触发 → +1 护盾
  • 疾行:风+光在玩家附近触发 → 移速 +30% 持续 3s
7. 流派标签 + 被动(Build 协同)
25 张老卡全部打上流派标签,再补 9 张同源卡:
流派集齐 3 张的被动
引爆流反应伤 +20%、浓度上限 +1
搬运流残留移速 +50%、脉冲 CD -6s
寄生流敌死亡残留概率 +30%、击杀回血 +5
  • 升级抽取改成「1 核心 + 2 填充」:第一张必定与已选流派相关,后两张随机;还没定流派时回退到前几级的 A 类兜底
8. 禁忌升级 ×3(高收益换高风险)
  • 燃尽:反应伤 +60%,生命上限 -30%
  • 孤注:攻击 +50%,再也无法获得护盾
  • 毒瘾:中毒对敌伤害 ×2,自己也吃双倍中毒
9. 新敌人 ×3 + 元素护甲
  • 引燃者(火):主动走向最近的非火残留并引爆它
  • 净化体:缓慢走向残留,把它抹除
  • 共鸣体:死亡时复制周围残留的元素类型
  • 敌人元素护甲:火甲受火伤减半、受冰伤 ×1.5——"先杀谁"第一次变成战术问题
10. 地图:固定地形 + 可破坏物
  • 固定残留地形 4 处(开局生成,永不消失,不参与浓度叠加)
  • 可破坏物 3 种:木桶 → 火残留、石柱 → 冰、罐子 → 毒
11. 两种新模式
  • 连锁挑战(3 分钟):场上预置 64 个残留、完全不刷怪。考的是"用最少的攻击打出最多的反应",结算会显示单次最大连锁、总反应数、总击杀
  • 残局生存(5 分钟):开局即 8 分钟难度(难度曲线直接 +420 秒),自带 3 次免费升级
12. 音效全量补齐(Day 5 欠的债,连本带利还)
之前只有 6 条反应的独立音色,战斗里大量事件是静音的。一口气补了 10 条,全部用 WebAudio 现场合成,零资源文件:
音效触发场景合成思路
shield获得护盾方波短促上扫 + 低通,金属感
shieldBlock护盾挡下伤害噪声爆点 + 高通,"叮"的脆响
freeze冰反应冻结正弦波下滑 + 混响尾巴,冰冷感
bossSpawnBoss 出现低频正弦持续 1.2 秒渐强,压迫感
bossRageBoss 狂暴失真方波三连击,警告意味
death玩家死亡噪声爆点 → 低通衰减 2 秒,下坠感
explode回响脉冲引爆noiseBurst() 白噪声 0.4 秒 + 带通滤波
heal回复生命两个正弦波叠加(根音+五度),温暖
uiClick按钮点击极短方波 80ms,不打扰
gameStart开局点燃正弦上扫 + 噪声尾,仪式感
  • 新增 noiseBurst(dur, freq, q) 辅助函数:生成带通滤波白噪声,爆炸类音效全靠它,比手动拼振荡器省一半代码
  • Boss 出现现在有声音了——Day 5 那个"只有视觉没有声音"的脉冲爆发终于闭环
13. 主音量控制
  • 新增 masterVol 全局变量,所有 beep() 和 noiseBurst() 走统一增益节点
  • 主菜单、暂停、结算、升级四个界面都加了音量滑块,拖到 0 就是静音
  • 持久化到 localStorage.ash_masterVol,下次打开记住上次的音量
  • 这是被试玩者抱怨最多的一条——"音效太响/太轻"现在玩家自己说了算
14. 暂停功能
  • 新增 #pauseScreen 覆盖层,Esc 或暂停按钮呼出,游戏主循环冻结
  • 两个按钮:继续游戏 / 退出到主菜单
  • 暂停时恢复系统光标;继续时切回游戏内准星
  • 暂停覆盖层复用了升级弹窗的遮罩样式,视觉一致
15. 最终平衡收尾
改动原值新值理由
投射物命中残留概率20%35%前期残留铺得太慢,提升后玩家更主动射击
电涌移速3.02.7电涌太快,冲刺都躲不开,降一点给反应窗
冲刺倍率2.42.1冲刺倍率过高导致位移不可控,2.1 更跟手
  • 这三个数是最后一轮试玩定下来的,改完后三模式都能稳定通关,不会出现"某模式根本打不过"的情况

设计笔记

  • 浓度 3 的"熔断二选一"是最纠结的一处。设计稿里"浓度 3 自爆"和"同元素高浓度 → 地形反应"是两条并列规则,但它们在同一时刻争夺同一个残留的结局。最后的处理:有对应因果律就转成地形,没有就自爆。这样一来,"解锁反应"从"多一个伤害来源"变成了"改变残留的结局",Rules 层的选择第一次有了世界观的分量
  • "新生残留不参与反应"把"等反应"变成了"造反应"。Day 1 时残留一落地就和邻居炸了,玩家是观众;现在有 2 秒窗口期,配合拖曳冲刺和连锁踢击,玩家第一次可以主动布局——把新生残留搬到远处养熟,再把熟透的残留踢进人堆
  • 搬运手段全都寄生在既有操作上,一个按键都没加。这是 Day 5 做 Boss 反制时得到的经验:好的新机制应该是"你玩到这里时已经会的东西"
  • 音效是最后一块拼图,但拼上之后体感完全不同。静默核心出现时有低频压迫音、玩家死亡有下坠噪声——同一个 Boss 战,有声音和没声音是两个游戏
  • 收尾阶段的工作量远大于预期。核心机制写完只占 60%,剩下 40% 全是"让别人也能舒服地玩":音量、暂停、音效。这些东西一行核心玩法都没加,但没有它们游戏就不完整

踩坑

  1. 固定地形必须排除出所有"清理"和"推动"路径:日常残留数量上限裁剪原本会把它一起裁掉;风推、脉冲拉拽、连锁踢击、拖曳冲刺也都会把它推走。四处都补了 !z.fixed 判断,zoneStage(fixed) 直接返回"稳定"。这类"新增了一种特殊对象,却没回头把旧逻辑里的遍历都过一遍"的坑,和 Day 4 的 Boss 被裁掉是同一个病
  2. 浓度提示刷屏:第一版只要发生合并就弹 toast,同一个点上叠三级会连弹三条。改成记录合并前的等级,只在"首次升到 3 级"弹一次并启动熔断计时
  3. 残局生存的难度曲线:模式复用主线的刷怪函数,只要把"本局已运行时间"抬到 420 秒就能整段跳过前期——不用改任何敌人数值,一个变量搞定
  4. 连锁挑战"不刷怪"得加守卫:spawnWave 不知道模式,得加 if(game.mode !== 'chain') 才刷常规敌人,否则 3 分钟挑战瞬间变回普通局
  5. 音量滑块要在四个界面都放:一开始只在主菜单放了,结果进游戏后想调音量只能退回去。暂停界面、升级界面、结算界面各放一个,任何时候都能调
  6. 暂停时必须恢复系统光标:游戏中 cursor:none 用自绘准星,暂停时如果不恢复,连"继续游戏"按钮都点不到
  7. 反噬状态字段和普通敌人状态冲突:Boss 复用了普通敌人的 lit(光残留易伤)字段,反噬光残留时直接改它会被每帧的残留判定覆盖。新增了独立的 burnT / chill / litT / exposed 计时器字段,普通敌人逻辑和 Boss 反噬互不干扰

数字一览

  • 升级卡:25 → 34(+3 地形因果律、+速生、+拖曳冲刺、+连锁踢击、+3 禁忌)
  • 反应:12 → 16(+疾行、+熔岩地表、+冰墙、+毒沼)
  • 敌人:6 → 9(+引燃者、+净化体、+共鸣体)+ 6 种元素护甲
  • 残留:生命周期 3 阶段 · 浓度 1 ~ 3 级 · 搬运 4 手段 · 地形产物 3 种 · 固定地形 4 处 · 可破坏物 3 种
  • 模式:1 → 3(主线 / 连锁挑战 / 残局生存)
  • 音效:6 → 16 条(+10)· noiseBurst() 辅助函数
  • 新增:主音量控制(4 个界面滑块)· 暂停功能
  • 平衡:投射物残留 20%→35% · 电涌移速 3.0→2.7 · 冲刺倍率 2.4→2.1
  • 代码量:约 2200 行(单文件)
  • 三模式浏览器实测:无运行时错误,HUD、击杀计数、升级三选一均正常

写在最后

从 Day 1 的"让战场自己燃烧"到今天,这个单文件原型走了六天。核心机制(残留反应)从第一天就在,后面所有内容都是围着它长出来的——生存层是为了让玩家敢靠近残留、Boss 反噬是为了让残留反过来咬 Boss、搬运手段是为了让玩家主动布局残留。一个好的核心机制值得反复围绕它做文章,而不是不停往游戏里塞新系统。
设计稿里还有构筑挑战、BossRush、地图事件三块没做,但这个版本已经足够完整——三种模式、完整 Boss 战、34 张升级卡、16 条反应、16 条音效。能玩、能停、能调音量。
灰烬回响,到此为止。
TapTap
游戏开发者讨论区
1.2 万关注·4065 帖子
游戏开发者讨论区 封面
1.2 万关注 · 4065 帖子
10:35
打工人VS资本家,游戏Demo详细介绍截图
打工人VS资本家,游戏Demo详细介绍
游戏为策略游戏,玩家只需要把握时机召唤角色,释放技能。角色有自己的ai决策逻辑执行寻路、攻击、释放节能。 对现实职场进行讽刺。#发现好游戏
1 赞
01:04
游戏服务器工程师入门截图
游戏服务器工程师入门
从事游戏服务器开发,需要这些知识储备,造作准备,早学习,为工作做准备
【独立小游戏】欢乐三选一|休闲微信小游戏截图
【独立小游戏】欢乐三选一|休闲微信小游戏
大家好,我们独立开发的休闲小游戏《欢乐三选一》已经上线微信小游戏平台啦 玩法简介:通过选择卡牌,合成技能提升自己,来打败强大的boss。 游戏特色: 1. 轻松愉快,没有复杂的操作,仅需要简单的点击即可 2. 随玩随停,3分钟一局,没有时间负担 3. 充满挑战,boss的强大超出你的想象(只打“小白”的朋友,当我没说~)
1 赞
3 回复
00:47
新游招募令-【创世纪】"命运眷顾勇敢之人!"截图
新游招募令-【创世纪】"命运眷顾勇敢之人!"
欢迎来到这片充斥着枪炮,细菌,与钢铁的土地,旅人。 在这里,世界正处于大争之世。驱动与链接钢铁巨兽的不是蒸汽,而是被湮灭的“信息熵”。人们通过魔晶这一工业奇迹开启了工业化的浪潮,第二次魔导革命于一战后的阵痛中开启,魔导工业技术于实践中爆炸式发展,也带来了不可逆的代价——世界正在枯竭,洋流遭到污染,现实的物理法则开始被人质疑,时序在魔导工业化的浪潮中逐渐崩坏,历史被人所遗忘,又以扭曲的方式重组,人与
1 赞
6 回复
龙之谷启程手游丨战士新手加点攻略(剑圣分支)截图
龙之谷启程手游丨战士新手加点攻略(剑圣分支)
一转分支:剑圣(爆发连招流,喜欢高输出选)定位:敏捷爆发、单体高伤、灵活连招,攻速快、打击感强,适合喜欢秀操作、打单体爆发的玩家。核心加点(15-50 级,优先满核心) 1. 必满核心(优先级最高)三段斩(满):突进 + 三连伤害,快速贴近 BOSS,连招起手月影斩(满):剑圣核心单体爆发,高伤 + 剑气,打 BOSS 主力技能。剑气共鸣(满):普攻附带范围剑气,持续输出拉满,清怪 / 单体都好用
1 赞
01:26
高燃 PVP 对决,每一秒都在极限拉扯!截图
高燃 PVP 对决,每一秒都在极限拉扯!
你以为拼的只是手速?在《萍城异闻录》的战场里,硬核操作与心机博弈并存,高手过招,差一步就是生死之别! 华丽技能破空而来,浮空追击、闪避反打、魂卡瞬发,每一个动作都丝滑带感,打击感拉满!没有绝对的无敌,只有瞬息万变的战局 —— 前一秒你还在强势压制,下一秒对手就能用羁绊阵容逆转局势。 是莽夫硬刚,秀翻全场?还是老六埋伏,坐收渔利?在这里,没有固定套路,你的打法,由你定义! 搭配玩家打斗视频,近距离感
01:08
《梗噬》开发日志 #06截图
《梗噬》开发日志 #06
《梗噬》 版本:2.0.0 经过一段时间打磨,我单独制作了一期项目番外视频,不再单纯展示游戏剧情与关卡,分为两大板块:游戏成品宣传展示 + 配套解密工具实操演示。 一、游戏成品宣传部分 视频开篇完整展示《梗噬》当前版本的完整游戏面貌,演示游戏整体美术风格、关卡流程、核心解谜玩法、场景交互与结局片段。 用来直观呈现游戏完整体验,展示整体叙事氛围、画面表现,让观看者快速理解游戏主题与游玩感受,作为对外
1 赞
1 回复
《退格:第七码头》开发者日志 #03
把「退格」写进剧情
这一篇讲剧情:我们怎么把「退格」从一句设定,变成玩家能摸到的一条路——从池塘边的一杯水,走到三个结局。
一、先说「退格」是什么意思
不是时间倒流,也不是读档。
在这座废弃的内河码头,退格是一种正在发生的错误:东西被拆开、拼错、接反——管道接不回去,水往上流,机器的零件长在它不该在的位置。
所以玩家看到的「异常」,本质上不是怪物,是结构坏了。截图
《退格:第七码头》开发者日志 #03 把「退格」写进剧情 这一篇讲剧情:我们怎么把「退格」从一句设定,变成玩家能摸到的一条路——从池塘边的一杯水,走到三个结局。 一、先说「退格」是什么意思 不是时间倒流,也不是读档。 在这座废弃的内河码头,退格是一种正在发生的错误:东西被拆开、拼错、接反——管道接不回去,水往上流,机器的零件长在它不该在的位置。 所以玩家看到的「异常」,本质上不是怪物,是结构坏了。
1 赞
00:33
开发者日志 02截图
开发者日志 02
#聚光灯gamejam开发者日志 喵?闹喵荒了!是一款肉鸽打怪模式,玩家为了拯救喵星的危机,不得不去与喵星人*互动*,因为喵星人患上了一种*不与人类互动就浑身难受*的病,身为喵星人保护协会的一员,玩家需要尽可能地与喵星人进行*互动* 一个雏形,后面还有更多,人物(虽然是ai生成的,不耐看),更多的道具,场地背景,战斗系统,但应该不会设计成闯关模式
4 赞
开发日志02:“涌现”三层框架实现和实测截图
开发日志02:“涌现”三层框架实现和实测
上一篇立了题,这篇讲讲设计。 首先是第一层:先说机体本身。全部材料是六种零件,装甲、推进器、炮台、电池、炸药,加上中间那颗核心。敌人用的是同一套零件,所以打碎它,掉下来的东西你能直接捡来用。这是整个游戏成立的前提:场上没有"敌人的装备"和"我的装备"之分,只有零件,谁先拿到算谁的。 焊接这件事,我们定的规则是焊上就拆不下来。想改变结构只有两条路,等连接处被打断,或者主动把外圈扔出去。这条规则很反直
2 赞