17 KiB
元进度
一句话:跨局成长——钥石在营地换成永久强化,存档随冒险变厚 状态:已定稿(2026-09-18 元进度定稿批,用户拍板收口) 旧版参考:../../../archive/gdd-2026-09-14/systems-index.md(旧体系未单独成文,散见于归档索引)
设计目的
元进度管的是跨局成长:一场冒险结束,局内的血、库存与随机种子全部清零重来,而存档里攒下的东西不清零。玩家在下探途中夺得一种叫钥石的永久资源(渠道有二:关卡大奖励入账、关底 Boss 掉落),在冒险与冒险之间用它换永久强化——这就是核心循环里「存档在变厚」的故事线,本系统就是这条线的归属地。
定名(2026-09-18 用户拍板):元进度(Meta Progression)是系统族名,本作落地名叫永久强化——伴随存档生命周期、可被钥石换取的成长资源集合。归档线索里的「天赋树」一词就此退役:本作不存在树形结构,只有营地柜台上架的强化条目。营地是存档内消费钥石的枢纽场所,只是界面壳(呈现层概念),不是机制实体——机制主语一律用「永久强化」。
系统范围
边界这样划:元进度只管「钥石与永久强化」这条跨局账——钥石怎么进存档、能换什么、换到的东西怎么进下一局。局内的一切(这层打不打得过、Boss 怎么死、奖励发什么)都归单局循环的各系统;元进度只在冒险结算之后接手,在下一局开始之前兑现。
负责:
| 负责 | 说明 |
|---|---|
| 钥石的跨局账本 | 钥石入存档、永不丢失;换强化花了多少、还剩多少 |
| 营地三柜台 | 属性锻造 / 道具工坊 / 奖励格图鉴——永久强化的全部内容承载(见核心规则) |
| Boss 重复击杀的钥石产出规则 | 首杀全量、重复杀固定小额(数值读表) |
| 换算率表 | 永久强化对难度带影响的折算登记(区间平移换算率,见核心规则) |
| 永久强化的跨局生效 | 解锁结果在开始新冒险时注入下一局(冒险开始参数面 + 覆盖值通道) |
不负责:
| 不负责 | 归谁 |
|---|---|
| Boss 击杀等局内事件的判定 | 冒险结构(关卡收束)——本文只消费其结果 |
| 关卡大奖励的钥石入账 | 冒险结构——记账挂点已定,本文是消费方 |
| 存档的读写与版本迁移 | 存档序列化——本系统是存进去的内容之一 |
| 换算率表数值行与配置表承载 | 数据配置——本系统登记键结构、设计批回填数值 |
| 营地界面、钥石余额与解锁呈现 | HUD 框架——本批只拍交互框架(双入口),视觉与实现随对方 |
| 难度区间模型本身 | 难度曲线与Boss——本文只经区间平移换算率接入 |
| 奖励格图鉴的格子内容设计 | 地图战斗资源(差异化批,排 Alpha)——本文只登记柜台结构位 |
在核心循环中的位置
一场冒险(排雷 → 结算 → 下探 → 死亡或通关)──▶ 冒险之外:钥石入存档 → 营地换永久强化 ──▶ 更厚的存档开局下一局
元进度不是一场冒险里的一段,而是贴在「死亡重开」出口外面的跨局局:局内胜负归零,钥石与永久强化不归零。它不改动单局循环的任何规则——没有它,一场冒险照常成立。
核心规则
钥石:入账渠道与重复获取
钥石是玩家在局内夺得、在局外消费的永久资源,2026-09-14 拍板定名。渠道有二(2026-09-17 拍板统一):关卡大奖励入账(每通关一关兑付,行值读冒险表 keystone_per_level)、关底 Boss 掉落。钥石存进存档、永不丢失,就算之后倒下也不收回。
与 GP 的分工(2026-09-20 GP+商店房批注记,知会性质):钥石 = 跨局持久的解锁资源(入存档永不丢失);GP(显示名「金币」)= 冒险内一次性的属性提升货币——局内清零、不入存档,钱包账本归冒险结构。两币记账与生命周期完全分离,永不互兑。
重复获取规则(2026-09-18 用户拍板):同一 Boss 首次击杀给大额,之后的重复击杀只给固定小额——不设递减曲线,存档只记首杀标记位。设计意图:深度关的产出优势是长线驱动(配合定价几何递增,见下),重复刷老关仍有小额意义但不构成无上限的产出泵。两档数值与两渠道量级配比归元进度设计批配读数投值,行值读表。
营地三柜台:永久强化的内容承载
玩家结束一次冒险回到存档内的营地,用钥石在三柜台消费(2026-09-18 用户拍板):
| 柜台 | 内容 | 解锁渠道 |
|---|---|---|
| 属性锻造 | 生命上限、基础攻击、护甲等级——三档可重复升级的属性强化 | 钥石直购 |
| 道具工坊 | 六件辅助道具的解锁(探宝罗盘、工兵令、探巢摆钟、爆破工兵包、显影尘、地穴全图卷) | 首版全走关卡通关次数达标;钥石直购价随定价批后补,最终双渠道并存 |
| 奖励格图鉴 | 特殊奖励格的解锁——更强效果的格面 | 结构位现定;格子内容排 Alpha,随地图战斗资源差异化批落地 |
投值语言锁定(2026-09-18 数值语言拍板):三柜台属性强化一律 flat 整数加减("每级 +1 基础攻击"式,而非"+50% 攻击"式)——避开百分比词条被数值成长稀释的先例陷阱、守住数字可读性锚;具体每级数值仍归元进度设计批投值。
三条柜台纪律:定价曲线一律几何递增(每级费用按公比上浮——原则已拍板,起步价与公比数字归设计批配读数),与产出逻辑配套:深层关钥石产出多、后级强化贵,逼玩家往深处走。道具工坊首版只挂通关次数渠道是排期裁决(定价体系未建时的零定价依赖落地形态),不是终态。存档义务随柜台产生:钥石余额、永久强化等级表、每关通关次数表、Boss 首杀标记位——四件已逐域登记在 registry save_file 条目(内容 owner = 元进度,承载 owner = 存档序列化)。
护甲等级进首版属性柜台是 2026-09-18 拍板(用户选 A),其代价条款见下方换算率节的强条目登记。
区间平移换算率:永久强化怎么影响难度验收
解锁让玩家变强,难度验收区间随之需要平移——双方约定(难度曲线与Boss 定稿口径)永久强化的影响不直接改难度判据,而是按统一换算率折算成通关率带的平移量后套用:完美档 gate 与 normal 目标带的判读口径不变,带随解锁等级平移。
换算率表(registry 键 meta_progression_conversion_table,数值行读 data/tables/meta.tres conversion 行族)登记三个属性维度(2026-09-18 拍板;"行" = 表内一条记录,一个属性维度即一行条目,全仓与"行值"同义)。现行表值(2026-09-23 换算率标定批投值——OFAT 冒险注入档与白板同种子配对的逐关条件通关率差实测,冒险条件口径 + 当日数值包现行态;报告 ../../../qa/conversion-calibration/calibration.raw.md,判定端 ④ 段可复判):
| 换算行 | 折算语义 | 每级带平移量(现行表值) |
|---|---|---|
| 生命上限强化 | 每级折算为通关率带平移量 | 6 点 |
| 基础攻击强化 | 每级折算为通关率带平移量 | 9 点 |
| 护甲等级强化 | 每级折算为通关率带平移量 | 1 点 |
判定端(tools/balance_verifier.py)表值驱动消费:验收带按解锁状态 flat÷每级flat×表值平移后套用,表改则判定随动。护甲行强条目重测义务已于标定批履行(解锁后参数实测,非基线外推);标定同时暴露并修复护甲断链(begin_battle hero_armor_class 参数零消费——主角护甲锻造与加算区护甲轴的生效值此前未进战斗),修复见 battle_orchestrator _defender_ac 批注。
后续柜台商品(道具工坊钥石价、奖励格图鉴)上架时逐条补行——每次上架新商品伴随一行换算登记,逐行归因纪律不破。
跨局注入:解锁怎么进下一局
注入通道沿用两处预留位(2026-09-18 拍板确认):冒险结构的冒险开始参数面(无解锁时为空参数)+ registry hero_override_parameter_passing(begin_battle 显式入参,-1 = 表值兜底)。
执行口径:开始一次新冒险时,本系统按存档内的永久强化状态算好一份 override,逐字段显式传给战斗初始化——配置因此不是完全静态的,随游戏进程动态改变(用户拍板原话口径)。字段清单随柜台扩展:属性锻造三档是数值覆盖;道具池、遭遇权重、奖励格解锁是集合操作,参数面登记追加 / 替换两种语义。
解锁界面:双入口框架
(2026-09-18 拍板)主菜单设营地独立入口(消费钥石、查看与管理永久强化);局内暂停层也可查看钥石余额与已解锁清单(只读)。钥石余额在 HUD 常驻展示。交互与视觉实现归HUD 框架协作批,且以表现层样张过审为前置——本批只锁框架,不动实现。
单局循环零依赖:排期边界的推论
元进度整体排在 Alpha(见不做清单:先把单局循环做扎实,跨局成长是之后的事)。由此有一条硬边界:单局循环必须在没有元进度时完全成立——排雷、战斗、下探、失败重开,一件不少;第一局的白板存档就是完整可玩的游戏。元进度只回答「下一局比上一局多了什么」,不回答「这一局怎么玩」。
依赖与输出
| 方向 | 系统 / 文档 | 接口要点 |
|---|---|---|
| 上游 | 冒险结构 | 关卡收束与钥石入账挂点——钥石入账的局内事件源;冒险摘要(通关几关、记了多少账、Boss 首杀标记)由本系统消费 |
| 上游 | 存档序列化 | 钥石余额、永久强化等级表、通关次数表、首杀标记的持久化承载方 |
| 上游 | 数据配置 | 换算率表与定价表的承载与读取机制——本系统为内容回填责任方 |
| 下游 | 冒险结构 | 冒险开始参数面——永久强化在开局注入的通道(无解锁时空参数) |
| 下游 | 难度曲线与Boss | 解锁状态经区间平移换算率接入难度验收(带平移) |
| 下游 | 地图战斗资源 | 奖励格图鉴的格子内容归对方差异化批,本系统只持解锁开关 |
| 下游 | HUD 框架 | 营地界面、钥石余额与解锁呈现归对方,本文提双入口需求 |
P0 最小闭环
MVP 不要求本系统的闭环(不做清单整体排 Alpha),P0 的语义就是那条硬边界:单局循环零元进度完整成立。Alpha 期最小集合:钥石能跨冒险入账并存进存档;属性锻造至少一档强化能在下一局开局生效(换算率表对应行先行);通关次数渠道能解锁至少一件道具;玩家能在营地入口看懂自己有几枚钥石、换了什么。
P1 / P2 后置
| 优先级 | 内容 | 后置原因 |
|---|---|---|
| P1 | 三柜台内容铺量与定价数字 | 柜台结构已定稿;清单明细、几何定价的起步价与公比、Boss 两档产出数值,随设计批配读数投值 |
| P1 | 道具工坊钥石直购价 | 首版只挂通关次数渠道(零定价依赖);定价体系建成后补价,收敛双渠道 |
| P1 | 奖励格图鉴的格子内容 | 排 Alpha,随地图战斗资源差异化批 |
| P1 | 换算率表数值行标定 | 已完成(2026-09-23 换算率标定批——首版三行投值 6/8/1,护甲行强条目重测随批履行并修复护甲断链) |
| P2 | 营地界面与解锁呈现实现 | 归HUD 框架协作批,以表现层样张过审为前置 |
调参表
本系统的数值行全部外置(数值纪律:正文只定规则与键结构,行值读配置表):
| 表 | 键结构归属 | 数值行 |
|---|---|---|
换算率表(meta_progression_conversion_table) |
registry 已登记,本文 owner | data/tables/,设计批投值(首版三行,护甲行强条目) |
| 定价表(属性锻造 / 道具工坊 / 奖励格图鉴费用曲线) | 随设计批建账 | data/tables/,几何递增参数 |
| 钥石产出(每关入账值 / Boss 首杀额 / 重复杀小额) | 入账挂点见冒险结构调参表(keystone_per_level);Boss 两档归本文设计批 | data/tables/ |
验收标准
- 钥石不丢:取走钥石后,无论后续冒险成败、重开多少次,存档内的钥石数量只增不减(消费除外)。
- 白板成立:全新存档的第一局与「零永久强化」状态完全一致,不因本系统存在而改变任何局内规则。
- 单局零依赖:禁用元进度后,单局循环的全部现行验收照常通过。
- 解锁可见:换强化后,下一局能遇到或用到强化内容,玩家能说出这局与上局的具体差别。
- 首杀可归因:Boss 首杀与重复杀的入账在冒险摘要中可区分,重复杀小额恒定、不随刷取次数递减。
- 换算可审计:每级永久强化对应的带平移量在换算率表有行可查;验收读数以平移后带判读,护甲行不得用基线读数外推。
待办
本系统待办条目已统一收编至 06-待办清单,本节不再逐条登记。
版本历史
| 版本 | 日期 | 改动 |
|---|---|---|
| v0.1 | 2026-09-15 | 自归档线索整合为范围草案(旧体系未单独成文) |
| v0.2 | 2026-09-17 | 代币→钥石统一拍板随批措辞清偿:资源模型裁决闭合(同一资源,渠道 = 关卡大奖励入账 + Boss 掉落),「代币记账」改名「钥石入账」。机制未动(本文仍为范围草案) |
| v0.3 | 2026-09-17 | 数值纪律收口批:正文 knob 现行值改指路存根(事实源 data/tables/*.tres 与 registry),3 处失同步修正(钥石入账 +10/关 三处改「每关固定值,行值读冒险表 keystone_per_level」) |
| v1.0 | 2026-09-18 | 元进度定稿批(用户拍板六件收口):定名「永久强化」(系统族名元进度保留,「天赋树」退役、「营地」为界面壳);营地三柜台(属性锻造三档含护甲等级 / 道具工坊六件首版通关次数渠道 / 奖励格图鉴结构位);Boss 重复获取 = 首杀全量 + 重复杀固定小额;定价几何递增原则;区间平移换算率启用(换算率表首版三行、护甲行强条目、数值读 data/tables);注入 = 冒险开始参数面 + 覆盖值通道(override 集合操作:追加 / 替换);解锁界面双入口框架。本文自范围草案升定稿 |
| v1.1 | 2026-09-18 | 数值语言拍板批(与 01-核心循环 数值语言条款 / 难度曲线与Boss / registry / 06-待办清单 / 切片代码同批):营地三柜台节新增投值语言锁定条款——属性投值语言锁定 flat 整数加减,数值投值仍归设计批 |
| v1.2 | 2026-09-20 | GP+商店房批注记(知会性质——与冒险结构 v0.5 同批):钥石节新增与 GP 的分工一行——钥石 = 跨局持久解锁、GP(「金币」)= 冒险内一次性属性提升、局内清零不入存档,双币生命周期切分成文、永不互兑。机制零改动 |
| v1.3 | 2026-09-21 | 元进度实现批(与切片代码 / registry / 02 / 03 / 05 / 06 同批):本批 = 本文的实现批——MetaTable 四行族建表(data/tables/meta.tres,数值全 provisional 归设计批配读数);MetaProgression 账本服务(余额/几何定价/购买/工坊解锁/Boss 两档入账/注入计算,Core 层零 UI 零信号);注入通道落地(start_adventure params.hero_override → LevelRunner base_override,叠加序 = 表值+永久强化 flat+加算区 flat × 测试面板 pct);呈现面(营地覆盖层三柜台+主菜单入口+A 区顶栏钥石余额+结算屏入账明细,ui_kit 程序占位——视觉终稿归 HUD 协作批)。正文零改动(实现面不回流正文——正文零历史叙述纪律) |
| v1.4 | 2026-09-23 | 换算率标定批(用户指令「现在标定」;与切片代码 / registry / 06-待办清单 / 判定端工具同批):换算率节回填现行表值(生命 6 / 攻击 9 / 护甲 1 点每级——OFAT 冒险注入档与白板同种子配对的逐关条件通关率差实测,冒险条件口径;同日单关直入口口径退役使首轮直入口面读数作废重测);护甲行强条目重测履行并暴露修复护甲断链(begin_battle hero_armor_class 参数零消费→_defender_ac 接线);判定端带平移表值驱动接线(带重锚后随换算率平移判);排期表 P1 行销项 |