标签:技术分享

MineMonopoly如何支持中途存档:IndexedDB 快照、恢复注入与版本兼容

多人游戏的存档需要把正在运行的对象图转换为可恢复的数据,同时保持对象关系和运行时行为。MineMonopoly 的游戏逻辑运行在 GameProcessWorker 中,玩家、地产、机会卡和修饰器之间存在引用关系,地图脚本还可以向对象挂载自定义字段。因此,存档系统需要明确哪些数据属于游戏状态,哪些数

MineMonopoly 的混合 P2P 联机架构

MineMonopoly 将联机拆成房间发现和状态计算两部分。中央服务器维护房间注册并提供 PeerJS 信令、ICE 配置;房主客户端建立 WebRTC 连接并运行游戏进程,对局消息主要在房主与玩家之间传输。 房间控制平面 用户通过 /user/login 获得 JWT,受保护接口由 roleVa

把大富翁游戏逻辑放进 Web Worker:命令总线、阶段系统与回合状态机

多人回合制游戏需要处理规则、输入、动画和网络消息。MineMonopoly 将核心规则放在 Web Worker 的 GameProcess 中运行,Vue 界面负责展示,房主侧 Room 负责连接 Worker 与房间通信。这样,规则推进不依赖组件生命周期,也便于集中处理暂停、超时、断线和调试。

MineMonopoly 的地图编辑器设计

MineMonopoly 将地图保存为可序列化定义,再用受约束的代码字段描述差异化行为。编辑器组织资源,客户端 Worker 按生命周期执行规则,命令系统负责状态变化。新增玩法主要发生在地图内容层,无须为每张地图增加客户端分支。 地图定义与资源关系 GameMap 当前包含 mapItems、map