TOS 开发周记 02:把六边形地图搬进 Godot
本文根据 2025-10-13 至 2025-10-19 的 Git 提交整理,是一篇待审核的历史开发周记。
客户端的第一块地图
上一周主要在后端和浏览器调试页里处理地图,这一周则全部转到 Godot 客户端。项目引入了六边形 TileMap 插件,并围绕 main.gd、主场景和控制面板快速搭出第一版地图查看器。
地图尺寸在第一天就经历了几轮扩大,随后又改成固定尺寸;这不是一条笔直的实现路线,更像是在实际画面中不断确认六边形铺设方式。到周中,每个地块的宽度可以从面板配置,原先散落的选项也被收进控制面板,地图参数终于有了比较集中的入口。
让大地图可操作
只把六边形铺出来还不够。客户端随后补上缩放、区域列表和 Sprite 展示,并清理了一轮集中在 main.gd 里的试验代码。区域列表让地图中的 Zone 不再只是内部数据,面板开始承担选择和观察世界的职责。
周末的动态加载是这一周最关键的方向变化:地图不再只按一次性、固定范围的思路处理,而是开始根据视野组织加载。最后的裁剪调整很小,却与动态地图的显示边界直接相关。
一边试,一边收拢
这一周有两个很大的临时提交,也有明显的删除和重构。回看历史,我更愿意保留这种真实感:客户端还在寻找合适的地图表现方式,但插件、主场景、控制面板与动态加载已经形成了基本分工。后面继续做元素、城市和玩家时,至少有了一张真正能承载它们的 Godot 地图。
提交记录
| 日期 | 仓库 | 提交 | 原始说明 |
|---|---|---|---|
| 2025-10-13 | 客户端 | 143b9f0 |
feat: add panel |
| 2025-10-13 | 客户端 | 778dd3b |
tmp |
| 2025-10-13 | 客户端 | 80641ba |
feat: zoom |
| 2025-10-13 | 客户端 | 8507ae5 |
init with addons |
| 2025-10-13 | 客户端 | 9c27182 |
feat: expand map again |
| 2025-10-13 | 客户端 | c83b2a5 |
feat: enlarge map |
| 2025-10-13 | 客户端 | cc7cfe3 |
tidy: clean code! |
| 2025-10-13 | 客户端 | eb3e6c9 |
feat: list zones |
| 2025-10-15 | 客户端 | bc823da |
feat: add sprite |
| 2025-10-16 | 客户端 | 4141a0b |
tidy: fixed map size |
| 2025-10-16 | 客户端 | aedba32 |
feat: allow to configue width per tile |
| 2025-10-18 | 客户端 | 5705a85 |
refactor: move options into panels |
| 2025-10-18 | 客户端 | e57b18e |
tmp: white |
| 2025-10-19 | 客户端 | 315bc09 |
feat: dynamicly load |
| 2025-10-19 | 客户端 | b77183f |
feat: clip |
TOS 开发周记 02:把六边形地图搬进 Godot
https://blog.util.online/2025/10/19/tos-weekly-history/2025-10-13-tos-weekly-02/