← 迷途之梦 · 官方数据 游戏解析 · 全面解析

《迷途之梦》v0.1 · 全面解析

基于逐行读完全部源码 + 完整通关一轮(三轮复跑)之后写的解析,不是根据宣传文案猜的。 所有数值、台词、界面坐标都来自代码;所有「这游戏实际长什么样」都来自 playtest-通关实录/ 里的实机截图。 工程侧的改动指南另见 续作开发基础-v0.2.md,这篇只谈它是什么、为什么这么设计、哪里好哪里不对。

一、定位:它到底是个什么游戏

维度 结论
类型2D 横版动作(近战连段 + 翻滚闪避)为主,夹一段现实层点击式探索
手感参照明显是「死亡细胞」那一挂:翻滚无敌帧、三段连击可取消、命中顿帧 + 震屏、空中攻击砸地
叙事结构三层世界(现实 / 梦境 / 黑屏)+ 道具驱动(药、剑、医书、纸条)
体量完整流程 9 个屏幕、3 段战斗、2 个 Boss、1 段探索,正常玩 10–18 分钟
血统《有兽焉》同人,主角是被清了记忆的狐狸「慕容雪川(美美)」
完成度战斗系统 ≈ 完成;叙事 ≈ 骨架;内容量 ≈ 第一章 + 半章

一句话概括:它是一个用动作游戏训练场包装记忆悬疑的垂直切片——玩家在梦里被当成死士练,梦里有人给他送剑,现实里有人在骗他,而他自己在一点点发现「我少了一段记忆」。

它最特别的地方不是战斗,而是把「训练」写进了叙事:那些一波一波的敌人不是关卡障碍,而是「有人在训练你」这件事本身。这让"刷怪"有了叙事借口,是很聪明的做法。


二、叙事解构

2.1 三层世界,三种信息权限

现实层(卧室 / 家)        主角视角,可操作,文本量最大
   ↑ 吃药入睡
梦境层(鹿人店 / 丛林)     主角视角,可操作,战斗都在这
   ↑ 梦醒 / 黑屏
黑屏层(只有声音)          主角不在场,玩家独占的信息

这是整个叙事最有效的设计:玩家知道的比主角多。 第一章结束时那段黑屏对话(chapter_end.gd:19–29)告诉玩家「有人在执行一个计划、核桃只是传话的、这事对他(主角)不好」,而主角在梦里还在问「你谁啊」。戏剧反讽由此成立——玩家看着主角被操纵,却没法告诉他。

值得注意的是:黑屏层只出现了一次(第一章完)。第二章、第三章再没回去过。这是当前版本叙事上最可惜的地方。

2.2 时间线与事件表

时间 层 事件 出处
十月 22 日 · 夜现实失眠、药片散落、药瓶写着「安眠」、第十二个翻身prologue.gd:8–11
十月 22 日现实按下 E 吃下药片prologue.gd:12
(倒流)七月 1–4 日现实连续几晚做同一个梦:一只鹿喊他「美美」;开始怀疑自己失忆prologue.gd:17–31
七月 4 日 · 夜现实「我……失眠了?」prologue.gd:32–34
(快进)十月 22 日现实药效上来了,祝我好梦prologue.gd:35–38
入梦梦空镜头对话:美美自言自语 + 一个「???」塞给他一把剑就跑chapters.gd:15–29
第一章梦鹿人店庭院,5 波"训练";想到「重击」;击败「假面」chapters.gd:30–59
十月 23 日 · 晨现实梦醒,「病情又恶化了」chapter_end.gd:9–15
十月 23 日 · 黑屏黑屏凶的「???」与「核桃」的对话:计划、反攻、人越多越好chapter_end.gd:19–29
十月 23 日 · 白天现实在家里找医书 → 读书 → 夹层纸条(花蕊大夫)→ 入夜 → 吃药(最后一片,四瓶已空)house.gd:59–132
当夜梦美美逼问核桃:「我到底在干什么」「那个鹿呢」「我记忆去哪了」chapters.gd:73–95
梦 · 丛林梦野猪 + 藤蔓,击败「丛林石像」chapters.gd:124–158
结束—「梦到这里就断了。」end_card.gd:8–15

