MushRog

每个人有自己的队伍

2026年10月12日 mecanicaarquitetura

机器翻译,尚未审校。

现在可以创建账号、组建角色,并带着他们进入房间了。以前所有人都是同一个法师和同一个战士。现在每个玩家可以选择职业、身体、发型、发色、肤色和身高,把两个角色编成一支队伍,带着这支队伍去战斗。

为什么做

角色切换是游戏的核心,只有当两个角色都是你自己的,它才有个人色彩。另外,在做任何依赖进度的东西之前,我们都需要账号:背包、等级、宝箱。

怎么实现的

登录使用邮箱或 username 加密码。username 是唯一的,也是其他人能看到的名字,邮箱永远不会离开服务器。密码从不保存:服务器保存的是它的派生值(PBKDF2,20 万轮,每个账号一个不同的盐),在单独的线程里计算,这样有人进入时房间不会卡顿。连接是加密的,目前用的是服务器自己生成的证书。对外开放之前会换成正式证书。登录尝试每分钟六次,超过就要等待。

每个账号最多有六个角色和三支队伍。同一个角色可以出现在多支队伍里,角色名也可以重复。

没有性别字段。有两种身体、十二种发型、八种发色、五种肤色和三种身高。颜色由 shader 产生,所以每多一种组合都不需要新的美术。

每个角色出生时都是 1 级,每项属性为 1,带一个 skill。因为现在还没有升级的途径,在测试房间里他会拿到一套原型装备(5 级和该职业的测试 skill)。账号里保存的是真正的角色。

自动测试现在会走完整条路:先尝试在没有账号的情况下登录并被拒绝,然后创建账号、创建两个角色、组建队伍,和另一个 bot 一起进入房间,并确认两人互相看得到。同时还会确认没有任何密码被写到磁盘上。

在手机上

到目前为止,手机上只能走路,因为 skill 栏只是一幅图。现在每个 skill 都是一个触摸按钮,旁边还有一个切换按钮。点地面依然是走路,点 skill 栏永远不会变成移动。

下一步

城镇:一个所有人都能互相看到、带聊天的地方,在进入房间之前使用。

变更

  • feat(auth): accounts, character creation and teams

    Server-side AccountStore (one JSON per account, email/username index, atomic writes) with PBKDF2-HMAC-SHA256 (200k iterations, per-account salt) computed on WorkerThreadPool; DTLS on the ENet connection with a self-signed dev certificate; login rate limit; one session per account. Characters start at level 1 with one skill and validated appearance (2 bodies, 12 hair styles, 8 hair colors, 5 skin tones, 3 heights); teams pair two characters; rooms use a prototype kit until progression exists. Client gets login/register, home, character creator with live preview and team builder. Room state only goes to peers in the room. End-to-end network test covers the whole flow.

  • feat(client): tappable skill bar and swap button for mobile

    Taps on the action bar fire the skill or swap instead of walking. tools/tap_test.tscn simulates touches to check it.

← 返回开发日志