2.2 等级与养成成本曲线
2.1 讲的是「升级变强多少」,本节讲「升级要花多少」。升级成本按整数比复利增长,与每小时有效产出一比,就得到真正的门槛:攒够一级要几小时、满级要几天。我们复用 bastion_core 与伐木场口径逐级对账,并做一组成本增长率的敏感性扫描,看门槛怎么从 8 天翻到 105 天。
tag
2.1 讲的是「升级变强多少」,本节讲「升级要花多少」。升级成本按整数比复利增长,与每小时有效产出一比,就得到真正的门槛:攒够一级要几小时、满级要几天。我们复用 bastion_core 与伐木场口径逐级对账,并做一组成本增长率的敏感性扫描,看门槛怎么从 8 天翻到 105 天。
成长曲线只有四种基本家族:线性、指数、对数(饱和型)与分段。本节把四族放进同一份整数配置,在 1–30 级上逐级求值,用「末首倍率、加速比、中点占比」三个标量给曲线做体检,并跑出一张四族对比 SVG。指数与分段末值几乎相同,形状却完全相反——这正是选型的关键。
验收在 Python 侧跑完了,交付前还差最后一步:亲手证明同一份配置在 S 与 P 两侧算出同一串数。本篇给出一段配置驱动的原型回放,把结算、战斗、赛季推进串成一条确定性转录,用 node --test 钉成断言,再在原型层复核跨章不变量,最后收束整部设计案的交付。
装配只保证了产物齐全,验收才回答「数对不对」。本篇把前面各章留下的产物汇总进一次全链路验收,逐项断言关键不变量:经济守恒、战力排序、概率归一、匹配收敛、赛季压缩在带内、实验第一类错误率覆盖。检查分声明式与派生两类,覆盖 S 仿真、P 原型、B 基准三层,再补一层余量基准看结论过得稳不稳。
前 15 章各产出一批 config、sim、proto 与 out 产物,收尾这一章要做的不是再写一套结论,而是把它们装配成一份可交付的设计案。本篇给出一份装配清单,把两卷 30 章的代表性交付物登记成可追溯索引,跑一个脚本逐条核对「配置源 + 产物」是否真的在磁盘上,并报告覆盖度。
联盟从健康到瓦解不是一夜之间。这一节用「健康 vs 衰退」两个剧本逐日对照,量出谁先亮红灯:贡献率第 27 天、参与率第 29 天就先越线,而流失率要拖到第 52 天才超标——等流失率起来人早就心散了,预警真正该盯的是前两个领先指标,不是流失率。
GVG 是「一群人对一群人」。这一节把联盟总战力配对与三据点战场结算都建成可跑模型:按窗口 5000 配对时战力差 2482、碾压率 0%,窗口放宽到 20000 时碾压率飙到 34.8%;再用 30 个种子的 B 基准证明匹配均衡度与战场时长偏差都稳定。
联盟是 SLG 的社交骨架:一群人的贡献高度不平均,少数核心扛着大多数人。这一节把贡献分布与贡献配额建成可跑模型,扫描 0 到 150 的配额,看联盟在留存率与保留产出率之间怎么权衡——配额 40 只丢 6% 的人,却保住 97.3% 的产出。
把 10000 名玩家按排名分成王者、精英、骨干、活跃、休闲五段,逐段算出结算发放:总发放 850 万玉璧,前 1% 拿走 9%、前 10% 拿走 41%,量出奖励集中度。再用 TS 原型对同一份配置重算一遍保证逐位一致,并算清「结算 1 天 + 准备 3 天」的过渡期占整个 64 天周期的 6%,玩家在这段时间里没有赛季进度产出。
把登录签到、成长竞赛、联盟战、通行证、累充等活动拆成面额、参与率、次数三个数,逐项累加算出赛季奖励预算,再折算成赛季产出预算的比例:按参与率加权后 29%、落在 30%±8% 的目标带内;而把面额直接相加会得到 44%、越界 15 个百分点。用 B 层基准量出「忽略参与率」这个最常见的估算错误。
把 60 天赛季切成开荒、成长、对抗、收官四段,把每日签到、周常任务、成长竞赛、联盟战、收官冲刺等活动铺到每一天上,算出每日活动负载、峰均比 3000‰ 与收官相对开荒的抬升 4500‰。用一份可跑的排期模型回答:赛季该分几段、活动该排多密,才能既填满节奏、又不把玩家在峰值日压垮。
统计显著不等于值得上线。本节把一次实验结果压成可执行的决策:算提升点估计、两比例 z 检验的 p 值、差值的 95% 置信区间与当前样本量下的最小可检测效应,再用业务门槛与护栏指标给出「回滚 / 继续观察 / 全量」的判定,并算出要越过门槛还差多少样本。
显著性不是「p 小于 0.05」这么简单。本节不引入 scipy,用 numpy 手写正态 CDF、两比例 z 检验、Welch t 检验与样本量公式,再用蒙特卡洛实测第一类错误率,量化偷看、多重比较、SRM 与辛普森悖论四个陷阱,并用 B 基准把模拟值与理论值逐项对照。
A/B 实验的第一步是把用户稳定地分到对照组与实验组。本节用确定性 PRNG mulberry32 与 user_id 的 FNV-1a 哈希实现可复现的稳定分流,本机跑出 10 万用户的分桶比例、偏差与稳定性,并量化「每次曝光都重抽」的不稳定分流会让多少用户同时看到多个变体,说明为什么分流必须先于显著性。
漏斗决定有多少人走到付费点,留存决定他们待多久,两者是 LTV 的底座。本节把《王朝纪元》的获客漏斗拆成安装到首次付费六段,用 config/n11_ltv.json 的分段几何衰减展开 D1 到 D365 的每日留存千分比,跑出 D1 45%、D7 20%、D30 9% 的曲线,并用 TS 原型逐位对照。
版本迭代不断往战力里加属性,加法公式会越来越不准。本篇把「队伍强度 = 各乘区之积」当设计假设,把乘积按泰勒展开成一阶、二阶与精确三层,用 240 支采样队伍跑出三种公式的反演对数随属性数 k 的变化,并给出跨语言用 BigInt 复算的 TypeScript 实现。
战力公式是玩家看得见的排序依据,必须与真打一场的结果一致。本篇用确定性回合战斗做真值,把「单位类型 × 兵力」的 12 支队伍两两对撞 66 场,跑出同型 1000‰、跨型 791‰ 的排序一致性,再用最小二乘反推权重、报告残差,暴露加法战力在克制环上的结构性盲区。
属性是 SLG 数值的地基。本篇把属性分成基础、派生、全局修正与状态四类,用一棵整数表达式树描述派生属性的依赖关系,跑出拓扑排序、层号与环检测,并以《王朝纪元》骑兵样板队伍算出从有效攻击、减伤率、有效生命到战力的完整派生链,同时给出应进 CI 的两项配置自检。
《SLG 游戏产品设计》卷二《数值平衡与商业化运营》全书目录:16 章 48 节,第三部分讲属性与战力、成长曲线、战斗数值、兵种阵容、掉落概率、抽卡礼包、匹配分段、赛季膨胀控制,第四部分讲付费点、定价折扣、LTV 与回本、留存漏斗、A/B 实验、活动赛季、联盟 GVG 运营与设计案装配。每一节都配可跑的 Python 仿真或 TypeScript 原型。
《SLG 游戏产品设计》卷二《数值平衡与商业化运营》全 50 篇。第三部分(第 1–8 章)讲属性与战力模型、成长曲线、战斗数值基础、兵种与阵容数值、掉落与概率、抽卡与礼包、匹配与分段、赛季数值膨胀控制;第四部分(第 9–16 章)讲付费点、定价与折扣、LTV 与回本、留存与漏斗、A/B 实验、活动与赛季制、联盟与 GVG 运营,以及把两卷装配成一份可交付的设计案。每一节都配可跑的 Python 仿真或 TypeScript 原型,围绕虚构 SLG《王朝纪元》与贯穿工具链 bastion 展开。