9.1 提审与发布流程
《合成小岛》从代码冻结到版本上线,要依次走过构建、材料、提审、审核、发布一长串阶段。这一节把这条链路拆成固定阶段加一层可变轮次的平台审核,用可播种的 LCG 仿真两千次发布,算出到上线的 p50 与 p90、瓶颈阶段、被驳回重审的比例,再给出一个发布门禁状态机内核,把「现在能不能提审、大概什么时候能上线」变成可跑出数字的模型。
tag
《合成小岛》从代码冻结到版本上线,要依次走过构建、材料、提审、审核、发布一长串阶段。这一节把这条链路拆成固定阶段加一层可变轮次的平台审核,用可播种的 LCG 仿真两千次发布,算出到上线的 p50 与 p90、瓶颈阶段、被驳回重审的比例,再给出一个发布门禁状态机内核,把「现在能不能提审、大概什么时候能上线」变成可跑出数字的模型。
方案交付的最后一关,是把它变成一次能被人亲手重放的回放。本节先声明回放录制参数(D 层)——种子、列数、步数、时间跨度与合成阈值;再用一段 P 层内核把录制序列重放成确定性的终局与摘要(FNV-1a);最后把同一段内核打成单文件 HTML(W 层),用无头浏览器读回摘要,断言它与 Node 单测逐位相同,并截图留证。
三卷各写了什么、彼此怎么咬合,是收官章要回答的第一个问题。本节把卷一设计、卷二实现、卷三运营的产出登记成一份装配清单(D 层),声明从立项到长线运营的十段链路、每段引用哪一卷哪几章、交付哪些产物,再用一段 S 层脚本把清单逐条校验,断言三卷章号连续、链路引用不越界、交付物与门禁闭环,产出 JSON、CSV 与一张链路覆盖图。
第三节收束本章:前两节的失败伤的是钱,这一节的失败能让一款已经跑起来的游戏一夜归零。资质缺项、内容红线、防沉迷漏放、活动节奏空档、奖励通胀——五类运营与合规失败,各拆成一个可跑体检项,跑「健康配置 vs 失败配置」对照,输出缺陷量。附五组检查的 D 层输入清单。
第二节把镜头转向买量侧与留存侧:素材夸大承诺、低质网盟人群、放量过快、归因虚增、新手漏斗前段漏、D7 断崖。每个失败都拆成一个 patch,喂进第 5 章的买量 ROI 漏斗与第 7 章的留存锚点插值,跑出 CPI、ROAS、回本日与 D30 盈亏,并给出「只看 D1」「只看报表 ROAS」两种最常见的误判诊断。附这套内核的 TypeScript 版。
前十四章都在讲「怎么做好」,本章反过来讲「怎么翻车」。第一节把玩法、数值、变现三类最典型的失败,各拆成一个可调参数:核心循环太短、难度断崖、离线收益通胀、成长曲线过早封顶、广告频次拉满、过早硬付费墙、定价锚点错位。下面用一段 S 层脚本把这些坏参数喂进第 1、3 章的同一套留存-变现模型,跑出塌掉的 LTV 与回本日,再给一个 W 层失败开关台,一键切换看数字怎么变。
《合成小岛》从立项评审到版本对全量用户可见,到底要多久?这一节把整条链路写成一张带前置依赖的任务图,每个任务给乐观 / 最可能 / 悲观三档工期,用确定性关键路径算出排期基准,再用可播种蒙特卡洛两千次采样得到总工期分布与每个任务进入关键路径的频率,把「什么时候能上线」从口头估计变成可跑出数字的模型。
把防沉迷做成三条可配置的硬规则:时段(可玩日与时间窗)、时长(每日上限内截断发放)、消费(单次与月度上限分别拦截)。一条带年龄段的 D 层档案表、一段逐次判定十次登录与消费尝试的 S 层结算脚本,以及一份运行时同款的 P 层闸门内核与六条断言。
把内容安全做成可配置的分级处置:一条带类别、等级与词库的 D 层红线规则表,一段对文案、游戏名、活动标题做命中扫描并给出 pass / review / block 三档处置的 S 层脚本,以及一份运行时同款的 P 层过滤内核与六条断言,让「拦截还是人工复核」由规则而非心情决定。
把上线前的资质、备案与平台类目要求整理成一张可被程序读进来做覆盖率与 schema 校验的清单:一条带阶段、等级与类别字段的 D 层资质配置,一段按「已持有集合」计算必办清单覆盖率并校验备案项字段的 S 层对照脚本,以及开发期 / 提审前 / 上线后三阶段的覆盖率与字段残缺对照。所有条目均为示例,具体结论须专业法务判断。
《合成小岛》的广告频次不是越高越好。自愿广告(激励视频)单次收益高、对留存的惩罚低,强制广告(插屏)单次收益低、惩罚高;本节把两类广告的日均次数放进一张二维网格,用一段 S 层脚本扫出 60 天净 LTV 最大的频次组合,再用一段 B 层基准把两个惩罚系数各扰动 ±30%,看最优组合会不会漂移——结论是「最优自愿次数落在中间,强制广告应尽量少放」。
《合成小岛》的广告收益不是「eCPM 越高越好」:底价压低则填充率高但单价低,底价抬高则单价高但填充率低,收益是填充率与 eCPM 的乘积,必有一个内部最大值。本节给出一张 D 层底价档位表、一段扫描六个档位找最优的 S 层脚本,以及一个用两个滑杆实时拖动每日上限、观察展示数、当日收益、留存乘数与净收益代理如何联动的单文件 HTML 原型(W 层),并用 Playwright 无头断言它可复现。
《合成小岛》靠广告变现的第一步,是把「广告」拆成激励视频、插屏、横幅、原生四种可配置形态,再安放到离线收益翻倍、失败复活、合成双倍、日常任务、关卡结算、主界面、商城七个场景。本节给出一张 D 层形态与场景配置表、一段按「触发次数 × 填充率 × eCPM」估算各场景日均收益的 S 层脚本,以及一套按 optIn、每日上限、冷却三条规则判定放行的 P 层广告闸门内核。
《小游戏开发实战》卷三《上线、变现与长线运营》全书目录与阅读路径:16 章 48 节,覆盖广告形态与收益模型、内购与混合变现、收入拆解与 LTV 回本、定价促销、买量与素材、自然增长、留存召回、数据实验、提审发布、合规红线、指标树、活动赛季、版本节奏、案例复盘与三卷收官,每节都配可跑的 Python 仿真、TypeScript 内核或单文件 HTML 原型。
《小游戏开发实战》卷三《上线、变现与长线运营》全 50 篇。第一部分(第 1–4 章)讲广告变现的 eCPM 与频次模型、内购与混合变现、收入拆解与 LTV 回本、定价与促销;第二部分(第 5–8 章)讲买量渠道与素材迭代、自然增长与裂变、留存漏斗与流失召回、A/B 实验与显著性;第三部分(第 9–13 章)讲提审发布与灰度回滚、合规与防沉迷、数据分析体系、活动赛季运营、长线运营与退场;第四部分(第 14–16 章)讲从 0 到 1 完整案例、失败模式避坑、三卷装配成一份可交付的上线方案。每节都配可跑的 Python 仿真、TypeScript 内核或单文件 HTML 原型,围绕虚构小游戏《合成小岛》与工具链 pebble 展开。
《小游戏开发实战》卷二《引擎、实现与体验打磨》的复现索引:按 16 章列出 pebble/ 下全部 config / sim / core / web 文件,写清卷二工具链的 e<章号>_ 前缀约定(与卷一的 ch 前缀区分,避免 node --test 通配符交叉匹配)、环境速查与六层可运行性口径(S/P/W/D/X/B)的逐层复现命令,以及一键复现与排错顺序。
对象池解决「少分配」,但弱机的内存与帧耗时本身就不够用。这一节把弱机识别做成整数判据:按可用内存、帧耗时 P95、CPU 核心数把设备分成 high/mid/low 三档,每档给出粒子数、渲染分辨率千分比、动效开关与目标帧率,并支持运行时主动降一档。
把「每帧新建对象」与「对象池零分配」放进同一个分配量级的解析模型:跑 10 分钟,算出分配总量与 GC 触发次数,再用 B 层扫描每帧分配数到 GC 触发间隔。全程显式声明这是模型而非 V8 实测,数字只在同一套假设下可比,用来判断分配密度是否危险。
小游戏里每帧新建对象会把垃圾回收压力堆到帧预算上。这一节用 TypeScript 写一个定容对象池:acquire 借出时清零状态、release 归还进空闲表,容量耗尽按拒绝、覆盖最旧、扩容到上限三种策略处理,并统计命中率与峰值占用,让「复用是否真的发生」变成可断言的事。
前两节把存档存好、迁好了,这一节问一个更尖锐的问题:存档被玩家改了怎么办。给出客户端能做的四类校验——数值上限、时间间隔下界、增量单调性、离线收益封顶,再用 S 层脚本模拟八种作弊模式,看清本地校验能拦住哪些、漏掉哪些,以及为什么权威必须放服务端。