2.1 玩家类型与动机模型
把「玩家为什么玩」从一句访谈结论变成可仿真的权重向量:定义《王朝纪元》五种原型的动机权重,用带种子的确定性 PRNG 抽出万人样本,算出人群占比、动机均值与 P90,并把同一份配置在 Python 与 TypeScript 两侧跑到逐位一致。
tag
把「玩家为什么玩」从一句访谈结论变成可仿真的权重向量:定义《王朝纪元》五种原型的动机权重,用带种子的确定性 PRNG 抽出万人样本,算出人群占比、动机均值与 P90,并把同一份配置在 Python 与 TypeScript 两侧跑到逐位一致。
上一节教会我们认出可疑账号,这一节处理已经发生的事故。SLG 的经济事故翻来覆去就那么几类:产出漏洞、复制 bug、汇率套利、赛季重置算错、补偿发多。每一类都给「症状 / 根因 / 影响面 / 处置」四段,并把案例库结构化成一份可校验的配置——真实事故一律标 X(需真实业务环境,命令行不可复现),只归纳公开可观察的机制。
哪里有价差,哪里就有套利。本节先讲清套利的经济学:跨市场价差扣掉手续费与运费后还剩多少,什么程度是健康的、什么程度会招来工作室;再给一个可跑的工作室收益模型,用账号数、日产金、封禁率与成本算出打金 ROI,并给出跨市场套利千分比与 ROI 的风控阈值建议。
撮合规则只决定「谁和谁成交」,定价机制才决定「成交在什么价位、能不能一直成交下去」。本节讲价格如何形成——供需、锚定、系统指导价——以及流动性怎么用挂单深度、成交率、买卖价差来度量;再用多玩家限价订单簿仿真跑 40 轮,观察价格收敛与价差收窄,输出 CSV 与纯 Python SVG 图。
玩家之间的交换是 SLG 经济最容易被低估的一环。本节把拍卖行、摆摊、交易所三种市场形态拆开,讲清集中撮合、分散位置成本、挂单深度各自对经济的影响与实现代价;再对同一批买卖订单用先到先得、价格优先、价格时间优先三种规则跑出成交价与成交量,对比差异。
赛季边界是 SLG 最彻底的货币回收手段。本节让四种方案(不清零 / 全额清零 / 按比例压缩 / 压缩+保底)各跑 10 个赛季、每赛季 90 天:不清零的赛季初存量膨胀到 2500 万,全额清零永远停在 0,按比例压缩收敛到 13 万却低于健康带,只有压缩+保底收敛到 20 万。附纯 Python SVG 与 TypeScript 对照。
把收入模型从单点变成区间:用悲观 / 基准 / 乐观三档整数假设参数跑出月收入对照表与区间比,再用 B 层敏感性基准把六个输入参数按「对结论的影响」排序,回答哪个数错了最致命、哪个数可以放心估,并说明排名要结合扰动口径一起读,给收入预测一个可决策的区间。
同一段经济,叠加不同的沉淀与回收组合,存量曲线会走到哪?本节用《王朝纪元》跑 150 天:升级消耗、仓库税、交易税三档沉淀,限时兑换、赛季宝箱、拍卖行抽水三档回收,对比四种组合的终值与末段斜率,得出「沉淀决定稳态高度、回收决定到达速度」的结论。
经济生病了,第一步是能诊断。本节把「通胀 / 通缩 / 健康」从口头判断变成可判定的量:读一段存量时序,算出存量、价格、交易三组日均变化率,再归因到产出侧、消耗侧或外部注入;用《王朝纪元》五个场景验证判定与归因,并给出判定稳定性与余量的 B 层基准。
把可玩性观测翻译成继续、调整、砍掉三个决策:用 P 层 TypeScript 内核按北极星达成率与止损线判定,用 node --test 锁死四个构建的结论,再打包成单文件 HTML 交互原型,用 Playwright 无头采样状态、断言 canvas、验证确定性并截图。
可玩性指标怎么测、测出来的数字有多大把握:用 S 层脚本对首局完成率、单局时长、重玩率做整数递推采样并配 Agresti–Coull 置信区间,再用 B 层脚本看半宽随样本量如何按 1/sqrt(n) 收缩,最后讲清模拟样本与真实测试的差距。
把玩法原型从「做一个演示」拉回「验证假设」:用 D 层配置声明原型范围、验证目标与指标注册表,用 S 层门禁脚本断言每个验证目标都绑定可测指标、北极星恰好一个、区间型目标上下界有序,让做什么、不做什么、拿什么指标验收都在动手写代码前先固化下来。
把 11.1 的养成消耗与 11.2 的市场回收汇总成一条 N 天消耗曲线,用 S 层脚本跑出每天各消耗槽的明细与合计,再用 B 层基准对活动强度做蒙特卡洛抖动,量化总消耗的 P10–P90 带宽。闭环(产出与消耗一起建模)留给第 12 章。
摩擦成本怎么设计:税率太高玩家绕过市场、回收不足,太低又回收不够。本节用 S 层仿真把税率从 0% 扫到 20%,画出回收量、交易量、玩家净收益三条曲线,找到拉弗拐点,并用 TypeScript 原型与断言验证同一份配置两侧逐位一致,最后给出保守取值的建议。
资源到哪去:本节盘点 SLG 的六类消耗槽(建筑升级、科技研发、兵种训练、行军消耗、伤兵治疗、交易税),区分线性、指数、分段三种消耗曲线形态,并用 S 层脚本从 config/buildings.json 算出各等级升级成本表,折算成「回本时间」与产出速率对照。
把 10.1 的建筑产出、10.2 的离线效率与脉冲型产出源汇总成一条 N 天产出曲线,是本节的落点。我们用一段 S 层脚本仿真 60 天产出并对累计曲线做幂律拟合,输出 JSON、CSV 与纯 Python SVG;再用一段 B 层脚本把曲线在锚点日与设计目标做残差对照,超阈值只软告警不硬失败。
同一份产出速率表,在线玩家与离线玩家拿到的资源并不一样。本节讨论离线产出该不该有、上限怎么设、回归玩家怎么补,并用一段 S 层脚本对比无离线、有离线、有上限离线三种方案 30 天的资源曲线,输出 CSV 与纯 Python SVG,再用 TypeScript 原型断言同一组数字。
产出源决定了资源从哪来。本节把 SLG 的产出端拆成连续型与脉冲型两类,盘点地块、建筑、任务活动、掠夺、赠送、付费七种来源的速率特征与可控性,并用一段 S 层脚本从 config/buildings.json 算出四栋建筑十级的每小时产出表并输出 CSV,再用 TypeScript 原型断言同一张表。
把广告从「塞进去」变成「设计出来」:先按打断成本区分激励视频、插屏、横幅、原生四种形态,再用一份配置把《合成小岛》每个广告场景写成位置加触发条件加日均触发次数,最后用可跑的整数脚本算出各场景的展示机会与收益结构,并给出场景布局的三条可落地规则。
定位不该是一句 PPT 口号,而是一串可判定的判据。本篇把《王朝纪元》的一句话定位拆成 must / must_not / should 三类约束,再用一个约束检查器把候选功能逐条过筛,输出接受 / 告警 / 否决三档,让每次功能评审都有可复算的门禁,而不是靠拍脑袋。