《雾灯残页》游戏结构示意图

Loop Flow · 树状分支总览 · Philosophical Bias Axes · Ending Map

命运轴:接受既定/改写条文/或被反噬缠着——都有价码,没有白捡的顺境。 个体轴:保全自保、或以磨损换照应、一路溶解到记不清边界,三条里选一条就得认一条疼。 未知轴:拥抱不可测、借势利用未知、抑或拒绝承认——都不是道德判决,只是立场。 无绝对好坏,只有偏向与代价 每个结局都必须给收益 + 延迟后果

《story_text》三律 · 叙事方法论备忘(与 game/script.rpy / Ren’Py 开场一致)

剧情设计 · 树状分支总览(Loop1–7 选项宽表 · 与 story_text 同源)

主脊为周目顺序。下列每一轮在标题下附选项宽表:与 story_text.txt 完全一致;桌面端以网格自动换行排版,窄屏仍为横排一字展开并可横向滚动。侧向斜线仍为 early_resolution_check;底部为终局与三轴结局族。

  • 开场(三律 + 叙事方法论备忘)
    • Loop1 · 村口(6 选项)
      本轮可走几条路 · 宽表
      点头搭话,让气氛先热起来
      盯着锈剑看,往旧事里探
      把黄昏刺杀直接摊开
      把水壶递过去,先给一口温度
      先问报酬与口粮,把日子的账簿摊开
      在路牌背面刻下一道记号(木屑沾指,掌纹发冷)
      势力窗:晦历487 盐道重税 · 晦历489 北境补给失踪 | 黄昏塞西尔并线
    • Loop2 · 路牌下(6 选项)
      这一轮的开口方向 · 宽表
      跟着我
      你身边有刺客
      拿锈剑开一句玩笑
      去街角和塞西尔聊
      提黑水河的梦
      让塞西尔在巷口试射一箭(黄铜门环先闷响一记,胸口那口气才松下半寸)
      检定:坚韧 → 神殿门前收束 | 势力窗:晦历490 前庭古语误译 · 晦历489 北境补给追查
    • Loop3 · 午后镇口(7 选项)
      这一轮的行动口 · 宽表
      对米迦说,跟我来
      带他去旧神殿
      聊他炉火砖缝里那点私藏和旧事
      去看卡修斯带来的法术书
      提河对面的梦
      把轮回真相说到明面
      让卡修斯读你掌心旧裂纹(呼吸短停,指骨发凉)
      检定:同步 | 势力窗:晦历492 雾港拍卖 · 晦历494 灰原兵变
    • Loop4 · 神殿前(7 选项 · 镜头污染 L1+)
      这一轮可选的切口 · 宽表
      问米迦,记得我吗
      去神殿看戒指
      谈公告牌上的字
      找塞西尔和旧书
      认下执印遗裔之名
      把救人这件事摊开讲
      替米迦包扎旧伤(布条吸血,心口回暖)
      检定:坚韧与并肩;当夜相位:卢西恩药酒压争执;势力窗:晦历493 医誓争议、晦历496 七城契约停摆
    • 任意轮末 · early_resolution(暗骰+显性+丝线) 可斜插 AUTHOR / JUDGEMENT / COVENANT / THRONE / CANDLELIGHT / CYCLE / ASCENSION / DAWN 等池中其一,条件见下方「结局」与脚本判定。玩家可见对白不报暗骰数字,只播成章索引对应氛围句(与 text_runner / script.rpy 同源)。
    • Loop5 · 门前(9 选项)
      第五轮门前的抉择口 · 宽表
      问米迦记不记得那些梦
      去找最后一扇门
      和米迦谈条件
      先找卡修斯
      带所有人进神殿
      直接带线索去旧庭要塞
      把门槛上的灰抹在掌心(回声贴掌背呢,腕底脉门自己发沉)
      今夜就推门,不再多等(经句压进喉间,决断提前)
      再观一轮风向,延后推门(先听风,再动手)
      今夜推门可直接 → Final;否则 → Loop6。势力窗:晦历495 裂谷封锁 · 晦历497 夜审名单泄露
    • Loop6 · 门前检定前(6 选项)
      这一轮的推进口 · 宽表
      让卢西恩再查一次伤口(药酒苦橙味,时间感反向)
      把七灯教义读给米迦听(教义一句句落地,你跟米迦的呼吸才慢慢对上)
      逼问卡修斯裂谷坐标(他应声时像在交付一把会烫伤手的钥匙)
      于圣所列像座前的誓石边,折断旧钥匙(断裂声里,同时有退让与抬头)
      再等最后一轮(把门边的余地留给还没说完的话)
      立刻开门(夜还深,门先回应你)
      检定:坚韧与并肩(tenacity+sync)| 立刻开门可 → Final | 势力窗:晦历498 雾灯停火 · 晦历499 钟楼无风自鸣
    • Loop7 · 收束(4 选项)
      这一轮的收束口 · 宽表
      为米迦系紧护腕(布条勒紧时,他把额头抵过来一瞬)
      把自己的名字写进封蜡(蜡油先咬住指腹发烫,疼了半拍,才把名字按实)
      让卡修斯朗读禁章(字音刮过墙皮,灰线就扑簌掉点渣)
      沉默推门(门轴替你开口)
      势力窗:晦历500 边境临时军法 · 与《世界观》年表第12条对齐
    • Final Resolution 门前再检定 坚韧与并肩 + meta_roll() + 九大结局分流逻辑(与 script.rpy / text_runner.py 同源)。
      命运轴(秩序 / 控制) THRONE · CYCLE 系——王座、轮回永续、结构性反噬。
      个体轴(关系 / 存续) DAWN · CANDLELIGHT · COVENANT · ASCENSION 系——日常、牺牲分摊、飞升与锚点损耗。
      未知轴(认知 / 越界) AUTHOR · PILGRIM · JUDGEMENT 系——元叙事、提前朝圣、自白与审判镜。

