本轮修订与验证范围
2026-10-14 补齐 12.1/12.2 的配置、辅助图表文件与整数速率跨语言对账,修正整数阈值、连续根和稳态范围。参数是合成教学输入,有限窗口低波动不等于长期稳定;其他章节缺失的配置和共享模块仍需补齐,不能据这一组试点宣称全卷项目可复现。
这是一套关于 SLG(策略类)游戏产品设计的书。它不讲渲染、不讲服务端、不讲买量投放,它讲的是一个 SLG 从定位到经济系统怎么被设计出来,并且每一处设计都能被跑出来的数字检验。
卷一《产品架构与经济系统》回答两个问题:这款 SLG 由哪些系统组成、它们怎么串起来(第 1–8 章),以及它的资源怎么产出、怎么消耗、怎么不崩(第 9–15 章)。卷二《数值平衡与商业化运营》接着回答数值与付费的问题。
这套书与站内既有内容的分工
站内已经有不少相邻内容,写清楚分工比重复写一遍更有价值:
- SLG 技术架构专题 的 9 篇讲的是技术架构——前后端分层、模块拆分、塔防战斗通信协议、客户端消息分发。它的索引明确写着「不讨论具体玩法数值」。本套讲的正是它没讲的那一半:产品与数值。
- 经济平衡长文 给了一套通用的经济平衡框架,但举例用的是放置类。本卷第 9–15 章换成 SLG 的大地图地块、行军消耗、联盟共研口径,并且每一章都有可跑的闭环仿真。
- 独立游戏平衡与经济手册 是单机/独立游戏口径(Hades、Celeste、Slay the Spire)。本套是 SLG 持续运营口径——单机的经济在通关时结束,SLG 的经济要跑几个赛季。
- 经济系统运营 checklist 与 赛季重置原则 是产业短文,给的是清单与原则。本卷给的是可跑出数字的模型。
- 城市 SLG 原型 PRD
是单个原型的 PRD 文档。本套的
bastion是一套配置驱动、可断言、可回放的工程:改一个数字,仿真与原型的结果都跟着变。
为什么这套书能「跑」
产品设计书最容易写成散文——道理都对,落不了地。这套书给自己定了一条硬规矩:每一节至少有一个可运行的产物。
贯穿全书的是一个虚构的 SLG 《王朝纪元》 和一套工具链 bastion:
bastion/
config/ # 唯一真源:resources / buildings / units / battle / season / pricing
sim/ # Python:读 config 跑平衡仿真,产出 JSON + CSV + SVG
proto/ # TypeScript:读 config 跑可玩原型,node --test 断言
关键设计是一份配置、两处消费:config/ 是设计的唯一真源,sim/ 用它跑数值平衡,proto/ 用它跑可玩原型。改一个数字,两边结果都变——这就把「设计」变成了可以回归测试的东西。
跨语言逐位一致是这套工程的地基。如果 Python 和 TypeScript 对同一份配置算出不同的数,那「唯一真源」就是假的。所以
config/里的增长率一律写成整数比(outputGrowthNum: 122/outputGrowthDen: 100),系数写成整数百分比(counterMultiplierPct: 150),幂运算在 TS 侧用BigInt,除法一律整数地板除。这些约定在附录 B 有完整说明。
可运行性口径
本套用五档标注每个代码块,代码块头部的注释里写着它属于哪一档:
| 层 | 含义 | 怎么验证 |
|---|---|---|
| S 仿真层 | Python 数值仿真:成长曲线、经济闭环、概率期望、匹配公平性 | python3 sim/<name>.py --config config/,产出 JSON + CSV + SVG |
| P 原型层 | TypeScript 配置驱动原型:资源结算、城建、兵种战斗、联盟战 | node --test 'proto/**/*.test.ts' |
| D 静态层 | 产品文档、系统地图、功能树、配置表 schema | schema / lint 校验 |
| X 不可复现 | 真实竞品后台数据、真实买量、真实用户调研 | 正文显式标注「需真实业务环境,命令行不可复现」 |
| B 基准 | 稳态偏差、期望对照、拟合残差、结算吞吐 | 产出 JSON,软告警不硬失败 |
两条纪律贯穿全书:
- 不编造竞品后台数字。率土之滨、三国志·战略版、万国觉醒、COK 这些真实竞品只作「公开可观察机制」的对照引用并标注观察时点,不会写成「实测」。
- 所有数字来自本机实跑。正文里的每一个数字都是脚本真跑出来的输出,并且会写明「同机相对量级,绝对数值不可移植」。
全书目录
前置
| 篇目 | 核心内容 |
|---|---|
| 目录 | 本页:阅读路径、可运行性口径与全书结构 |
| 序:为什么写一套能跑的 SLG 设计书 | 写作动机、与站内既有内容的关系 |
| 前言:怎么读这套书 | 阅读路径、贯穿项目、环境准备与验收口径 |
第一部分:产品架构与系统设计(第 1–8 章)
第 1 章 产品定位与品类——先回答「做一款什么样的 SLG」
| 节 | 文章 | 核心内容 |
|---|---|---|
| 1.1 | SLG 品类图谱与细分 | 4X / 城战 / 卡牌 SLG 的分野与设计约束 |
| 1.2 | 目标用户与竞品拆解方法 | 公开可观察的竞品拆解框架(X) |
| 1.3 | 差异化定位与设计约束 | 把定位翻译成可执行的设计约束 |
第 2 章 玩家分层与动机——为谁设计
| 节 | 文章 | 核心内容 |
|---|---|---|
| 2.1 | 玩家类型与动机模型 | 动机分布建模与人群占比仿真 |
| 2.2 | 付费意愿分层 | 付费意愿分层与人群画像(不含定价) |
| 2.3 | 生命周期阶段与体验目标 | 各阶段体验目标与活跃衰减曲线 |
第 3 章 核心循环与节奏——玩家每天在做什么
| 节 | 文章 | 核心内容 |
|---|---|---|
| 3.1 | 资源循环与行为闭环 | 产出→消耗→成长→再产出的结构刻画 |
| 3.2 | 日/周/赛季三级节奏 | 行为密度曲线与三级节拍模型 |
| 3.3 | 长线目标与追求感 | 目标台阶与追求感的数值刻度 |
第 4 章 系统地图与依赖——有哪些系统,谁依赖谁
| 节 | 文章 | 核心内容 |
|---|---|---|
| 4.1 | 系统清单与依赖图 | 系统地图配置化与 DAG 无环校验 |
| 4.2 | 解锁节奏与前置链 | 前置链可达性与解锁时间轴仿真 |
| 4.3 | 耦合与解耦 | 什么时候该拆、什么时候不该拆 |
第 5 章 功能架构与模块边界——系统内部怎么切
| 节 | 文章 | 核心内容 |
|---|---|---|
| 5.1 | 功能树与模块职责 | 功能树配置与唯一归属校验 |
| 5.2 | 数据流与状态归属 | 状态归属表与双写冲突检测 |
| 5.3 | 跨模块契约与接口约定 | TypeScript 接口契约与断言 |
第 6 章 交互与信息架构——玩家怎么找到功能
| 节 | 文章 | 核心内容 |
|---|---|---|
| 6.1 | 主界面框架与信息层级 | 界面图与信息层级建模 |
| 6.2 | 操作路径与点击成本 | 最短点击路径与平均点击成本 |
| 6.3 | 新手引导的信息架构 | 引导状态机与分步流失仿真 |
第 7 章 版本规划与内容节奏——怎么持续交付
| 节 | 文章 | 核心内容 |
|---|---|---|
| 7.1 | 版本列车与赛季结构 | 版本列车排期与里程碑校验 |
| 7.2 | 内容产能与排期 | 人天与产能模型仿真 |
| 7.3 | 灰度、放量与回滚 | 分桶放量节奏与回滚阈值 |
第 8 章 指标体系与埋点框架——怎么知道做得好不好
| 节 | 文章 | 核心内容 |
|---|---|---|
| 8.1 | 北极星指标与指标树 | 指标树配置与口径唯一性校验 |
| 8.2 | 埋点规范与口径统一 | 埋点事件 schema 校验 |
| 8.3 | 数据看板与告警 | 告警规则与阈值仿真 |
第二部分:经济系统(第 9–15 章)
第 9 章 资源与货币体系——经济的地基
| 节 | 文章 | 核心内容 |
|---|---|---|
| 9.1 | 资源分类与货币分层 | 资源分层与货币层级设计 |
| 9.2 | 绑定与非绑定、账号与角色 | 归属维度与流通边界 |
| 9.3 | 账本模型与守恒约束 | 复式账本与守恒校验(S) |
第 10 章 产出端设计——资源从哪来
| 节 | 文章 | 核心内容 |
|---|---|---|
| 10.1 | 产出源清单与产出速率 | 产出源盘点与速率表 |
| 10.2 | 产出与时间的关系 | 在线/离线/回归产出曲线 |
| 10.3 | 产出曲线仿真 | 产出曲线拟合与仿真(S) |
第 11 章 消耗端设计——资源到哪去
| 节 | 文章 | 核心内容 |
|---|---|---|
| 11.1 | 消耗槽与养成消耗 | 消耗槽清单与养成曲线 |
| 11.2 | 税率、手续费与消耗弹性 | 摩擦成本与消耗弹性 |
| 11.3 | 消耗曲线仿真 | 消耗曲线与弹性仿真(S) |
第 12 章 产出回收闭环——本卷的核心
| 节 | 文章 | 核心内容 |
|---|---|---|
| 12.1 | 存量/流量模型 | 存量流量方程与稳态条件 |
| 12.2 | 闭环仿真与稳态判定 | 多日闭环仿真与稳态判定(S+B) |
| 12.3 | 参数敏感性与漂移诊断 | 参数敏感性与漂移诊断(S+B) |
第 13 章 通胀与通缩治理——经济生病了怎么办
| 节 | 文章 | 核心内容 |
|---|---|---|
| 13.1 | 通胀症状与成因 | 通胀/通缩的症状与归因 |
| 13.2 | 沉淀机制与回收活动 | 沉淀与回收活动的效果仿真(S) |
| 13.3 | 赛季重置与货币回收 | 赛季货币回收方案仿真(S) |
第 14 章 交易与市场——玩家之间的交换
| 节 | 文章 | 核心内容 |
|---|---|---|
| 14.1 | 市场形态 | 拍卖行 / 摆摊 / 交易所的取舍 |
| 14.2 | 定价机制与流动性 | 定价与流动性仿真(S) |
| 14.3 | 套利、工作室与风控边界 | 套利空间与工作室边界 |
第 15 章 经济风控与事故复盘——兜住最后一道
| 节 | 文章 | 核心内容 |
|---|---|---|
| 15.1 | 异常检测与打金识别 | 异常检测与打金识别(S) |
| 15.2 | 经济事故案例库 | 事故模式与复盘框架(X) |
| 15.3 | 修复流程与回滚预案 | 修复流程与回滚预案 |
附录
| 篇目 | 核心内容 |
|---|---|
| 附录 A:环境与复现速查 | Python / Node / bastion 目录口径与全部实跑命令 |
| 附录 B:配置表字段字典与 schema | config/ 字段字典、整数比约定与 schema(D) |
三条阅读路径
路径 A:产品经理的系统课(第 1–8 章顺序读)
从品类定位开始,经玩家分层、核心循环、系统地图、功能架构、交互架构、版本规划,到指标体系。这条路径回答「一款 SLG 怎么被搭起来」。读完你能画出一张自洽的系统地图,并用脚本证明它没有环、没有孤儿。
路径 B:经济策划的建模课(第 9–15 章顺序读)
从资源与货币分层开始,经产出、消耗,到闭环仿真、通胀治理、交易市场、经济风控。这条路径回答「经济怎么不崩」。读完你能跑出一条 180 天的资源曲线,并诊断它是否收敛。
路径 C:只看闭环(第 9 → 12 → 13 章)
如果你只想搞懂经济闭环这一件事,读第 9 章(账本)、第 12 章(闭环稳态)、第 13 章(通胀治理)。这三章是全卷的核心,其余章节可以按需回填。
常见问题速查
| 你想解决的问题 | 看哪节 |
|---|---|
| 我的 SLG 该做 4X 还是城战? | 1.1 |
| 怎么拆解竞品而不靠拍脑袋? | 1.2 |
| 玩家为什么会留下来? | 2.1 、2.3 |
| 核心循环该怎么画? | 3.1 |
| 系统太多理不清怎么办? | 4.1 |
| 模块该怎么切? | 5.1 、5.3 |
| 玩家找不到功能怎么办? | 6.2 |
| 版本排期总在延期? | 7.2 |
| 指标口径总是打架? | 8.2 |
| 货币该怎么分层? | 9.1 |
| 怎么保证资源不凭空产生? | 9.3 |
| 产出曲线怎么设计? | 10.3 |
| 消耗跟不上产出怎么办? | 11.3 |
| 经济会不会崩? | 12.2 |
| 怎么知道哪个参数最危险? | 12.3 |
| 已经通胀了怎么办? | 13.2 |
| 赛季该怎么重置? | 13.3 |
| 要不要做交易行? | 14.1 |
| 怎么防工作室? | 14.3 、15.1 |
环境准备
正文里的代码块都可以在本机复现。需要的东西只有两样,下面这段 S 层脚本会替你确认:
# file: sim/check_env.py
# tier: S
# verify: python3 sim/check_env.py
"""环境自检:确认这套书需要的两个运行时都在,并打印 bastion 的能力阶梯。"""
import shutil
import subprocess
import sys
def main() -> int:
ok = True
try:
import numpy
import pandas
print(f"python {sys.version.split()[0]} numpy {numpy.__version__} pandas {pandas.__version__}")
except ImportError as e:
ok = False
print(f"python 缺依赖:{e}(需要 numpy 与 pandas)")
node = shutil.which("node")
if not node:
ok = False
print("node 未安装(需要 Node 26 或更高)")
else:
ver = subprocess.run([node, "-v"], capture_output=True, text=True).stdout.strip()
major = int(ver.lstrip("v").split(".")[0])
note = "" if major >= 26 else " (低于 26,原生 TypeScript 可能不可用)"
print(f"node {ver}{note}")
ok = ok and major >= 26
print("bastion 能力阶梯:P0 资源结算 → P1 城建 → P2 兵种战斗 → P3 联盟战")
print("OK 环境就绪" if ok else "FAIL 环境不满足")
return 0 if ok else 1
if __name__ == "__main__":
raise SystemExit(main())
- Python 3 加
numpy与pandas:S 层仿真用。 - Node 26 或更高:P 层原型直接跑 TypeScript,不需要
tsc、不需要npm install、不需要package.json。断言用 Node 内置的node --test。
图表不用 matplotlib——本套的 SVG 是纯 Python 用标准库 xml.etree 画出来的,零依赖、可复现。完整的目录结构与全部实跑命令见附录 A
。
明确不在本套范围内
为了让边界清楚,下面这些这套书不讲:客户端表现与美术管线、UI 视觉设计、引擎与渲染、服务端实现(站内已有《MMO 服务器开发》四卷本 )、买量与投放实操、真实竞品后台数据、法务与合规、发行与渠道商务。
数值平衡与商业化(成长曲线、兵种战力、抽卡与掉落、付费点、定价、LTV、留存漏斗、A/B 实验、赛季运营、联盟 GVG)在卷二《数值平衡与商业化运营》,共 16 章 48 节。
本页是全书目录。可以从序 开始顺序读,或直接进入第 1 章 1.1 SLG 品类图谱与细分 。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。