附录 B 配置表字段字典与 schema
pebble/config/ 的字段字典与 schema:economy.json 与 ch00_budget.json 每个字段的类型、含义与取值范围,一份可机读的 schema(D 层),以及一段真跑的校验脚本(S 层)。核心纪律是 config 里禁浮点——增长率写整数比、系数写整数百分比,随机数必须可播种。
category
pebble/config/ 的字段字典与 schema:economy.json 与 ch00_budget.json 每个字段的类型、含义与取值范围,一份可机读的 schema(D 层),以及一段真跑的校验脚本(S 层)。核心纪律是 config 里禁浮点——增长率写整数比、系数写整数百分比,随机数必须可播种。
卷一的复现手册:两个 python3(/opt/homebrew/bin/python3 3.14.6 与系统 3.9.6)的区别与陷阱、Node 26 原生跑 TypeScript 的 strip-only 约束、Playwright 复用写法(NODE_PATH 对 ESM import 无效)、pebble 目录结构与全部实跑命令,以及一份可一键运行的环境自检脚本。数字对不上时先看这一页。
小游戏不是「缩小的手游」。包体上限、首包加载时间、无 DOM 渲染与平台 API 这四条平台约束,会一路反向决定做什么品类、把核心循环设多长、界面能铺几层、社交怎么接进分发。本文讲清《小游戏开发实战》三卷本要回答的问题、六档可运行性主张,以及它与站内既有内容的分工与边界。
这一页讲清楚三件事:三卷各自负责什么、贯穿项目《合成小岛》与工具链 pebble(config / sim / core / web)长什么样、以及代码块头部的层级注释和 verify 命令该怎么读。读完你能在本机把书里任意一段代码跑起来,并知道一个数字是从哪一层出来的。
给「强制分享」这条捷径建一个能跑的对照模型:把强制分享建模为每日额外流失项且接受率被压低,把自然分享建模为无额外流失项且接受率较高,逐日递推两条留存曲线,读出一个结论——强制的拉新优势只维持三天,之后就被留存塌陷和低接受率反超,纯商业账上并不划算。
把七个社交传播面收成一个可递推的传播系数 K:K = 每用户邀请数 × 接受率,用整数千分比递推多轮传播,算不同 K 值下累计用户是翘上去还是沉下去,再用 B 层基准扫描出 K = 1000‰ 这条「衰减 / 自增长」的分界线,并验证增长只由乘积决定、不依赖因子拆分。
把小游戏的社交传播面拆成「触达 → 发起 → 接受」三段千分比,用一份 config 列出分享得奖励、好友助力、排行榜、组队、邀请码等七个面,再用 S 层脚本算出每个面的综合转化率并排名,读出一个反直觉的结论:触达最高的「分享得奖励」只排第五,请求型传播面反而领先。
把「不在线的时间」也算进成长:在线速率、离线比例、逐段衰减与时长封顶的整数递推模型,逐分钟算出累计收益并产出 JSON、CSV 与纯 Python SVG 对比曲线,再用上限敏感性基准回答「离线补偿到底该给多长」,与 8.1 成长线、8.2 续玩机制接成闭环。
把「差一点」量化成千分比:从每局目标与进度判定,到近失驱动的「再来一局」给出概率与接受概率,用可播种内核写成能被 node --test 钉住的不变量,并让 Node 测试与 Chromium 原型跑出逐位一致的数字,文末附可直接打开的单文件 HTML 原型与无头验证脚本。
把《合成小岛》的成长线拆成升级成本与产出速率两条整数比递推曲线:用 S 层脚本算出每级耗时、累计投入与满级总账,讲清成本增速与产出增速的比值才是成长线真正的节奏旋钮,并与站点既有的通用经济配置逐级对照,最后收成三条可落地的设计规则,全程整数递推、命令行可复现。
给定每关的目标通过率,用一段整数内核反解难度参数:先建通过率模型,再写可逆的反解函数,配一个可播种抖动生成器,用 node --test 断言每关回代通过率都落在容差内,并与 Python 侧对照逐位一致,全程禁用 Math.random()。
把难度值与玩家能力接成一条整数滞后追赶的递推曲线:玩家能力追不上突然跳高的峰值关时判定为焦虑、难度回落后能力追上则回到心流,逐关算出无聊/心流/焦虑三档分布,再用 B 层基准对每关难度做参数敏感性扰动,看心流占比会漂多少、单关扰动如何级联影响后续关卡。
把《合成小岛》的 20 个关卡写成一张整数结构表:用 S 层脚本读表统计教学/主线/挑战/限时四类的占比、峰值关的相邻间隔与难度回落节奏,产出 CSV 与纯 Python 绘制的 SVG 图,让关卡结构从主观感觉变成可统计、可回归、可复核的数字。
把核心循环落成一个能跑的最小可玩原型:用 TypeScript 写可播种、无 Math.random 的合成内核,用 node --test 断言不变量,打包成单文件 HTML,再用 Playwright 无头注入输入、采样状态、验证确定性并截图存档。
给核心循环装上时钟与密度:用配置把每一次可感知反馈数成一个事件,算出《合成小岛》每秒反馈次数,再用整数匹配函数把它映射到一条单峰心流曲线,并用 B 层基准做循环时长参数的敏感性分析,讲清为什么反馈不是越多越好、以及怎么判断当前落点偏冷还是偏热。
把「一句话玩法」拆成可判定的核心循环:用配置驱动《合成小岛》的动作 → 资源 → 反馈 → 再投入链条,再用 S 层脚本算出每个动作的时长与占整轮循环的比例,产出 CSV 与 SVG 时长条形图,并讲清占比读出来的三个设计结论与可检验自检表。
把「玩家会留下来多久」从一句愿望变成一条可递推的留存曲线:用 D1 起点加早晚两段整数衰减参数,递推出《合成小岛》0–30 天留存,输出 D1 / D7 / D30 与逐日序列,产 JSON + CSV + SVG,并用 B 层做衰减参数的敏感性扫描与软告警。
把「谁愿意花钱」从一句运营直觉变成一条可仿真的意愿轴:按动机把《合成小岛》用户切成五层,每层给出整数付费率与整数 ARPPU,用同一份配置算出总体付费率、总体 ARPPU 与总体 ARPDAU,产 JSON + CSV + SVG,并显式暴露整数地板除的 1 分钱缺口。
把「谁在玩」从一句口号拆成一张可仿真的画像表:定义《合成小岛》五类示例画像(通勤碎片族 / 睡前放松族 / 排队等待族 / 亲子陪伴族 / 深度成就族),给出各自的占比、日打开次数、单次时长、D1 留存与人均日广告次数,再用千分比占比加权出一组总体指标,产出 JSON + CSV + SVG,全程整数地板除,不含浮点。
包体和加载定完之后,最后一关是平台能力与审核。本节把账号、支付、广告、分享、云存档、录屏、排行榜这八项能力在六个平台上的支持情况写成一份可校验的矩阵,再用一段 S 层脚本断言设计案用到的能力在目标平台都可用,并校验每条审核红线都写下了可执行的缓解措施。