主流程(当前实现)

Loop 1-2

关系与基础隐线入场,可低概率提前收束。

Loop 3-4

卡修斯并线,真相压强上升,中段分流增多。

Loop 5-6

推门节奏与经句线决定终局窗口。

Loop 7 + Final

高轮次开启审判/盟约分支,进入终局结算。

  • 流程:Start → Loop1 → Loop2 → Loop3 → Loop4 → Loop5 → Loop6 → Loop7 → Final Resolution
  • 每轮末执行 early_resolution_check(stage),命中可提前终局
  • Loop5/Loop6 保留“立即推门 / 延后推门”,直接影响终局池

势力事件周目排程(已接入)

  • Loop1(叙事节奏):村口主菜单前以体感与争盐冲突为主;盐税告示与北境闲话、三路角色地理预告在长版里接 Loop2 醒来首段旁白(与 game/script.rpytext_runner.loop_two 同源)
  • Loop2:晦历490(P1)前庭古语误译事故 + 晦历489(P2)补给案后续追查
  • Loop3:晦历492(P1)雾港遗物拍卖夜 + 晦历494(P2)灰原护路兵变
  • Loop4:晦历493(P2)医誓文本归属争议 + 晦历496(P2)七城契约重签失败
  • Loop5:晦历495(P1)裂谷前哨封锁令 + 晦历497(P1)看守团夜审名单泄露
  • Loop6:晦历498(P1)雾灯会停火提案 + 晦历499(P1)钟楼无风自鸣事件
  • Loop7:晦历500(P1)边境临时军法

交互分支连线图(节点 + 箭头)

点击每轮标题可折叠。选项文案与 story_text.txt 对齐(含 Loop4「找塞西尔和旧书」「把救人这件事摊开讲」及括号内代价提示)。凡条目含 clue_*,均在右侧缀括号叙事名(与终端 show_stats 同源)。常规桌面宽度下四段节点自上而下阅读;至极宽屏(约 ≥1500px)可切换为横向一行与箭头。阅读顺序:选项节点 → 剧情节点 → 数值节点 → 结局池。