结构上的巧思:序章用「倒流 → 快进」把十天压缩成三十秒,让玩家先看到"失眠的现在",再看到"失眠是怎么开始的"。这是电影式的时间折叠,放在这种体量的切片里相当奢侈,也很有效——它一上来就把"记忆/时间不可靠"这个主题拍在玩家脸上。

2.3 角色分析

慕容雪川(美美)—— 主角

「昨晚做了个好奇怪的梦」→「怎么又是这个梦」→「我难道真的失忆了」→「这是?哦,又是这个地方」→「这里到底是哪里啊」→「我到底在干什么」→「我记忆去哪了」。 每章只推进一格,节奏是对的;但第一章到第二章之间几乎没推进(第一章的梦里他只是在打怪)。

核桃 —— 双尾猫,「???」→ 核桃

凶的「???」—— 幕后

⚠️ 「梼杌」在游戏代码与全部文本里出现 0 次(我 grep 过)。玩家在游戏内完全不知道有"梼杌"这个存在,这个信息只存在于 README 和操作说明的散文里。也就是说,当前版本的"反派"对玩家而言是空白的。

花蕊大夫 —— 只存在于纸上的知情者

1. 「你的症状……不,咱们的症状很特殊」→ 他和主角同病; 2. 「我确信的,咱们的记忆被做了手脚」→ 失忆是人为的(第一次把"悬疑"升级成"阴谋"); 3. 「这段记忆,咱们或许保持遗忘,才是最好的」「请你注意安全」→ 他选择了放弃,并警告主角别查。

鹿 —— 全篇最大的悬念

假面 / 丛林石像 —— 两个「不是角色」的 Boss

叙事上他不是敌人,是"训练用的假想敌"——被打死之后没有任何反应,直接切梦醒。"假面"这个名字本身就是暗示(面具/伪装),但游戏没有用它。

这句吐槽其实交代了它的叙事地位:它不是反派,是"梦开始失控"的证据——训练场里突然出现了不该有的东西。

2.4 已埋未收的钩子(清单)

# 钩子 埋在哪 现状
1谁动了记忆花蕊纸条、核桃对话未收(只说"被做了手脚")
2「反攻」是什么、反谁黑屏对话未收
3鹿是谁、在哪序章 + 两章台词未收,且是全篇最强钩子
4假面是谁/是什么Boss 名未收(无台词)
5核桃到底帮谁全程部分揭示(他"也丢了记忆")
6「美美」这名字的来历序章未收
7药:四瓶吃完、最后一片序章 + 第二章未收,但是很好的"倒计时"装置
8花蕊大夫本人纸条未收(主角说明天去找他)
9白天的现实层和梦里的时间是否同步10/22 → 10/23未说明

九个钩子,零个回收——这对一个"垂直切片"来说是合理的(本来就是留白等人填),但如果继续做,必须优先收 1、3、5。

2.5 叙事结构的总评

做得好的: 1. 三层视角 + 信息不对称,一次黑屏对话就把"悬疑"升级成"阴谋"。 2. 道具驱动:药(现实→梦)、剑(梦里被塞的)、医书+纸条(现实里的证据)。四个道具各自承担一个叙事功能,没有堆砌。 3. 时间折叠(倒流/快进)符合"记忆不可靠"的主题,不是花活。 4. 文本克制:单句最长不超过 46 字(对话系统硬上限),没有大段说明文,读起来像轻小说而不是设定集。 5. 主角有性格:暴躁、嘴碎、会吐槽,不是沉默工具人。

