开发日志
这是在浏览器里造一个开放世界的持续构建日志,不用安装、不用下载,只要一个网址。
它用 29 部分文章讲述,背后是 60 个 spike。Spike 是一次短促、聚焦的实验,测一个有风险的问题,测真正重要的东西,再决定下一步干什么。大多数 spike 是 /spikes/* 下面的独立页面,你可以在浏览器里现场跑,大多数文章也会直接链到 demo 和它的源码。
第一次来?从第 1 部分:我们从尝试把它弄崩开始开始,或者读系列导览看完整阅读顺序和大白话术语表。
按顺序读
- 第 1 部分:我们从尝试把它弄崩开始
- 第 2 部分:Worker 物理和输入延迟恐惧
- 第 3 部分:救了我们的那些不吸睛的 spike
- 第 4 部分:在花哨地形之前先做好流式加载
- 第 5 部分:给漂亮东西做预算
- 第 6 部分:Clipmap 改变了剧情
- 第 7 部分:Marching cubes 和第一批真正的洞穴
- 第 8 部分:不丢掉基线的情况下做集成
- 第 9 部分:Transvoxel 从脚手架开始
- 第 10 部分:接缝混乱和拐角 boss 战
- 第 11 部分:策略模式,不是硬编码模式
- 第 12 部分:环、天空雾、和我们会再做一遍的事
- 第 13 部分:地形雕刻和数学函数之死
- 第 14 部分:世界活了过来
- 第 15 部分:替换基线,然后同步它
- 第 16 部分:为持续生长的世界搭建结构
- 第 17 部分:不需要重定向的动画,和实时素材搜索
- 第 18 部分:像 AI 摆放的散布笔刷
- 第 19 部分:必须扛住一整片森林的 imposter
- 第 20 部分:在平面上伪造深度
- 第 21 部分:一个并没有更快的"更快渲染器"
- 第 22 部分:能打光的云,和必须喂数据的剔除
- 第 23 部分:五十个化身,和房间里的声音
- 第 24 部分:保存一个世界,和你看得见的风
- 第 25 部分:一副骨架,所有服装
- 第 26 部分:做水的三种方法
- 第 27 部分:从噪声生成的岛屿,看起来像地面的地面
- 第 28 部分:一直延伸到地平线的草,和会自我隐藏的地面
- 第 29 部分:一个控制器,任何身体
现场 spike 地图
如果你想直接点穿这条技术时间线,从这些开始。
Spike 1 地形和实例化 · 源码Spike 2 worker 物理 · 源码 Spike 3 Durable Object 广播负载测试,跑成一个 service 脚本,不是独立页面 Spike 4 移动端画质约束,通过 Spike 1 的 query 参数测 Spike 5 LLM 行为可靠性,跑成一个脚本,不是独立页面 Spike 6 chunk 加载和切换 · 源码Spike 7 来自密度图的植被 · 源码Spike 8 地形材质成本 · 源码Spike 9 级联阴影预算 · 源码Spike 10 clipmap 和 geomorphing · 源码Spike 11 heightmap chunk 流式 · 源码Spike 12 WebGPU marching cubes · 源码Spike 13 WebGPU 集成基线 · 源码Spike 14 增量加固 · 源码Spike 15 接缝脚手架 · 源码Spike 16 第一个 Transvoxel 面 · 源码Spike 17 双 MC LOD · 源码Spike 18 heightmap 接缝 · 源码Spike 19 混合分辨率拐角 · 源码Spike 20 GPU 拐角接缝 · 源码Spike 21 GPU MC 拐角接缝 · 源码Spike 22 MC 到 HM fallback · 源码Spike 23 基于策略的 chunk 模式 · 源码Spike 24 clipmap 环和天空雾 · 源码Spike 25 采样数据上的 heightmap 笔刷 · 源码Spike 26 通过 GPU compute 的 SDF 笔刷 · 源码Spike 27 HM + MC + 笔刷集成 · 源码Spike 28 多材质贴图 · 源码Spike 29 植被和着色器草 · 源码Spike 30 地形物理和 character controller · 源码Spike 31 多人地形同步 · 源码Spike 32 水和游泳 · 源码Spike 33 代码结构重构 · 源码Spike 34 世界内创作 · 源码Spike 35 战斗动画和重定向 · 源码Spike 36 实时 Poly Haven 素材搜索 · 源码Spike 37 AI 辅助道具散布 · 源码Spike 38 八面体 imposter · 源码Spike 39 视差遮蔽贴图 · 源码Spike 40 可见性缓冲渲染器 · 源码Spike 41 森林里的 imposter · 源码Spike 42 imposter 闪烁修复 · 源码Spike 43 大气和体积云 · 源码Spike 44 meshlet Hi-Z 剔除 · 源码Spike 45 批量化身蒙皮和网络同步 · 源码Spike 46 近距离语音聊天 · 源码Spike 47 服务器权威的世界持久化 · 源码 Spike 48 化身骨骼集成,作为共享代码被后续 spike 复用(无独立页面) Spike 49 道具和植被上的 GPU 风 · 源码Spike 50 通用角色和可穿戴 · 源码Spike 51 屏幕空间反射水 · 源码Spike 52 平面镜面水 · 源码Spike 53 生产级水库 · 源码Spike 54 程序化岛屿生成 · 源码Spike 55 地形着色和平铺打散 · 源码Spike 56 GPU 交叉四边形草 · 源码Spike 57 地形遮挡剔除 · 源码Spike 58 可插拔角色控制器 · 源码Spike 59 带真实化身的控制器 · 源码Spike 60 Synty polygon 动画 · 源码