这本书做一件事
Section titled “这本书做一件事”把 VRChat 一局之内的多人游戏架构讲清楚。
Vol.1 第六部讲到「同步灯」就停了:两位玩家都看到同一盏灯亮起来,可以宣布「网络通了」。再往前走的几个问题没被回答:谁能改、迟入玩家怎么办、Owner 离开会发生什么。这一卷不急着做游戏,先把状态、通道、Owner、字节预算讲到位,再回去搭一个能上线的合作防守世界。
四个层次按从下到上铺开:
| 层次 | 涉及的核心概念 |
|---|---|
| 同步层 | 变量、事件、Owner、PlayerObject、Object Sync、字节预算 |
| 状态层 | 游戏状态机、命令模式、版本号、迟入与掉线恢复 |
| 玩法层 | 大厅、队伍、回合制 / 即时制、NPC、物理对象、观战 |
| 生产层 | 调试、性能、内测、上线迭代、版本迁移 |
最终落到一个 2-4 人合作防守世界原型,把前面所有概念串起来跑一遍。
第一部 · 把 VRChat 的网络地基看清楚 状态四象限、四种通道、Owner 不是 Master、手动同步生命周期、迟入恢复、网络预算、Debug 矩阵、同步即状态复制。第一部末做闭环 1:单 Master Owner 的极简一局。
第二部 · 玩家对象与权威拓扑 VRCPlayerObject、GameState、请求式架构、抢资源冲突、Owner 离开后的恢复路径。第二部末做闭环 2:PlayerObject + GameState 的中级一局。
第三部 · 游戏循环:从大厅到结算 大厅、准备、开局、计分结算、观战与重入。这一部从网络层回到游戏世界本身。读到这里有中途岔路图,按玩法类型选重点章节。
第四部 · 数据通道与序列化 状态 / 命令同步、版本号与幂等、参数化网络事件主线必读,命令模式 / 字节打包 / JSON 进阶可跳过。第四部末做闭环 3:加上版本号的工程化一局。
第五部 · 玩法范式 回合制范式、轻实时范式、计分进阶、观战进阶。同一架构在不同节奏下的两种参数化。
第六部 · 体感:预测、补偿与可接受的不一致 本地预演、Owner 伪权威、Lag 补偿可行边界、修正插值、反作弊近似。
第七部 · 高风险系统:NPC、物理、对象同步 NPC 三种架构、行为树替代写法、对象池、VRC Object Sync、对象同步生态、Quest 性能预算。
第八部 · 完整项目:合作防守世界 把前七部串成一个能上线的最小可玩版本。最后给项目改造对照表:把合作防守换成卡牌 / 解谜 / 派对 / PvE 各要改哪几章。
八篇创作者视角
Section titled “八篇创作者视角”每部前面有一篇 500–800 字的短文,把技术操作连接回创作意图。可以独立读:
一局游戏的时间感 第一部之前。
每位玩家有自己的轨迹 第二部之前。
大厅是一个仪式 第三部之前。
同步不是真相,是协议 第四部之前。
节奏感是设计出来的 第五部之前。
体感是欺骗的艺术,但有边界 第六部之前。
NPC 是一种讲故事的方式 第七部之前。
上线之后玩家会按设计之外的方式玩 第八部之前。
读完 Vol.1,或达到 Vol.1 第 30 章水平:
- 能用 UdonSharp 写同步开关、抓取物、简单计数器。
- 不再被 C# 基础语法卡住:字段、方法、数组、
for、foreach、null检查、枚举。 - 知道
[UdonSynced]、OnDeserialization、RequestSerialization大概是什么。 - 走过 VCC、Unity、Build & Test、上传发布的常规流程。
不假定读者写过游戏服务器,也不假定读者懂 Mirror、Photon、Unity Netcode。传统 netcode 在书里只作为类比材料,不当作 VRChat 的实现蓝图。
第一部 8 章可读。0 章过渡、闭环 1、对照小练 A 占位中。第二部到第八部按规划推进,每部入口页都能提前看到该部承诺的范围。
阅读路径建议放在 一页速通 里。