做得不够的: 1. 第一章叙事空心:除了开头 13 句和 Boss 名字,整章没有任何剧情推进。它是纯战斗关。 2. 丛林章文本塌陷:3 波怪 + 1 句吐槽 + 1 个 Boss,叙事密度接近 0。 3. 反派不存在:梼杌 0 次出现,凶的「???」只有一段黑屏。玩家打完通关也不知道自己在跟谁对抗。 4. 两个 Boss 都没台词:作为"叙事节点"它们不合格,只能算"玩法节点"。 5. 黑屏层只用了 1 次:这个最强的手法被浪费了。


三、主角能力系统

3.1 能力全景

能力 解锁条件 数值 手感要点
移动开局430 px/s,加速 3600空中加速度 2000,空中不粘滞
跳跃开局初速 −930,重 2500 → 跳高 173,滞空 0.74s长按更高、短按矮跳(松手截断到 0.42 倍)
二段跳开局−837(0.9 倍)空中一次;起跳/二段跳都会刷新"空中翻滚"次数
地面翻滚开局0.34s,速度 660,无敌 0.05–0.26s,CD 0.10转一圈(rig.rotation 一圈)+ 残影,是最核心的生存手段
空中冲刺开局1150 速 × 0.15s,无敌 0.18s,CD 0.31一次跳跃周期一次;无敌比动作还长
三段轻击必须先按 E 拔剑1/1/2 伤,判定框 118/124/140 宽后摇 32% 处可取消接下一段或翻滚 → 实测 ≈6.1 伤/秒
重击记忆碎片3 伤,245×165,眩晕 1.0s(Boss 0.35s)前摇 0.30s 很长,命中把人钉住 1 秒;后摇 50% 可接重击
破梦完美闪避后 2.5s 内按 J5 伤,360×260,无敌 1.15s,CD 10s动作 1.04s < 无敌 1.15s → 全程无敌还多 0.11s 安全余量
斩惑完美闪避后 2.5s 内按 K(需碎片)6 伤,绕身 400×96,CD 10s0.5s 无敌,最后 0.26s 后摇完全暴露且不能取消
空中砸地开局落地半径 130、2 伤、击退 420不需要拔剑也能用,是前期最强清群手段
完美闪避开局慢动作 0.32×、0.42s,窗口 2.5s判定 _roll_t ∈ [0.02, 0.26],比无敌帧还早 0.03s

3.2 状态机

IDLE ⇄ RUN
  ↓ 跳          ↓ 翻滚            ↓ 攻击
JUMP/FALL     ROLL(0.34s)      ATTACK(前摇→判定→后摇)
  ↑              ↓ 结束            ↓ 受击
  └──────────── IDLE            HURT(0.26s)
                                   ↓ 血归零
                                 DEAD

三个设计细节值得记: 1. 攻击中不能跳(跳跃只在 _do_move 里处理)→ 攻击只能"滚取消"或"接下一段",没有跳取消。 2. 翻滚在地面是"转一圈"(rig.rotation = _roll_dir * TAU * ease_out(k)),在空中是"冲刺"——两者共用一个状态,靠 _dash_air 区分。 3. 受击不打断翻滚:hurt() 先判完美闪避、再判无敌帧,所以"在翻滚窗口里被判定命中"永远不吃亏。

3.3 手感参数(这是它最像"成熟动作游戏"的地方)

机制 实现 评价
命中顿帧Engine.time_scale = 0.02,用真实时间计时,可叠加取最晚3–5 帧级别的短停,打击感来源
慢动作完美闪避 0.32×、破梦 0.22×、Boss 死 0.25×与顿帧争夺同一个 time_scale,没有引用计数(见问题)
屏幕震动trauma 制,trauma² × 26px,每秒衰减 1.6平方衰减让震动"开头狠、尾巴软",比线性好
输入缓冲攻击 0.16 / 跳 0.12 / 重击 0.16 / 翻滚 0.14偏短,是"按了没反应"的主要来源
土狼时间0.10s惯例值
受击无敌0.75s防连死
击退玩家被击退 240–420,敌人 250–780敌人被击退出屏幕会被 _keep_in_view 拉回

3.4 解锁曲线(设计意图很明确)

