posts

在线联机原型全集第 3 章导读:井字棋四子棋与可验证状态空间

《在线联机原型全集》第 3 章的章节导读。本章用井字棋(Tic-Tac-Toe)与四子棋(Connect Four)第一次让服务器维护一个可验证的状态空间:可变网格的序列化与存储、回合锁步、服务器权威的胜负与合法性判定、快照恢复、只读观战通道,以及基于哈希一致性的确定性回放。本页给出本章定位、核心验证目标、技术栈建议、文章清单与相邻章节关系,是后续棋类、战棋与地图类原型的共同基石。

前两章里,服务器处理的要么是「消息」,要么是「一次性的指令」。第 3 章开始不一样了:服务器第一次持有一个会持续演进、且必须能被独立验证的对象——棋盘。井字棋只有 3×3,四子棋也不过 7×6,规则简单到可以手写判定函数,但正是这种简单,让「状态序列化」「合法性裁定」「回放一致性」这些真正棘手的问题暴露得清清楚楚。本章是后面所有棋类、战棋、乃至地图类原型的共同地基。

本章定位

核心验证目标

  1. 棋盘状态管理:可变网格的存储、序列化与传输,两种棋型共用一套 BoardEngine。
  2. 回合锁步:玩家轮流操作的顺序保证,非法轮次提交必须被服务端拒绝。
  3. 服务器权威判定:胜负判断与合法性校验全部在服务端完成,客户端只做展示与乐观预览。
  4. 快照与断线恢复:Snapshot 机制让重连玩家在不重放全部历史的前提下回到正确棋局。
  5. 只读观战通道:SpectatorService 提供延迟广播,防止观战者提前获知对局结果。
  6. 确定性回放:基于哈希一致性的 Deterministic Replay,验证「同一初始状态加同一操作序列必得同一终局」。
  7. 对局存档:ReplayLogger 落盘完整操作序列,为审计与复盘提供数据基础。

技术栈建议

本章文章

文章标题核心内容
在线联机原型全集:第 3 章 井字棋 / 四子棋(Tic-Tac-Toe / Connect Four)完整 PRD:BoardEngine、Validator、ReplayLogger、SpectatorService 四模块设计,含两种棋型的规则定义与哈希一致性回放验证

本章只有一篇 PRD,未拆出独立的设计稿;状态空间的深入讨论(如 AOI 与分区)留到第 7 章的贪吃蛇大作战。

与相邻章节的关系

相关专题

全部文章 Game Golang Saas Rust 游戏开发 客户端开发 GameDev Products Lua 写作