本文根据 2025-11-17 至 2025-11-23 的 Git 提交整理,是一篇待审核的历史开发周记。
从“看见别人”到“和别人互动”
上一周解决了其他玩家的显示,这一周开始补人与人之间的操作。客户端增加发送好友请求和好友列表:API 客户端负责请求,独立的 Friends Panel 负责列表界面,玩家对象也接入了发起请求的入口。
聊天则同时推进前后端。后端在 MapRoom 一侧加入聊天服务与消息处理,客户端增加聊天面板,并通过 Colyseus 收发消息。随后,客户端把网络消息处理从 main.gd 拆到 colyseus_message_handler.gd。这个拆分很重要,因为位置、好友和聊天消息都在增长,主场景不应该长期承担所有协议分发。
地图生成开始分层
后端这一周重新推进地块生成脚本。Tile 增加新的字段与元素类型常量,生成逻辑支持更多 layer,城市也开始分配 Region ID。这里的“分层”是数据结构上的扩展:一个地块可以承载比单一地形更丰富的信息,为后续客户端叠加显示做准备。
为了观察生成结果,后端加入第二版几何调试地图和六边形地块调试页。道路、城市、区域与地块坐标之间牵涉多套数据,调试页面仍然是排查生成结果的重要工具。客户端也在同一周修正坐标处理,并加入城市、道路、山地、海面等素材,前后端都在围绕同一套地图语义收敛。
地图上的操作入口
客户端还增加了悬停弹窗与目标容器,并整理玩家碰撞逻辑。它们把地图元素从“可以看见”继续推向“可以选中、可以成为操作目标”。这些提交尚不足以证明完整战斗流程已经形成,但界面已经为目标型操作留下位置。
本周的主线因此很清楚:世界数据变得更丰富,地图上的人也不再只是移动的图标。好友、聊天、悬停与目标选择,让多人地图开始有了互动层。
提交记录
| 日期 | 仓库 | 提交 | 原始说明 |
|---|---|---|---|
| 2025-11-17 | 客户端 | 1b61944 |
feat: add hover modal |
| 2025-11-17 | 客户端 | 29bea97 |
feat: add target container |
| 2025-11-17 | 客户端 | a370013 |
tidy: collision |
| 2025-11-18 | 后端 | 1c6d786 |
feat: add debug map v2 |
| 2025-11-18 | 客户端 | 4ec4107 |
feat: send friend request |
| 2025-11-18 | 客户端 | fd375cd |
feat: friends list |
| 2025-11-19 | 后端 | 38e3f7d |
feat: add genTiles script |
| 2025-11-19 | 后端 | 7a28749 |
tmp |
| 2025-11-19 | 后端 | 9173849 |
feat: add chat |
| 2025-11-19 | 客户端 | 3eaf554 |
tidy |
| 2025-11-19 | 客户端 | 5e1fb67 |
feat: add chat |
| 2025-11-19 | 客户端 | e509db4 |
tidy: seperate message handler from main.gd |
| 2025-11-20 | 后端 | 2ea0271 |
tmp: center |
| 2025-11-20 | 后端 | dc52be4 |
feat: add loog |
| 2025-11-20 | 后端 | e41895a |
feat: debug tiles map |
| 2025-11-20 | 后端 | f38286e |
feat: add more layers for tiles |
| 2025-11-20 | 后端 | fbabdd7 |
feat: assign regionId for city |
| 2025-11-20 | 客户端 | 12c9710 |
fix coordinates |
| 2025-11-21 | 后端 | 4b6b7d2 |
feat: abstract enum for element type |