开局:只能走跳滚 + 空手(拔剑后才能打)  ← 教学关教"基本功"
教学四:完美闪避                        ← 教"迎着打"
教学五:破梦                            ← 给奖励
第一章前三波:平A + 砸地                 ← 建立输出节奏
记忆碎片:解锁重击(控制)+ 斩惑(爆发)  ← 中期给"对策"
Boss:检验

问题:这个曲线把最强的控制(重击眩晕 1 秒)和最强的爆发(斩惑 6 伤)都放在了第一章中途,而最难的杂兵波(第三/四/五波)在它们之后。结果实际难度是"先难后易",Boss 反而偏软。

3.5 能力系统的三个真问题

① 翻滚通吃 0.34s 里 0.21s 无敌、CD 只有 0.1s、不消耗任何资源 → 数学上 48% 的时间可以无敌。 所有敌人(含 Boss)的攻击都能被"滚过去"解决,而"滚过去"还额外给完美闪避奖励(慢动作 + 2.5s 窗口 + 破梦)。 这导致最优解永远是同一个:看到前摇就朝攻击滚。 游戏没有给出"不该滚"的理由。

② 完美闪避奖励的是"挨打" 判定窗口 [0.02, 0.26] 比无敌帧 [0.05, 0.26] 还早 0.03s,意思是"刚滚出去就挨打"也算成功。 设计意图是"奖励迎击",实际效果是鼓励玩家把翻滚当成攻击键:往敌人身上滚,赌判定。

③ 攻击缓冲 0.16s 与翻滚 0.34s 不匹配 完美闪避发生时玩家还在翻滚中段,本能地立刻按 J,缓冲会在翻滚结束前过期 → "按了没反应",要再按一次才出破梦。这是实机里最容易劝退新手的细节(player.gd:156)。


四、敌人图鉴

4.1 数值总表

敌人 HP 体型 速度 攻击 伤害 判定
影卒31.45×132走近 96px → 举刀 0.42s → 突刺 4701水平 48 / 纵向 62
浮瞳21.4×190保持 330px,蓄力 0.5s → 弹幕 4601弹丸 32px
奔角41.5×70 / 冲锋 900520px 内蓄力 0.7s → 冲锋 → 撞墙硬直 1s1水平 58 / 纵向 56
野猪71.7×同奔角同奔角1同奔角
藤蔓31.2×0(不动)220px 内 0.55s 预警 → 抽打 → 减速 6s1 + 减速不可接触
木桩99991.15×00.9s 举刀 → 0.26s 挥069px
假面261.55×96 / 冲 980横扫 / 跃击地震 / 2–3 连突进 / 二阶段扇形 5 连1–2见下
丛林石像331.9×0落石 ×3 / 石拳2落石 74px / 石拳 270px

4.2 设计语言:四个小怪 = 四种"考试题"

敌人 考什么 预警方式 颜色语言
影卒近战时机举刀 + 地面红色箭头(0.42s)深紫黑 + 紫
浮瞳弹幕走位眼睛发光 + 红色瞄准线(0.5s)深紫 + 亮紫
奔角冲锋闪避下蹲 + 6 段红色虚线深褐 + 橙
野猪同奔角但更耐打同奔角棕 + 米黄
藤蔓距离管理(不要贴脸)藤蔓摆动 + 红色挥砍弧绿 + 暗红

共同设计语言:

这套语言的优点:读得懂。玩家看颜色就知道"这个要来了"。 缺点:全是"单次判定",所以翻滚无敌帧通吃;没有"反翻滚"的设计(持续判定 > 0.28s、抓取、无视无敌帧的招)。

4.3 Boss 设计

假面(26 血,二阶段)

招式 时间轴 判定 安全解 危险度
横扫举刀 0.55s → 只在 t=0.55 单帧判定 → 收 0.6s圆心身前 143、半径 236站 >380px / 滚过去 / 站背后中
跃击地震0.35 蓄 → 起跳 → 落地放左右两道地面冲击波(520 速)只有冲击波有伤跳过 / 翻滚 / 站远低
突进蓄 0.32s → 980 速冲 0.42s,2 连(二阶段 3 连)水平 120 / 纵向 120必须翻滚(跳跃只有最高点免疫)高
扇形弹幕0.55 蓄 → 5 发 ±0.4rad、430 速每发 32px翻滚 / 横向跑中
二阶段半血强制 _end_attack(0.9)—0.9 秒白给窗口—

