TOS 开发周记 09:堡垒升级、地图分层与动态加载

本文根据 2025-12-01 至 2025-12-07 的 Git 提交整理,是一篇待审核的历史开发周记。

堡垒从地图标记变成可操作对象

后端本周先增加堡垒列表接口,客户端随后把堡垒显示到地图上。第二天,两端又分别修正升级接口并接入堡垒升级操作。客户端为此加入 Fortress Manager 和命名对话框,把查询、显示与操作从主场景中抽离出来。

这条链路比此前单纯显示城市更完整:服务端维护堡垒数据和等级变化,客户端负责列出、绘制并发起升级。提交只能证明相关接口与界面逻辑已经接通,不能据此推断数值平衡或实际游玩效果。

地块从单层走向多层

后端扩展 Tile 的 layer 结构,并继续整理基础环境和城市清理逻辑;客户端紧接着加入多层地块素材与绘制支持。花、森林、沙坑、荒漠树等元素由此可以与基础地形分层表达,而不是每个地块只能选择一张最终贴图。

客户端还增加 map loaded 事件。聊天和好友面板可以等地图准备完成后再处理自身状态,模块之间不必都直接盯住主场景的加载细节。这一周建立的 EventBus、Global State 和 autoload 目录,也是同一方向:把跨场景共享的事件、状态、API 与 Colyseus 连接集中管理。

动态地图与房间边界

后端尝试按 chunk 组织 MapRoom,并留下相应设计文档;随后删除旧的 MatchMakerRoom 与匹配路由。客户端则更新房间处理与动态加载,最终改为从服务端数据绘制地块,并移除原先的半径限制。

这里仍是明显的演进阶段:room by chunkdynamic load 都以临时提交出现,不能写成已经稳定完成的架构。不过可以确认,地图加载和多人房间正在从“整张地图、单一房间”的早期实现,转向按空间范围组织的方案。

战斗仍在试验中

后端新增 BattleRoom,并两次调整怪物与战斗相关代码;客户端也更新了怪物 API。由于两笔后端提交都明确标记为 tmp,而本周没有足够证据证明完整战斗流程闭环,因此更准确的说法是:战斗房间与怪物接口进入了原型阶段。

这一周同时推进了堡垒、分层地块、全局状态和房间加载,最后又回到“由服务端地图数据驱动客户端绘制”这条主线上。早期世界原型正在逐步拆成可以独立演进的系统。

提交记录

日期 仓库 提交 原始说明
2025-12-01 后端 3d7d7e4 feat: add fotress list
2025-12-01 客户端 753babf feat: show fortresses
2025-12-02 后端 962adc5 fix: level up
2025-12-02 客户端 0ec23e3 tidy: remove tile info in debug panel
2025-12-02 客户端 c0ff0e0 feat: update monster api
2025-12-02 客户端 cd231f4 tidy: clean code, move camera logic into each moda
2025-12-02 客户端 d3ae464 tidy: clean useless code
2025-12-02 客户端 dfbb6f3 feat: level up fortress
2025-12-03 后端 0f6583e tmp: battle
2025-12-03 后端 9024e79 tmp: battle 2
2025-12-03 客户端 2ee95e4 feat: auto load, singeton
2025-12-03 客户端 3b6c2b1 feat: add global state
2025-12-03 客户端 c085d6f tidy
2025-12-04 后端 110a240 tidy: clean code
2025-12-04 后端 26353fb feat: add layers for Tile
2025-12-04 后端 ffa1b59 tmp: room by chunk
2025-12-05 后端 89ee620 tidy: clean code
2025-12-05 后端 d36e8ea feat: update city cleanup
2025-12-05 客户端 1225dad feat: add map loaded event
2025-12-05 客户端 36c26ea feat: support multi layers
2025-12-05 客户端 b84afe2 autoload colyseus
2025-12-05 客户端 e1d9f30 feat: add autoload folder
2025-12-05 客户端 f47b8f2 tmp: dynamic load
2025-12-05 客户端 f7e25f2 feat: update room
2025-12-07 客户端 068898d feat: drawing tiles from server, remove radius limit

TOS 开发周记 09:堡垒升级、地图分层与动态加载

https://blog.util.online/2025/12/07/tos-weekly-history/2025-12-01-tos-weekly-09/

作者

amano

发布于

2025-12-07

更新于

2026-08-04

许可协议

评论