《小游戏开发实战》卷二《引擎、实现与体验打磨》全 50 篇。第一部分回答「用什么引擎、工程怎么搭、包体够不够」,第二部分回答「逻辑内核怎么跑起来、怎么跨宿主一致」,第三部分回答「怎么做得好玩、跑得顺、改得放心」。
这一卷接着卷一往下走:卷一给了市场与设计,这一卷把它工程化地实现出来。贯穿全书的是虚构小游戏 《合成小岛》 与工具链 pebble——config/ 是唯一真源,sim/ 用 Python 跑仿真,core/ 用 TypeScript 写逻辑内核,web/ 把它打成浏览器直接打开就能玩的单文件 HTML,改一个数字,三处结果都变。
本页是《引擎、实现与体验打磨》的全书目录:按章节顺序列出全部 50 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三处分工说明与常见问题速查。
全书概览
| 项目 | 内容 |
|---|---|
| 书稿 | 《小游戏开发实战》卷二《引擎、实现与体验打磨》 |
| 篇数 | 50 篇(正文 16 章 48 节 + 目录篇 + 附录 C) |
| 领域 | 引擎选型、工程骨架、渲染适配、资源管线、逻辑内核、平台适配、体验打磨、性能与工程化 |
| 贯穿游戏 | 《合成小岛》——合成 + 放置 + 关卡 + 装扮的轻度小游戏 |
| 贯穿工具链 | pebble——config/ + sim/(Python)+ core/(TypeScript)+ web/(单文件 HTML) |
| 核心主张 | 一份 config,三种消费;一份逻辑,两种宿主 |
| 可运行性 | S 仿真层 + P 内核层 + W 网页层 + D 静态层 + X 不可复现 + B 基准 |
| 实测环境 | Python 3.14.6(numpy 2.5.1 / pandas 3.0.3 / PIL 12.3.0)、Node 26.5.0、Playwright 1.59.1、macOS Darwin 25.3.0 |
| 依赖 | 零外部依赖——不用 matplotlib、不用 tsc、不用 npm |
| 承接 | 卷一《市场、品类与产品设计》15 章 45 节;卷三《上线、变现与长线运营》16 章 48 节 |
全书目录
前置
| 篇目 | 核心内容 |
|---|---|
| 目录 | 本卷定位、三处分工、可运行性口径与全书结构 |
| 附录 C:全书代码、配置与数据集索引 | pebble/ 全部文件索引、环境与六层复现命令 |
第一部分:引擎、工程与资源(第 1–4 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 1.1 | 引擎格局与能力对比 | 主流小游戏引擎的能力横向对比(D) |
| 1.2 | 选型加权评分与敏感度 | 可运行的加权评分与敏感度扫描(S/B) |
| 1.3 | 自研 vs 引擎的取舍 | 自研内核与用引擎的边界与成本(S) |
| 2.1 | 项目结构与模块边界 | 目录结构、模块边界与依赖方向(D) |
| 2.2 | 分包与资源加载管线 | 首包 / 分包划分与加载顺序(P/S) |
| 2.3 | 构建产物与包体预算 | 构建产物清单与包体预算校验(S) |
| 3.1 | 无 DOM 的 Canvas / WebGL 渲染环境 | 小游戏没有 DOM,怎么建立渲染环境(P/W) |
| 3.2 | 多分辨率与安全区适配 | 不同分辨率、刘海屏与安全区适配(P/W) |
| 3.3 | 渲染批处理与性能 | 合批、状态切换与绘制调用控制(S/B) |
| 4.1 | 图集打包与纹理压缩 | 图集打包与纹理压缩格式的体积账(S/P) |
| 4.2 | 音频格式与体积 | 音频格式选择与体积控制(D/S) |
| 4.3 | 资源热更新与版本管理 | 资源热更新与版本一致性(P) |
第二部分:逻辑内核(第 5–10 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 5.1 | 固定步长循环与确定性 | 固定步长、可播种随机与确定性回放(P) |
| 5.2 | 场景与游戏状态机 | 场景切换与游戏状态机(P) |
| 5.3 | 暂停、切后台与恢复 | 暂停、切后台与时间跳变的恢复(P) |
| 6.1 | 触控输入与手势抽象 | 触控事件的抽象与手势识别(P/W) |
| 6.2 | 拖拽与滑动手感 | 拖拽、滑动的手感参数与调参(P/W) |
| 6.3 | 平台输入差异 | 各平台输入事件与坐标差异(P) |
| 7.1 | 物理需求分级 | 什么时候需要物理、需要到哪一级(D) |
| 7.2 | 轻量碰撞与空间划分 | 轻量碰撞检测与空间划分(P/S) |
| 7.3 | 物理手感调参 | 重力、弹性与手感调参(P/W) |
| 8.1 | 存储与云存档抽象 | 本地存储与云存档的统一抽象(P) |
| 8.2 | 存档结构与版本迁移 | 存档结构演进与版本迁移(P/S) |
| 8.3 | 客户端校验与反作弊 | 客户端可做的校验与反作弊边界(P/S) |
| 9.1 | 对象池 | 对象池的复用与生命周期(P) |
| 9.2 | 内存与 GC 压力 | 内存占用与 GC 压力剖析(P/S/B) |
| 9.3 | 弱机降级 | 弱机识别与画质 / 逻辑降级(P/B) |
| 10.1 | 平台 API 抽象层 | 把平台 API 收敛到一个抽象层(P) |
| 10.2 | 一份逻辑两种宿主 | mock 宿主与真机宿主共用同一段逻辑(P) |
| 10.3 | 平台兼容矩阵 | 平台能力差异的兼容矩阵(D) |
第三部分:体验打磨与质量(第 11–16 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 11.1 | 布局、层级与滚动 | UI 布局、层级管理与滚动列表(P/W) |
| 11.2 | 弹窗与提示反馈 | 弹窗、Toast 与反馈的层级管理(P/W) |
| 11.3 | UI 合批与性能 | UI 合批与渲染性能(S/B) |
| 12.1 | 缓动与时间轴 | 缓动函数与时间轴编排(P/W) |
| 12.2 | 打击感与粒子反馈 | 打击感、粒子与瞬时反馈(P/W) |
| 12.3 | 音效与震动反馈 | 音效与震动反馈的触发与降级(P/W) |
| 13.1 | 引导状态机 | 用状态机实现新手引导(P/W) |
| 13.2 | 引导漏斗仿真 | 引导漏斗与流失点仿真(S) |
| 13.3 | 渐进教学与容错 | 渐进教学与误操作的容错(P/W) |
| 14.1 | 首包与冷启动优化 | 首包体积与冷启动时间优化(S/B) |
| 14.2 | 帧率与卡顿剖析 | 帧率与卡顿的定位与剖析(S/B) |
| 14.3 | 内存与包体优化 | 内存占用与包体优化(S/B) |
| 15.1 | 逻辑单元测试 | 逻辑内核的单元测试(P) |
| 15.2 | 端到端回放自动化 | 端到端回放与无头验收(P/W) |
| 15.3 | 兼容性与机型矩阵测试 | 兼容性与机型矩阵测试(W) |
| 16.1 | 代码组织与类型安全 | 代码组织与类型安全约定(P) |
| 16.2 | 配置驱动数据表 | 配置驱动的数据表与校验(P) |
| 16.3 | CI 与发布管线 | 持续集成与发布管线(D) |
附录
| 篇目 | 核心内容 |
|---|---|
| 附录 C:全书代码、配置与数据集索引 | pebble/ 文件索引、e<章号>_ 命名约定、六层复现命令 |
怎么用这份索引
- 系统学习:从目录篇 进入,按第一部分「用什么、怎么搭」、第二部分「逻辑怎么跑」、第三部分「怎么打磨」顺序通读。
- 抓重点:第 5 章(固定步长与确定性)、第 10 章(一份逻辑两种宿主)、第 12 章(动效与打击感)是本卷三条主线。
- 查问题:用目录篇 末尾的「常见问题速查」表,或按上表标题跳读。
- 配代码:每篇正文的代码块都标了层级与来源文件;S 层需要 Python 3 + numpy/pandas,P 层需要 Node 26,W 层需要全局 Playwright,都不需要额外安装。卷二文件一律用
e<章号>_前缀,与卷一的ch<章号>_区分。
三条阅读路径
| 路径 | 顺序 | 回答的问题 |
|---|---|---|
| A 工程与引擎课 | 第 1–4 章 | 用什么引擎、工程怎么搭、包体够不够 |
| B 内核实现课 | 第 5–10 章 | 逻辑内核怎么跑起来、怎么跨宿主一致 |
| C 体验与质量课 | 第 11–16 章 | 怎么做得好玩、跑得顺、改得放心 |
可运行性口径
| 层 | 含义 | 怎么验证 |
|---|---|---|
| S 仿真层 | Python 数值仿真 | /opt/homebrew/bin/python3 sim/<name>.py --config config/ --out out/,产出 JSON + CSV + SVG |
| P 内核层 | TypeScript 配置驱动逻辑内核 + 平台 API 抽象层 + mock 宿主 | node --test 'core/test/e<章号>_*.test.ts'(Node 26 原生跑 TS,零依赖) |
| W 网页层 | 单文件 HTML 可玩原型 | node web/build_e<章号>.mjs 产出 HTML,再用 Playwright 无头打开、采样状态、截图 |
| D 静态层 | 平台能力矩阵、包体预算表、兼容矩阵与 schema | schema / lint 校验,且必须能被 sim/ 与 core/ 同时读入 |
| X 不可复现 | 真实平台后台数据、真机帧率、真实审核结果 | 正文显式标注,命令行不可复现 |
| B 基准 | 选型评分稳定性、帧预算、内存漂移、手感容差 | 产出 JSON,软告警不硬失败 |
相关阅读
- 卷一《市场、品类与产品设计》 :先回答「做什么、给谁做、怎么算账」,再来读本卷「怎么实现」
- 小游戏引擎专题 :那 24 篇是做一个创作平台(编辑器 / 素材市场 / BP 与融资),本卷是在平台上做一款游戏
- 微信小游戏开发:引擎选型、性能与变现 :单篇综述,本卷第 1 章给它一张逐项对照表
- 引擎内核系列
:从零实现引擎内核(helio,TS + WebGPU),本卷的
core/只做逻辑内核与最小渲染抽象,不碰渲染管线 - Cocos 游戏开发系列 :引擎 API 教程,本卷只在选型章里横向引用
- 书稿书架 :全部电子书与创作手记