决策逻辑(mask_boss.gd:127–159):

最漂亮的一处:横扫是单帧判定。这意味着"看起来最吓人的大刀横扫"其实最好躲——站远、滚过去、甚至等 0.55s 之后走进去都行。这是一个反直觉但可学习的设计。

最不漂亮的一处:它没有一句台词。作为第一章的收尾,它只是一个"会动的血条"。

丛林石像(33 血)

4.4 敌人设计总评

优点:

问题: 1. 没有反制手段:不反翻滚(持续判定)、不反跳跃(对空)、不反重击锁(眩晕抗性)。 2. 远程只有一种(浮瞳的直线弹),没有追踪/范围/延迟爆炸。 3. 没有精英怪:从影卒到 Boss 之间缺一档"血厚 + 有特殊机制"的敌人(野猪只是血厚)。 4. 藤蔓的减速是唯一"状态异常",但惩罚过重(见下)。


五、地图与场景

5.1 世界尺寸与镜头

项 值 说明
设计分辨率1920×1080窗口 1280×720,canvased 拉伸
战斗场地x 0–1920,地面 y=780,左右墙 x=−30 / 19502400 宽的地面碰撞体
玩家活动范围x 90–1830为了不被镜头裁掉而收窄
相机zoom 1.25,可见宽 1536,中心只能落 768–1152所以场地两端各 384px 是"镜头死区"
敌人夹取_keep_in_view() 把怪夹在镜头内 ±44px防止怪被击退出画面
坠落死亡y > 1500实际上没有落坑地形

这是一个纯一维的战场:没有平台、没有高低差、没有可破坏地形。所有战斗都在一条水平线上解决。 这是"垂直切片"的合理取舍(验证手感优先),但也意味着地图本身不参与战斗设计——玩家没有"上高台躲冲锋"之类的空间解法。

5.2 现实层「家」的空间设计(第二章)

这是全游戏唯一有"空间"的地方:

                 ┌──── 客厅(3 扇门)────┐
   房间 ←────────┤  厨房     书房        ├────────→ 房间
   (床/窗/床头柜)  └──────────────────────┘   (书架/书桌/台灯)
房间 交互物 平台(可跳上去) 叙事功能
房间床(走到床边自动睡)、门床面 780,730 / 床头柜起点 + 终点
客厅3 扇门沙发、茶几枢纽
厨房门整排橱柜台面纯装饰(没有事件)
书房书架上的蓝色医书(E 查看)书桌本章唯一目标

评价:这套空间设计是有效的,厨房"有房间但没内容"是唯一明显的浪费(可以放一个日记/道具/彩蛋)。

5.3 背景图的对齐方式(很实用的一招)

ih  = 1920 * tex_h / tex_w          # 按 1920 宽等比缩放后的图高
top = 780 - 0.86 * ih               # 图内 86% 处压到地面线 y=780

鹿人店(474×296)和丛林(2560×1600)两张图,算出来都是 ih≈1200、top≈−252,图底都被 y=780 以下的程序化沙地盖住。 所以换背景只要保证"图里的地面在 86% 高度",就能直接替换;不在 86% 就要改 PHOTO_GROUND。 这是一个聪明的约定(美术只需要记住一个比例),但代码里没写成可配置字段,是留给下一章的坑。

5.4 场景切换的节奏

标题(黑)→ 序章(卧室,暗)→ 入梦白幕(白,3.2s 极慢揭开)
→ 教学(鹿人店,暖)→ 第一章(同背景)→ 梦醒(白 → 白天房间)
→ 黑屏对话 → 章节卡 → 第二章(家,暖褐,压暗)→ 读书(音乐切 reading)
→ 入夜(全屏蓝调 0.45)→ 吃药(白)→ 梦境(鹿人店夜)→ 灰黑过场 → 丛林(亮绿)
→ 结束卡(黑)

