TOS 开发周记 17:从角色创建走到读档

本文根据 2026-01-26 至 2026-02-01 的 Git 提交回补。

这一周终于把注意力从地图内转向“进入游戏之前”。角色选择、角色创建、地图选择、读档和设置保存陆续出现,原本直接进入主场景的流程开始有了完整的外壳。

先创建一个属于自己的角色

Godot 端加入角色选择与创建界面,能够选择角色外观,也能在创建时选择地图。相关提交引入了角色素材、精灵处理工具和多语言文案。后端则给用户模型与实时事件补上 CharacterName,让角色名称不只停留在客户端。

后端同一提交曾加入 money 字段,紧接着又移除,因此周记里不把它当作最终功能。保留下来的重点是角色名称和用户数据在接口、地图消息与客户端显示之间完成对接。

从欢迎页进入读档流程

客户端先加入已有用户选择对话框,随后做成独立的 load_game 页面。API client、全局状态、欢迎页与主场景都参与了这次调整:选择存档后,需要把用户、角色外观与地图信息带入游戏,而不是只切换一个场景。

游戏设置也开始持久化,并修复了用户名、玩家形象与读档过程中的问题。地图加载侧新增 found 字段来判断扫描区域内是否仍有空 tile;另一个提交统一把 API 中的浮点数字转成整数,减少 Godot 端处理服务端数值时的类型分支。

小结

这一周的成果不是某个孤立页面,而是一条新的进入路径:欢迎页、角色创建或读档、配置状态,最后进入地图。服务端只增加了少量用户字段与修正,大部分工作都在客户端,但它仍然依赖后端返回的用户与地图数据才能闭合。

提交记录

日期 仓库 提交 原始说明
2026-01-26 客户端 8ab353a feat: allow to choose player
2026-01-27 客户端 d08e5e3 feat: allow to select map in user createion scene
2026-01-28 后端 816dbb8 feat: add CharacterName, mony for user
2026-01-28 后端 fcdc614 tidy: remove money
2026-01-28 客户端 1097a15 fix: load game
2026-01-28 客户端 1eb6c2d feat: allow to load game
2026-01-28 客户端 41ac7e8 fix: player character
2026-01-28 客户端 4590827 fix: user name
2026-01-28 客户端 759f8d4 feat: persist game setting
2026-01-28 客户端 f023673 fix: new found field to judge if have empty tiles
2026-01-29 后端 5940534 fix
2026-01-29 客户端 31dd1fc feat: dedicated load_game page
2026-01-29 客户端 46d79ec tmp
2026-01-29 客户端 ad477d2 feat: auto parse float to int
作者

amano

发布于

2026-02-01

更新于

2026-08-04

许可协议

评论