到第 9 章为止,所有原型都要求玩家「同时在线」。第 10 章第一次把时间尺度拉长:回合长达五分钟,玩家可以随时离开再回来,服务器必须在没有玩家盯着的情况下按时推进世界。这意味着架构重心从「低延迟同步」切换到「可靠调度与事务一致性」——回合调度、经济结算、地块占领的版本化,全都是典型的后台系统问题,只是穿着游戏的皮。本章是后续所有 SLG、模拟经营与异步玩法路线的起点。
本章定位
- 难度梯度:进阶。同步压力下降,但事务正确性与调度可靠性的要求显著提高。
- 前置章节:第 9 章 协作扫雷、第 7 章 贪吃蛇大作战、第 2 章 石头剪刀布 均被标注为依赖模块。
- 能力跃迁:从「实时同步」跃迁到「异步结算」。玩家的操作与世界的演进在时间上解耦,服务器需要自己安排节拍。
- 阅读时长:单篇 PRD 约 500 行,建议重点读 Job Queue 调度、经济结算事务与地块版本化三节。
核心验证目标
- 回合调度:Cron 或 DelayQueue 驱动的定时结算,确保每个回合在预定时刻对所有玩家原子生效。
- 经济同步:建筑产出与资源消耗的一致性事务模型,产出与消耗必须同生共死,不能出现凭空造资源。
- 地块占领与冲突裁定:区域锁与版本化地图管理,处理两个玩家同回合争夺同一地块的仲裁。
- 持久化与恢复:回合状态快照落库,服务重启后能从正确的回合继续,不重算也不跳过。
- 结算日志:Deterministic Event Log 支撑战报生成与事后审计,重演必须得到同一结果。
- 离线推送:回合结果通过 Webhook 或 Push 通知离线玩家,这是第 13 章离线收益机制的雏形。
- 建造升级循环:建造、产出、消耗、争夺、结算、下回合的完整经济闭环,验证数值循环的稳定性。
技术栈建议
- 语言:Go、Java、Rust 或 TypeScript。Java 在事务与调度生态上成熟,Go 与 Rust 更轻量。
- 协议栈:HTTP 加 WebSocket,配合 Cron 或 DelayQueue 做任务驱动。
- 存储:回合快照与事件日志落关系型数据库,热点状态可缓存在 Redis。
- 关键设计:EconomyEngine 与 SettlementService 分离,前者只计算、后者只提交事务,保证结算可以幂等重放。
本章文章
| 文章标题 | 核心内容 |
|---|---|
| 在线联机原型全集:第 10 章 城格建造 mini-SLG(City SLG Mini) | 完整 PRD:CityServer、JobQueue、EconomyEngine、GridManager、SettlementService 五模块设计,含回合调度、经济事务与地块占领仲裁 |
本章只有一篇 PRD;离线收益与持久世界在第 13 章的小队生存系统中会被推向极致。
与相邻章节的关系
- 上一章:第 9 章 协作扫雷 处理同步并发写入,本章把时间尺度拉长到异步回合。
- 下一章:第 11 章 团队塔防 重新回到实时协作,并把 AOI 同步、共享经济与波次调度叠在一起,是本章经济模型的实时化版本。