第五章 网络联机与上线复盘:从 0 到 1 的收官
最后一章做两件事:把单机项目变成联机游戏,然后把它发出去。联机是独立项目最容易烂尾的部分("联机毁项目"不是段子),但有了第 1 章的分层架构(联机在 L4)、第 2~4 章的数据流设计(GAS 事件、Tag 驱动、存档分层),联机的落地比想象中简单得多。
章节地图
| 篇目 | 主题 | 一句话结论 |
|---|---|---|
| 0501 | 服务器权威:判定与回滚 | 哪些东西该权威,想清楚再写 |
| 0502 | 复制分层:属性/RPC/相关性 | 复制不是"全部同步" |
| 0503 | 会话与断线重连 | 联机体验的底线是"接得上、断不了、回得来" |
| 0504 | 性能预算复盘 | 三线程账本与优化记录 |
| 0505 | 打包发布与上线复盘 | 全书方法论的一次真演练 |
一个决策:联机做到什么程度
独立项目要诚实回答一个问题:联机是核心卖点还是加分项?
| 定位 | 建议 |
|---|---|
| 核心玩法(合作 Roguelike) | M3 全力做(本章全做) |
| 加分项(排行榜/异步) | 只做统计上报,不做实时(成本 1/10) |
| 不确定 | 先做 2 人同机(Listen Server),验证喜爱度再扩张 |
不要为了"看起来功能多"而上实时联机——成本是整个开发周期的 20~30%,且会重塑每一个系统。
与官方文档的关系
网络官方文档(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/networking-and-multiplayer-in-e475)与带宽优化(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/performance-and-bandwidth-tips-d100)是原理;Actor 休眠(https://www.wanxiangyundang.top/read/unreal-engine-5-8-docs/actor-network-dormancy-in-unre-559d)是性能。我的增量是"独立项目该做到哪一档"与"联机怎么与前面四章的架构咬合"。
心得:《回廊》决定上联机是在 M3 前一周纠结了两天的结果。上之前我列了一张清单(0501 的权威表),发现 80% 的系统已经"数据流化"(GAS 事件、Tag、数据表),联机真正的工作量比预想少一半。架构红利在这里兑现。
