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/

作者

amano

发布于

2026-01-04

更新于

2026-08-04

许可协议

评论