TOS 开发周记 13:背包落地,堡垒回到实时通道
本文根据 2025-12-29 至 2026-01-04 的 Git 提交回补。
跨年这一周提交不多,主要是在承接上周的怪物掉落:既然物品已经会出现在世界里,就需要一个地方保存和展示它们。于是,客户端与后端同时补上了背包系统的第一版。
掉落有了去处
后端新增用户物品实体、物品服务与背包路由,并把相关消息接入地图房间和怪物 worker。客户端加入背包面板,连接 API、全局状态与实时消息处理,随后又调整了背包尺寸。
从涉及的文件可以看出,这不是单独画一个 UI:服务端保存用户物品,接口提供背包数据,地图事件负责连接拾取流程,Godot 再把结果呈现在面板里。和上周的掉落系统连起来后,“怪物产出物品”终于有了后续的数据归属。
地图同步继续收尾
地图侧修正了 chunk 计算和堡垒广播,客户端也改为通过 WebSocket 渲染堡垒。怪物移动则开始用 speed 推导 velocity,让 worker、怪物服务和六边形坐标工具共用这一组移动数据。
年底最后一个提交移除了 TypeScript import 中的 .js 后缀,影响生成脚本、路由、服务与 worker,属于一次横跨后端目录的工程整理,没有改变本周的玩法主线。
小结
这周像是给前一阶段补上“容器”:掉落不再只是地图上的瞬时事件,而是能进入用户背包的数据。与此同时,堡垒与地图分块继续向同一条实时通道收拢,为后面替换联机基础设施减少了分散入口。
提交记录
| 日期 | 仓库 | 提交 | 原始说明 |
|---|---|---|---|
| 2025-12-29 | 后端 | 63e11a0 |
feat: add inventory system |
| 2025-12-29 | 后端 | 76bcd05 |
tmp |
| 2025-12-29 | 客户端 | 4f8a9ce |
feat: add inventory system |
| 2025-12-30 | 后端 | 3c4c958 |
fix: chunk calculation and fortress boradcast |
| 2025-12-30 | 后端 | 678182b |
feat: use speed to determine velecity |
| 2025-12-30 | 客户端 | 10919f1 |
fix: render fortress via ws |
| 2025-12-30 | 客户端 | dc6e230 |
feat: fix bag size |
| 2025-12-31 | 后端 | 8ebee00 |
tidy: remove all js suffix |
TOS 开发周记 13:背包落地,堡垒回到实时通道
https://blog.util.online/2026/01/04/tos-weekly-history/2025-12-29-tos-weekly-13/