Loop1 起步分流
选项把黄昏刺杀直接摊开
剧情当场跟塞西尔对峙上了,火气提前冒出来
数值authority↑
结局池THRONE / JUDGEMENT
选项递水壶 / 点头搭话
剧情米迦这头先认了人——协作起早,后面路好走些罢了
数值sync↑ mika_bond↑
结局池CANDLELIGHT / COVENANT / ASCENSION
收束黄昏 · 塞西尔入队(各分枝共通)
剧情刺客线落地,暗影徽记入档
数值clue_cecil=True(暗影徽记)
后续Loop2 · 井沿神殿
Loop2 关系锁定
选项提黑水河的梦
剧情米迦记忆缝隙被点亮
数值mika_knows_me=True
结局池终局大成功时优先 ASCENSION
选项塞西尔巷口试射
剧情止战弓法生效,风险被压低
数值thread_mercy↑ thread_obsession↑
结局池COVENANTTHRONE 双向拉扯
选项你身边有刺客
剧情证词摊开时刀刃还朝内;缄卷线与暗影徽记同夜亮起,难分先后
数值clue_truth=True(缄卷裂真)clue_cecil=True(暗影徽记)
选项去街角和塞西尔聊
剧情凶险讲清了,弓手才把「尚有可能」四字听进去
数值sync↑ cecil_bond↑ clue_cecil=True(暗影徽记)
Loop3 真相加压
选项把轮回真相说到明面
剧情米迦信任震荡,队长位显化
数值authority↑ tenacity↑
结局池THRONE / DAWN
选项卡修斯读掌纹
剧情裂纹被确认,启示压强上升
数值thread_revelation↑ thread_erosion↑
结局池AUTHOR / CYCLE
选项带他去旧神殿
剧情潮气先入眼,神殿窗缝裂开
数值clue_shrine=True(七灯残阶)
选项去看卡修斯带来的法术书
剧情学团抄写本翻到应验条目一侧;长老誓蜡线浮起
数值cassius_bond↑ clue_elder=True(蜡誓遗册)
Loop4 身份冲突
选项找塞西尔和旧书
剧情医誓台侧、卢西恩与旧书线索并线
数值cecil_bond↑ lucien_bond↑ clue_elder=True(蜡誓遗册)
结局池COVENANT / JUDGEMENT 医学‑启示向
选项把救人这件事摊开讲
剧情关系强收束,米迦承重
数值sync↑ tenacity↑ mika_bond↑
结局池DAWN / ASCENSION / CANDLELIGHT
选项认下执印遗裔之名
剧情关系强震,决断权集中
数值authority↑ mika_knows_me=True
结局池THRONE / ASCENSION
选项替米迦包扎旧伤(布条吸血,心口回暖)
剧情卢西恩医线触发,队伍回温
数值thread_mercy↑ sync↑
结局池COVENANT / CANDLELIGHT
选项去神殿看戒指
剧情锈蚀戒指摊开,刻痕硌掌心
数值clue_shrine=True(七灯残阶)
Loop5 推门窗口
选项今夜就推门
剧情直接跳终局结算,成本前置
数值scripture_mark↑ obsession↑
结局池PILGRIM / THRONE
选项再观一轮风向
剧情延迟推进,换深层情报
数值meta_awareness↑ mercy↑
结局池开放 Loop6 / Loop7 高阶分支
选项去找最后一扇门
剧情门后那股冷风先扑面;缄册烙印与神殿那枚拓印一块儿加深——债叠债罢了
数值clue_truth=True(缄卷裂真)clue_shrine=True(七灯残阶)
选项直接带线索去旧庭要塞
剧情路改棱堡,卷筒与刀背带齐;押上去的还有脚底那串脚步
数值clue_truth=True(缄卷裂真)
Loop6 高压预审
选项读七灯教义 / 立刻开门
剧情经句线抬升,神殿反馈增强
数值scripture_mark↑ authority↑
结局池JUDGEMENT / AUTHOR
选项卢西恩查伤 / 再等一轮
剧情生存线加厚,关系线回弹
数值thread_mercy↑ tenacity↑
结局池COVENANT / DAWN
Loop7 最终收束
选项封蜡 / 朗读禁章
剧情名字入卷,未知层通道开启
数值revelation↑ scripture_mark↑
结局池JUDGEMENT / AUTHOR
选项系紧护腕 / 沉默推门
剧情关系与肉身承受优先
数值sync↑ mercy↑ tenacity↑
结局池COVENANT / CANDLELIGHT / DAWN

污染强度预览层(L0 / L1 / L2)

Loop4 门前镜头

你们站在旧殿门前。风掠过石缝,带着湿冷的灰味。

Loop5 推门前镜头

你抬眼看向最后一扇门。门缝里吐出的风冷得发苦。

Loop6 审前镜头

门前的雾更厚了。你说话时,尾音会被湿气吞掉一截。

Final 门石镜头

你把掌心贴上门石。冷意先到,随后才是那阵迟来的轰鸣。

