TOS 开发周记 04:城市、怪物与三层地图视角
本文根据 2025-10-27 至 2025-11-02 的 Git 提交整理,是一篇待审核的历史开发周记。
世界里终于有了内容
这一周的地图不再只有地形。后端增加 Monster 实体、怪物路由与 /nearby 查询,客户端随即加入敌人显示;城市也沿着相似的路线进入项目:后端补充城市导入和查询,客户端负责把城市画到地图上。前后端在这里形成了很清楚的配合——服务端提供世界对象和位置数据,Godot 客户端将它们变成地图中的可见元素。
为了支撑这些内容,后端还增加了导出完整几何数据的接口。客户端则把 API 调用从主脚本中拆到 api_client.gd,把坐标换算提取到独立工具脚本。随着对象增多,继续把所有逻辑留在 main.gd 已经越来越难维护,这轮拆分来得很及时。
从全国到省份,再到地块
客户端本周加入全国视图,随后又增加省份模式,并把细节模式从主脚本中拆出。三种观察尺度开始各自承担职责:全国层面看整体,省份层面看区域,细节层面承载地块、城市和敌人。
视图切换也暴露了真实问题,比如城市从全国视图切回后消失、游戏开始时玩家发生移动,以及缩放状态不一致。这些都在当周留下了针对性修正。地图模式不是三个孤立页面,它们共享世界数据、坐标和相机状态,所以切换过程本身也成了功能的一部分。
生成地形,也生成道路
资源层面加入了水面、沙地等地块素材,并尝试伪随机资源生成;城市之间的道路也开始自动绘制。与此同时,游戏配置和开始菜单被单独建立,地图参数不再只依赖开发中的控制面板。
这一周提交很多,也有多次重构。回头看,真正的进展不是单个素材或按钮,而是 TOS 从“六边形地图原型”向“有视角层级、有城市、有怪物的世界”迈出了一步。
提交记录
| 日期 | 仓库 | 提交 | 原始说明 |
|---|---|---|---|
| 2025-10-27 | 客户端 | 6aeddfd |
fix: fix brick show |
| 2025-10-27 | 客户端 | ecabec7 |
tidy: move files |
| 2025-10-28 | 后端 | 122fbc5 |
feat: add /nearby |
| 2025-10-28 | 后端 | afa6673 |
feat: add monster |
| 2025-10-28 | 后端 | bf9b0d0 |
fix: fix outline |
| 2025-10-28 | 后端 | d958f2a |
feat: add monster |
| 2025-10-28 | 客户端 | 237e692 |
feat: add enemy |
| 2025-10-28 | 客户端 | 9135c51 |
tidy: split off files |
| 2025-10-29 | 后端 | e508783 |
feat: add city |
| 2025-10-29 | 客户端 | 0272aeb |
feat: debug dynamic draw |
| 2025-10-29 | 客户端 | 77c908d |
tidy: clean code |
| 2025-10-29 | 客户端 | b82898a |
feat: show cities |
| 2025-10-30 | 后端 | 39bfa36 |
feat: export all geometrys |
| 2025-10-30 | 客户端 | 0a6a929 |
feat: refactor dynamic load |
| 2025-10-30 | 客户端 | ad7e4c0 |
feat: add scale |
| 2025-10-31 | 客户端 | 4ff3222 |
feat: add national view |
| 2025-10-31 | 客户端 | 73a55e9 |
feat: debug positon infos |
| 2025-10-31 | 客户端 | 85be803 |
tidy |
| 2025-11-01 | 客户端 | 00d59ca |
feat: Pseudo-random resource generation |
| 2025-11-01 | 客户端 | 7df0066 |
fix: elemet showing |
| 2025-11-01 | 客户端 | da0023e |
fix: fix citiy disappear after switch from national view |
| 2025-11-01 | 客户端 | e1fd066 |
feat: draw road automatically |
| 2025-11-02 | 客户端 | 05cf290 |
feat: add game config |
| 2025-11-02 | 客户端 | 0c46c4e |
feat: add start menu |
| 2025-11-02 | 客户端 | 10114fa |
feat: fix player moving at the begin of game |
| 2025-11-02 | 客户端 | 70509f5 |
feat: add province mode |
| 2025-11-02 | 客户端 | c91da7e |
feat: split off detila model from main |
| 2025-11-02 | 客户端 | e2a919c |
feat: place utils together, fix scale |
TOS 开发周记 04:城市、怪物与三层地图视角
https://blog.util.online/2025/11/02/tos-weekly-history/2025-10-27-tos-weekly-04/