12.3 参数敏感性与漂移诊断
上线前先问「哪个参数最危险」,上线后再问「经济有没有跑偏」。这一节对五个关键参数做 ±20% 单参数扫描,按稳态存量摆幅排出最危险的三个参数;再用最小二乘从存量时序反推漂移速率,判定通胀/通缩/稳态,并以一组已知漂移的对照序列做检测基准验证。
tag
上线前先问「哪个参数最危险」,上线后再问「经济有没有跑偏」。这一节对五个关键参数做 ±20% 单参数扫描,按稳态存量摆幅排出最危险的三个参数;再用最小二乘从存量时序反推漂移速率,判定通胀/通缩/稳态,并以一组已知漂移的对照序列做检测基准验证。
分层和归属定完资源的身份,这一节给经济配一个动态机制——复式账本:每一次资源变动都是一组借贷分录,产出记 @source、消耗记 @sink、玩家间转移只搬存量。配一段可跑的 Python 脚本,跑完一批交易后断言总量守恒,再用 B 层基准压测记账路径不会漏记。
上一节按稀缺度给资源分了层,但稀缺度不回答「它归谁、能流到哪」。本节给资源加第二个正交维度:绑定与非绑定、账号级与角色级,用一张四组合表讲清同一资源在不同归属下能不能跨玩家交易、能不能账号内共享,并配一段可跑的 Python 脚本校验归属矩阵的完备性、一致性与反例自检。
经济系统的第一块地基是分层:把资源按稀缺度分成基础、进阶、稀有,把货币按流通范围分成软货币、硬货币、代币,讲清每层的作用与流通边界,并用一段可跑的 Python 脚本从 config 里读出分层、校验「每层至少一种资源」与「不存在孤立资源」。
上一节定下了版本列车的到站日期,本节回答「能不能做完」。用每个任务的人天估计与各职能每日产能,算出确定性完成日与瓶颈职能,再用蒙特卡洛把点估计变成区间,量化排期的系统性乐观偏差,并用《王朝纪元》版本的真实跑数,给出留缓冲与砍需求两类可执行决策。
解锁节奏不是拍脑袋定天数:本节把每个系统的前置链与天数门槛写成一张门槛表,用 S 层脚本逐日推进,算出「第 N 天解锁第几个系统」的时间轴与累计曲线,再用 TypeScript 原型测试断言它与 Python 侧逐位一致,并解释为什么「前置满足」不等于「当天就能开」。
把 SLG 的长线目标做成可校验的台阶刻度:给定每日发展度收入,算出《王朝纪元》8 级目标的达成日与相邻间隔,用「追求感带」判定每个台阶是太密还是太疏,并让 Python 与 TypeScript 两侧算出逐位一致的结果,把追求感从口头判断变成可回归的断言。
把 SLG 的节奏拆成日、周、赛季三层时钟:用 24 小时行为密度曲线与行为锚点算出峰均比 266%,用周权重找到峰值日,用赛季相位划开荒到结算共 70 天,并给一个 B 层基准把设计曲线与均匀基线对照,说明为什么日峰均比可以高、周峰均比却要克制。
把「谁愿意花钱」从一句运营直觉变成一条可仿真的意愿轴:定义《王朝纪元》五层意愿分层,用动机原型的意愿基准加扰动抽出万人样本,算出各层占比、相对目标的偏差与每层的主导原型,并把同一份配置在 Python 与 TypeScript 两侧复算,全程只做画像、不碰任何定价。
把「玩家为什么玩」从一句访谈结论变成可仿真的权重向量:定义《王朝纪元》五种原型的动机权重,用带种子的确定性 PRNG 抽出万人样本,算出人群占比、动机均值与 P90,并把同一份配置在 Python 与 TypeScript 两侧跑到逐位一致。
识别出事、归类出事之后,最后一节回答出事那一刻该做什么。先把处置拆成发现、止血、定位、修复、补偿、复盘六步,再把最难的决策——回滚——切成三条边界:哪些能回滚、哪些只能补偿、哪些只能接受。配一段可跑的仿真,把「发多了资源」的一次事故在三种处置下算成货币通胀与玩家损失,并给出等权代价最小的推荐。
上一节教会我们认出可疑账号,这一节处理已经发生的事故。SLG 的经济事故翻来覆去就那么几类:产出漏洞、复制 bug、汇率套利、赛季重置算错、补偿发多。每一类都给「症状 / 根因 / 影响面 / 处置」四段,并把案例库结构化成一份可校验的配置——真实事故一律标 X(需真实业务环境,命令行不可复现),只归纳公开可观察的机制。
经济系统设计得再稳,也会被人从外部撬动。这一节把打金识别拆成四条可判定的统计规则——单位时间产出离群、资源转移的星型拓扑、账号行为高度同步、资源流向单一出口——用自己实现的确定性 PRNG 造一批模拟账号,跑出混淆矩阵与阈值扫描曲线,并用一份配置同时喂给 Python 与 TypeScript,证明两侧结果逐位一致。
撮合规则只决定「谁和谁成交」,定价机制才决定「成交在什么价位、能不能一直成交下去」。本节讲价格如何形成——供需、锚定、系统指导价——以及流动性怎么用挂单深度、成交率、买卖价差来度量;再用多玩家限价订单簿仿真跑 40 轮,观察价格收敛与价差收窄,输出 CSV 与纯 Python SVG 图。
赛季边界是 SLG 最彻底的货币回收手段。本节让四种方案(不清零 / 全额清零 / 按比例压缩 / 压缩+保底)各跑 10 个赛季、每赛季 90 天:不清零的赛季初存量膨胀到 2500 万,全额清零永远停在 0,按比例压缩收敛到 13 万却低于健康带,只有压缩+保底收敛到 20 万。附纯 Python SVG 与 TypeScript 对照。
同一段经济,叠加不同的沉淀与回收组合,存量曲线会走到哪?本节用《王朝纪元》跑 150 天:升级消耗、仓库税、交易税三档沉淀,限时兑换、赛季宝箱、拍卖行抽水三档回收,对比四种组合的终值与末段斜率,得出「沉淀决定稳态高度、回收决定到达速度」的结论。
经济生病了,第一步是能诊断。本节把「通胀 / 通缩 / 健康」从口头判断变成可判定的量:读一段存量时序,算出存量、价格、交易三组日均变化率,再归因到产出侧、消耗侧或外部注入;用《王朝纪元》五个场景验证判定与归因,并给出判定稳定性与余量的 B 层基准。
把产出与消耗合起来跑 180 天多玩家闭环仿真:300 名玩家、确定性 PRNG、逐日结算存量,判定经济是否收敛到稳态。输出 JSON、CSV 与纯 Python SVG 三曲线(存量/日产/日耗),并给出稳态偏差基准——第 170–180 天存量相对波动,软告警不硬失败。
把「存量 = 历史产出 − 历史消耗」写成方程,推导稳态条件:产出速率 = 消耗速率。用伐木场产出曲线与消耗曲线求数值解,讲清楚稳态是设计出来的——产出增速只要不低于消耗增速,稳态就不存在。附可跑的 S 层脚本与 TypeScript 原型。
把 11.1 的养成消耗与 11.2 的市场回收汇总成一条 N 天消耗曲线,用 S 层脚本跑出每天各消耗槽的明细与合计,再用 B 层基准对活动强度做蒙特卡洛抖动,量化总消耗的 P10–P90 带宽。闭环(产出与消耗一起建模)留给第 12 章。