命册节律 · 口授七夜(原「周内七日对话」)

  • 每周固定 7 次口授、每向 1 次分支;当周秘仪名依次为余烬权/缄影契/镜篆兆/裂契谶/回响钤/沉钟诰/阈扉仪(程序内 WEEK_LECTORY_ARCANUM),叙事氛围仍循余烬→暗线→镜纹→裂痕→回声→沉钟→门槛之阶
  • 每日根据当日角色切换专属选项与回应词库:米迦、塞西尔、卡修斯、卢西恩(见 VOICE_LIBRARY
  • 选项肢统一带 角色名| 前缀(全角竖线),避免按日换人时玩家不知在回应谁;宽度由 ROLE_DIALOGUE_CONSTRAINTS.option_lenconstrained_voice_block() 约束
  • 第一周:run_week_dialogues(..., 1) 前仍以体感与村口冲突为主;盐税告示与卢西恩/塞西尔/卡修斯三路长篇指名预告改在本章 Loop2 旁白首段读出,再衔接七日。run_week_dialogues(..., 1) 内仅以一句短接引扣回按日节奏。
  • know_* 门闸第一周米迦村口+首周口授、黄昏塞西尔第二周口授前北街针线侧卢西恩观感入档;第三周镇口卡修斯——三至四周内线四人声纹齐备。口授题名与队内反应皆受 know_* 约束;未识时 resolve_oral_voiceORAL_STANDIN_PROMPTS 代班
  • 日内小事件:每向前输出 「第 N 天」后插入 DAILY_MICRO_EVENT_RULES 旁白(七章×七日),再进入当日 focal。文案与存档识认对齐:在每条含多档旁白的日中,在满足「条目所需角色 ⊆ 玩家已 know_*」的前提下,优先选用「所需角色」条目最多的一条;未识认者可闻声见影得其习,不立姓名、不写与你比肩相认的私交,仅谣传埋线,避免信息越过玩家当时掌握。
  • Ren'Py:发布版在每轮主菜单前由 zzz_oral_bridge.rpy 运行时导入项目根的 text_runner.py 调用 run_week_dialogues;与终端口授条目逐字同源(缺模块时单行提示跳过)。分发请保留 text_runner.py 或与之一致的内嵌拷贝。
  • 达到最早触发日后执行周内暗骰;命中后主事件可提前进入,未命中则继续铺线
  • 周末结算按 soft / probe / press 倾向回写状态与关系,影响后续分支池与终局倾向

分支原则(哲学偏向版)

  • 不提供“最好/最坏”结局,只提供立场偏向
  • 每条结局必须同时给出即时收益与延迟后果
  • 提前收束会把代价前置,承担时间因此更早

判定骨架

  • 主检定:roll_check("坚韧与并肩", tenacity + sync, 12)
  • 暗骰:meta_roll()(逻辑层用数值;提前结局与裂缝 UI 的玩家可见文案不宣读点值)
  • 周内暗骰:hidden_week_gate(state, loop_no, day, mood)(决定主事件触发日)
  • 隐线:thread_mercy / obsession / erosion / revelation / scripture_mark
  • 关键状态:mika_knows_me / authority / tenacity
  • 对话约束层:ROLE_DIALOGUE_CONSTRAINTS + constrained_voice_block()(禁用词/句长阈值实时约束)

命运轴(Fate)

  • 接受既定结构,换稳定但失深层真相
  • 改写既定结构,换主动权与秩序风险
  • 被结构反噬,换短期生存与长期回环

个体轴(Self)

  • 保全边界,关系可能减弱
  • 交换边界,关系增强但自我磨损
  • 边界溶解,进入元层但失现实锚点

未知轴(Unknown)

  • 拥抱未知,扩大可达结局池
  • 利用未知,提升效率但代价前置
  • 拒绝未知,降低波动但冻结问题

角色结构(当前版本)

  • 奈尔:银发红眼,轮回记忆持有者
  • 米迦:棕发绿眼,情感与行动锚点
  • 塞西尔:黑发紫眼,温和克制的弓手锋芒
  • 卡修斯:旅法抄写者,红发常与墨迹同速,代价与落款都说在前面
  • 卢西恩:淡金发、灰蓝眼,小队医师,负责“损耗托底与代价缓冲”

卢西恩介入节点(新增)

  • Loop5:廊下持灯,强化“终局前恢复窗口”的叙事锚点
  • Loop6 选项:让卢西恩再查一次伤口,引导 thread_mercy + tenacity
  • COVENANT:作为战后托底角色,承接“共同行动但长期负担上移”的后果
  • 设计定位:承担“代价处理器”与“队伍连续性保险”职责

Ending Map / 结局偏向图(九结局)

命运轴(冷峻)

DAWN
条件:大成功 + mika_knows_me = False + mika_bond >= 1
偏向:保住同行与秩序表层,换取可继续的明日
代价:深层真相让渡,未知保持沉默
命运轴主导
THRONE
条件:大失败 + 高authority + 高tenacity
偏向:夺取控制权,用秩序压制不确定性
代价:关系网重损,个体逐步孤立
命运轴主导
CYCLE
条件:默认失败回环 / 侵蚀线命中
偏向:维持存在连续,拒绝一次性崩解
代价:系统问题持续累积,代价递延放大
命运轴主导

个体轴(肉身)

CANDLELIGHT
条件:牺牲取向分流命中 + lucien_bond + cecil_bond >= 1
偏向:优先保他者存续,主动承担燃烧成本
代价:自我磨损累积,长期恢复窗口缩窄
个体轴主导
ASCENSION
条件:大成功 + mika_knows_me = True + mika_bond >= 2
偏向:共鸣式前进,关系与认知同步增长
代价:现实锚点削弱,回归常态难度上升
个体轴主导
COVENANT
条件:高轮次 + 高仁慈 + 主检定通过 + lucien_bond >= 2 + cecil_bond >= 1
偏向:共同行动与克制推进,维持队伍连续性
代价:变革速度下降,长期负担上移(由卢西恩托底)
个体轴主导

未知轴(神谕)

PILGRIM
条件:早推门 + 经句标记 + 暗骰门槛命中 + mika_bond >= 1
偏向:提前行动,以个体先行换答案窗口
代价:队伍连接断裂,答案保持未完成态
未知轴主导
JUDGEMENT
条件:高轮次 + 高启示 + 经句标记 + cassius_bond >= 2 + clue_elder = True
偏向:承认自我并接受审判,主动进入高压真相层
代价:旧秩序不可逆损伤,个人被结构留名
未知轴主导
AUTHOR
条件:meta_awareness >= 2 + 暗骰 20 + cassius_bond >= 1
偏向:突破叙事边界,触碰未知源头
代价:个体边界与现实边界同时稀释
未知轴主导

结局文本同步查看(可展开)

黎明 / DAWN(命运轴)

石柱裂开了缝,风里墨味发干。你报名字——米迦念顺了些,倒也像是把一记迟晴天硬按回人间的样子。随后在边境镇上落脚,日子过得琐琐碎碎;更深那层就先搁着吧。

王座 / THRONE(命运轴)

你挤着人跨过裂口坐上黑王座——权贴在背上发凉,肩胛像烙了编号似的。次序拿稳了;至于还有没有人认真喊你……那是往后才慢慢算账的事。

轮回 / CYCLE(命运轴)

村口风又打脸;告示换新纸罢了,落款折痕却仍卡在老地方。照旧点头照旧抬脚,流程像签字画押,撤不回呢。

烛光 / CANDLELIGHT(个体轴)

你在崩塌里倒下,热气从肋骨间一点点被挤走。米迦的回应像旧誓反复发作,塞西尔转身去截断那条线。后来你的名字成了队伍里一处会痛的旧伤,每次触到都逼人站直。

飞升 / ASCENSION(个体轴)

你握米迦那只手——光爬上指缝,石壁神殿一层层退去。新路是踏上了,可要记住的句子却一天比一天薄:只剩手心那点热还认得。

誓约分摊 / COVENANT(个体轴)

你推门也放剑,队伍一起跨过去。卢西恩合上药箱,铜扣一响像句号落地。没有人被宣布胜利,你们只是约定用肉身长期偿付同一份账。

朝圣者 / PILGRIM(未知轴)

你跨过门槛,呼喊声很快被风拉远。石路没有拐点,灯芯越走越短。你带着问题往前,等后来的人给终点起名。

审判 / JUDGEMENT(未知轴)

门只开到半掌,七盏灯随后依次亮起——判词先在你掌心里淌开,才去照旁人。你真带走了一部分;骨血名声却粘在门板深处抠不下来。

作者 / AUTHOR(未知轴)

耳骨边有低声呼唤,门影和手背先裂成字。米迦示警页边收口,三人从黑底踏出。故事停在这一行,你在句子背面看见新墨继续爬行。

隐藏数值分支速查(开发)

  • thread_mercy / thread_obsession / thread_erosion / thread_revelation / scripture_mark
  • Loop1“刻记号” -> revelation +1, erosion +1
  • Loop2“试射一箭” -> mercy +1, obsession +1
  • Loop3“读掌纹” -> revelation +1, erosion +1
  • Loop4“包扎旧伤” -> mercy +1,并给关系缓冲
  • Loop5-7 经句相关选项可抬升 scripture_mark 与启示倾向
  • 每轮尾调用 early_resolution_check(stage):门槛命中即即时分流