节奏设计得很清楚:现实层用暗色 + 慢节奏;梦境用亮色 + 快节奏;过场用白/黑硬切。 "入梦白幕"用了 3.2 秒极慢揭开(配合 Sfx drone 音高从 0.7 升到 1.0),是全游戏最好的一段过渡。


六、视听表现

6.1 美术:几乎全程序化

资源 类型 说明
sprites/meimei.png位图主角,缩到 150px 高,靠 scale/rotate/skew 演动作
sprites/sword.png位图剑,独立一层,拔剑/持剑/挥砍角度由代码算
bg/lurenshop.webp、bg/jungle.jpg位图两张背景
art/huarui_ghost.png位图花蕊大夫虚影(读纸条时从右往左擦出)
fx/*.png小贴图ring / star / streak / dust / berry / orb / boss
所有角色(敌人/Boss)代码绘制没有一个贴图,全靠 draw_*
所有 UI代码绘制HUD、菜单、对话框、结束卡全是 draw_string / draw_rect
卧室/客厅/厨房/书房代码绘制house.gd 的 _draw() 有 800 行

这是典型的"一个人做完整游戏"的资源策略:用程序化换美术量。好处是零素材依赖、可无限调整;坏处是风格上限低(敌人全是色块拼的)。

主角的"纸片人"做法值得单独说:sprite_rig.gd 用一张狐狸立绘 + 5 个变换量(bob / push / rot / sx / sy)演出跑、跳、落、滚、攻、受击。翻滚是"整体旋转 360°",跑步是"压扁 + 上下浮动 + 前倾"。这是很便宜的动画方案,效果在实机里不违和(因为玩家注意力在怪和刀光上)。

6.2 后处理:一个 shader 管所有气氛

fx/post.gdshader 有 15 个 uniform,覆盖了:暗角、颗粒、色差、扫描线、去饱和、梦境扭曲、亮度、色调、闪白、聚光(spot)。

实际被代码用到的只有 9 个:

聚光是这套后处理里最亮眼的设计:破梦触发时,整个画面被压成白色,只有主角那一块保持彩色,配上红色「破!梦!」大字——这是全游戏最"贵"的一个瞬间,而且是用 10 行 shader 实现的。

6.3 音效:全合成 + 3 个采样

来源 内容
数学合成(15 个)hit / hit_heavy / whoosh / jump / land / roll / hurt / shatter / death / pickup / shot / ui / roar / slam / heartbeat
外部 mp3(4 个文件,8 条切段)swing(轻/重/斩惑)、draw(拔剑)、hit_enemy(受击/死亡/Boss 死)、break_hit(破梦)
BGM(3 首 wav)calm(43.7s)/ battle(31.1s)/ reading(58.2s),强制循环
环境 drone8 秒合成低频(55/82.5/110Hz + 噪声 + 低通),开机即响,贯穿全程

合成音效的做法:_wav() 生成 16bit 单声道 PCM,用正弦扫频 + 噪声 + 包络拼。例如:

问题:4 条挥剑切段的 from 全是 0.0,也就是轻击/重击/斩惑听起来是同一段开头的变调。这是"先取开头,等听出好位置再改"的临时状态,但一直没改。

6.4 表现力清单(这游戏的"爽点"都在这)

效果 实现 触发
刀光月牙SlashArc:22 段弧 + 拖尾 + 前缘高光每次攻击
命中火花HitSpark:粒子,暖色下坠/冷色漂浮命中
翻滚残影AfterImage:紫色剪影拖影翻滚
屏幕震动Feel.shake trauma²命中/受击/Boss
顿帧time_scale 0.02命中
慢动作time_scale 0.32完美闪避/破梦/Boss 死
闪白FlashLight 全屏 0.35s 淡出受击/复活/捡碎片
死亡插曲DeathInterlude:水面浮起 → 床头桌/倒药瓶/散药片一闪 → 沉回死亡
破梦聚光后处理 spot + 红色艺术字破梦
Boss 收尾慢动作 → 白圈收缩 → 全屏白 → 灰 → 黑击败 Boss

最值得学的是「死亡插曲」:死亡不是重开,而是"浮出水面 → 看到现实床头桌 → 沉回梦里"。 它把"读档重来"变成了叙事事件,而且右下角还记「第 N 次」——用 UI 把死亡次数变成了氛围。这是整个游戏最有设计感的一处。


七、UI 分析

7.1 层级与设计语言

所有 UI 都是手绘 + 绝对坐标(1920×1080),没有用 Control 的锚点布局。统一的视觉语言:

7.2 战斗 HUD(ui/hud.gd,1–166 行)

实机:playtest-通关实录/19_boss_appear.png、24_假面本体.png

战斗 HUD:左上血菱形、右上碎片、底部 Boss 血条
战斗 HUD:左上血菱形、右上碎片、底部 Boss 血条

元素 位置 字号 颜色 信息优先级
血量(5 个菱形,18×22)左上 (52+i×40, 54)—金 #ffd889 / 灰高
记忆碎片右上 (w−210, 64)26淡紫中
连击数(≥3 才显示)右侧 (w−300, 200)72 + 24金低(纯氛围)
波次大字中央 y=30062米白高(2 秒后消失)
Boss 血条底部 y=980,宽 76016 高一阶段 #d0455c / 二阶段 #ff2f6a高
Boss 名字血条左上26米白高
「二阶段」标签血条右上22红中
破梦/斩惑提示底部 y=104030 + 20金中
冷却条底部 y=1046,240×12—蓝中
操作提示底部 y=102026灰白中
死亡计数右下 y=106020淡紫(alpha 0.45)极低(氛围)

优点:

问题: 1. 底部拥挤:y=1020(提示)、1040/1072(破梦提示)、1046(冷却条)、1060(死亡计数)四套东西共享底部 60px,同时出现会叠字。 2. 没有"受伤闪红"的全屏反馈——只有角色闪白 + 震屏,血量变化靠左上角菱形消失,注意力在角色身上时容易没注意到自己快死了。 3. 碎片计数在第二章之后没有意义(没有新碎片可捡,但数字一直挂着)。 4. 所有元素都是绝对像素坐标,换分辨率(非 16:9)会错位(靠 canvas_items 拉伸兜着,但 HUD 是被拉伸而不是重新排版)。

7.3 对话系统(scenes/dialogue.gd)

实机:19_boss_appear.png(主角说话,名字浅橙)

对话框:名字浅橙、正文米白、无底板直接压在高饱和背景上
对话框:名字浅橙、正文米白、无底板直接压在高饱和背景上

设计评价:

1. 无底板 → 可读性依赖背景。在丛林这种高饱和亮绿背景上,米白 34px 文字对比度偏低(实机 21_boss_appear 那张就能感觉到)。 2. 不能"整句回看"(只能整段历史),也没有"跳过全部"。 3. 46 字折行是按字数而不是像素算的,中英混排会不准。 4. 名字和正文都是居中,长台词居中读起来比左对齐累。

7.4 菜单系统(三套并存,是个隐患)

实机:25_暂停菜单.png、26_存档面板.png

暂停菜单:压暗 + 居中列表 + 金色选中
暂停菜单:压暗 + 居中列表 + 金色选中

存档面板:2×2 卡片,空档提示「按 Enter 存到这里」
存档面板:2×2 卡片,空档提示「按 Enter 存到这里」

菜单 入口 项数 风格
PauseLayer战斗关 Esc7全屏压暗 0.86,居中列表,选中项金色 + ▶◀
SettingsUI非战斗场景 Esc5同样的居中列表,layer 190
SavePanel上面两个菜单里进2×2 卡片全屏压暗 0.9,卡片选中金色边框
History任意处按 U—右侧 RichTextLabel,最近 24 条

暂停菜单:极简文字,无图标;↑↓ 选择、Enter 确认、Esc 继续、Q 回标题。 存档面板:2×2 卡片(720×300,间距 40),每格显示章节名 / 进度 / 血量菱形 / 碎片数 / 时间戳 / 游玩时长。 历史对话:U 打开,显示最近 24 条,带说话人颜色。

评价:

7.5 标题与结束卡

7.6 UI 问题总清

严重度 问题
中对话框无底板,亮背景下可读性差
中HUD 底部四套信息共享 60px,会叠
中存档面板 ↑↓ 导航失效(都 +2)
中缺"继续游戏"(标题页无法读档)
低碎片计数在后续章节失去意义
低受伤时缺少全屏反馈,血量变化容易被忽略
低三套菜单键位逻辑不统一;Esc 语义分裂
低全 UI 绝对坐标,非 16:9 靠拉伸

八、系统骨架(一句话版)


九、综合评价

做得好的 5 件事

1. 手感是"懂行"的。顿帧用真实时间计时、震屏用 trauma² 衰减、输入缓冲 + 土狼时间、翻滚帧数精确到 0.05–0.26——这不是"能跑就行"的实现,是按动作游戏标准调的。 2. 死亡插曲。把"读档重来"变成"浮出水面看一眼现实 → 沉回梦里",还顺手把死亡次数做成氛围。这是全游戏最聪明的设计。 3. 三层叙事 + 一次黑屏对话。信息不对称用得干净,没有靠大段旁白解释。 4. "训练"作为叙事借口。让刷怪这件事在故事里成立,而不是"关卡就是这样"。 5. 零素材依赖。除了 5 张图 + 4 个音频,全部程序化生成——这让它能在任何机器上跑,也让后续改数值/改颜色零成本。

最该改的 7 件事(按影响排序)

1. 藤蔓的减速是死亡螺旋:6 秒 + 禁翻滚 + 没法解除,而丛林有 3 只冲锋野猪。这是唯一一个让玩家觉得"这游戏不讲理"的地方(实测 15 连死)。 2. 翻滚通吃:无敌 48% 覆盖率 + 无消耗 + 完美闪避奖励,导致没有第二个解法。需要"反翻滚"(持续判定/抓取)或"翻滚成本"(体力/层数)。 3. 章节间不回血:第一章打完剩 1 血,第二章整章带着 1 血打,且没有回血手段。 4. 叙事在战斗章里断档:第一章除了开头 13 句没有任何剧情,丛林章几乎没文本,两个 Boss 都没台词。战斗章也需要"每波一句话"级别的推进。 5. 反派缺席:梼杌 0 次出现,凶的「???」只有一段黑屏。玩家通关后不知道自己在对抗谁。 6. Boss 太"功能化":假面没有台词,石像没有二阶段且血量比假面还厚。Boss 需要"人格"或"机制"至少占一个。 7. 缺"继续游戏"与章节选择:标题页无法读档,体验上像"开发者版本"。

和同类比的定位


十、如果继续做,最值得先动的 5 件事

顺序 事 为什么
1藤蔓减速改短(6s → 2.5s)且允许翻滚,或改成"挣脱"直接消掉唯一的难度断崖,成本 3 行
2每章开场回满血 + 加一个回血道具(药片)让"药"这个道具在玩法上也成立,同时解决跨章 1 血开局
3给战斗章补"每波一句话"的叙事第一章/丛林章现在叙事是空的,加 5–8 句就能把"被训练"这件事讲实
4让凶的「???」再出现 1–2 次(黑屏/梦中低语)把"反派"从空白变成存在,成本极低(复用黑屏对话)
5石头 Boss 加二阶段(抄假面的扇形弹幕)或降到 26 血让它从"磨"变成"战"

*附:实机证据在 playtest-通关实录/(含暂停菜单、存档面板、Boss、对话、各场景); 工程侧改动指南在 续作开发基础-v0.2.md。*