跳到主要内容

更新日志

本页根据服务端、公开前端、Python SDK、文档和 Arena Hero Skill 五个仓库的 Git 历史整理。 这里只记录玩家或开发者能观察到的变化;纯重构、CI 维护和内部安全修复会合并说明,不会把 每条 commit 原样复制进来。

游戏规则版本和 Python SDK 版本互相独立。公开 HTTP 与 WebSocket API 仍是 v0.1。 当前文档对应的确切代码见来源与版本策略

2026 年 8 月 2 日

官方网页——按格指定攻击

  • 先锋的手动操作现在可以选择任意相邻格,包括预计敌人会在结算时进入的空格。
  • 游侠的手动操作现在直接选择高亮射击格。前端继续使用现有的 target_idexpected_cell 协议:格内已有敌人时选择当前 HP 最低者;预判射击空格时,选择一步 内可能进入该格的最低 HP 可见敌人。
  • 这只是网页端和教程改进;服务端战斗规则及指令 JSON 没有变化。

公开终身排行榜

  • 新增一个公开排行榜接口和网页,只显示三项终身统计:信标持有 Tick、造成伤害和 Core 摧毁参与。
  • 每榜显示分数大于 0 的前 100 名;同分使用相同排名,并按 username 稳定排序。
  • 只公开 username、排名与分数。其他私人统计、邮箱和内部用户 ID 仍然保持私有。

游戏规则 v0.11 — 维护费欠款伤害超额 Unit

  • 维护费仍然先扣 Core 现有资源,但每 1 点未支付欠款改为对超额 Unit 造成 1 HP 伤害, 不再伤害 Core。
  • 离当前 Core 最近的 19 个 Unit 受保护。其他 Unit 按曼哈顿距离从远到近排列,同距离按 UUID 原始字节序;伤害沿这个顺序集中结算。
  • 欠费死亡发生在移动与战斗前。Worker Cargo 和携带的 Beacon 正常掉落,不授予敌人 摧毁参与;受伤但存活的 Unit 本 Tick 仍可行动并在之后恢复。
  • UPKEEP_PAID 继续给出 duepaiddeficitUNIT_DAMAGED / UPKEEP_DEFICIT 给出受伤 Unit、伤害与剩余 HP。
  • 前端会在 Tick 结果中解释欠费伤害与死亡。当下 Tick 维护费超过 Core 当前资源时, 前端还会提前显示确切缺口和受威胁的 Unit;Python SDK 文档说明了如何读取这个向前 兼容的事件。

来源:服务端 83ae972前端 Tick 结果 0a673f1前端预警 4d2808cSDK 8f967aa

游戏规则 v0.10 — 战斗后恢复 HP

  • 所有 Unit 与自己的静止 Core 同格时都可以使用 HEAL;Core 也可以把 HEAL 作为 自己的动作。
  • 恢复在同时战斗伤害之后结算,每实际恢复 1 HP 消耗 1 Core 资源,一次动作可以消耗多份 资源直至回满。
  • Unit 按 UUID 顺序先恢复,然后才结算 Core 动作。致死伤害无法恢复,恢复失败不扣资源。
  • Core 恢复 HP、修盾和生产都改到战斗后结算。因此刚修好的护盾不能吸收刚结束的伤害, 新生产的 Unit 在出生 Tick 不会被攻击。
  • 战斗中从敌方 Core 夺取的资源,可以立即用于同 Tick 的 Unit 恢复和 Core 动作。
  • 增加私有恢复结果事件、生涯 HP 恢复统计、前端操作与提示,以及 Python SDK v0.2.6 的 unit.heal()core.heal()HealAction 和类型化 HealingResult

来源:服务端 5a3bcdf前端 789cf1bSDK 4a29585

2026 年 8 月 1 日

游戏规则 v0.9 — 摧毁 Core 后夺取资源

  • Core 因战斗被摧毁后,它的全部库存会尝试交给摧毁 Tick 对该 Core 造成伤害最多的玩家。
  • 伤害相同时按玩家 UUID 原始字节序。所有攻击者仍照常获得摧毁参与;该统计不决定资源归属。
  • 获胜者最多存入战后容量 max(10, population × 5),多出的资源直接销毁。
  • 如果获胜者的 Core 也在同一个战斗 Tick 被摧毁,受害者资源全部销毁。维护费欠款导致的 Core 摧毁不产生战利品。
  • 新增私有 CORE_RESOURCES_CAPTURED 结果、前端提示,以及 SDK 类型化模型 CoreResourceCapture

来源:服务端 a998d8d前端 0daf69aSDK 9cfe088文档 9a881bfSkill 1c4b126

游戏规则 v0.8 — Ranger 斜线射击

  • Ranger 可以横向、纵向或沿精确 45° 斜线攻击,射程为 1–3 格。
  • 只有射线中间格上的障碍物会阻挡;射线两侧的对象和障碍物不影响射击。

来源:服务端 59268f3

游戏规则 v0.7 — 穿透射击与立即重生

  • Ranger 射击可以穿过 Unit 和 Core,只有地形障碍物阻挡。
  • 删除复活冷却;Core 被摧毁后,通常会在同一个结算 Tick 后段立即尝试部署替代 Core。
  • 网页同时修复了 Core 移动与 Worker 交付的优先级,并在地图上恢复显示 Core 护盾。

来源:穿透射击 fb7680f立即重生 2b32550

2026 年 7 月 30 日

游戏规则 v0.6 — Core 最低容量

  • Core 容量改为 max(10, population × 5),因此存活 Unit 为 0、1、2 时仍有 10 点容量。
  • 交付不能超过严格上限;人口下降后,已有的超额库存会立刻销毁。

来源:服务端 f81b6c9

游戏规则 v0.5 — 随人口变化的库存

  • Core 资源容量开始由当前存活 Unit 人口决定。
  • 前端和 SDK 开始公开当前容量与剩余空间。

来源:服务端 bc16014

2026 年 7 月 29 日

游戏规则 v0.4 — Worker Cargo 可回收

  • Worker 死亡时,携带的全部资源会落在最终位置。
  • Cargo 资源堆独立于区块自然资源配额持久存在,可以持续采集直到清空。

来源:服务端 f98e22e

游戏规则 v0.3 — Unit 自毁

  • 所有 Unit 都可以在扣维护费前自毁。
  • 自毁不返还费用、不造成伤害,也不给敌人摧毁参与;Worker Cargo 和携带中的 Beacon 仍按正常规则掉落。

来源:服务端 16b152b

游戏规则 v0.2 — 有限资源

  • 自然资源点从永久可采改成采集一次后消耗。
  • 每个 32×32 区块拥有随距离变化的固定配额,每 4 个已结算 Tick 补回缺失位置。
  • 同格采集竞争改为确定性判定。

来源:服务端 c655315

前端与可见状态

  • 地形按区块缓存,Arena 渲染逐步切换到更清晰、更流畅的 Canvas,重点修复 Retina 屏幕和缩放卡顿。
  • 可见 Core 开始公开 owner_username,前端显示为 @username;Unit 所属玩家仍保持私有。

来源:地形缓存 e2e2ba5Retina 渲染 ca2eea4Core username 4d6454f

2026 年 7 月 28 日

  • 官方类型化 Python SDK 上线,包含同步/异步客户端、Turn 控制器、安全重试、回执和 WebSocket 重连。
  • 双语 Docusaurus 文档站上线,随后加入独立 Python SDK 和 Arena Hero Skill 章节。
  • Arena Hero Skill 上线,提供策略脚本与直接操作两种模式,随后把完整玩法和开发文档 打包到本地,离线也能查阅。

来源:SDK b784c81文档 d66a0b8Skill 7e0422d

2026 年 7 月 26 日

  • 把长期 SSE 游戏流替换为服务端向客户端下发的 WebSocket,命令仍通过 HTTP 提交。
  • 新增规范化 received 计划消息,同一玩家的全部客户端都会收到,重连快照也会恢复。

来源:WebSocket 243a05b跨客户端回执 b9d4de7

2026 年 7 月 23–25 日

  • 完成面向生产的规则、Champion Beacon、确定性移动与战斗、PostgreSQL 持久化、认证和 部署基础。
  • 删除全服状态发布屏障;每名玩家收到自己的完整 state 后即可提交,不必等待其他玩家。
  • 单世界单服务架构扩展到 5,000 名并发玩家的目标规模。
  • 加入网页交互式教程,并完成两轮安全加固。

来源:生产对齐 a707f66状态发布 694c4c05,000 玩家扩展 fb5a3cd教程 3a9535c

2026 年 7 月 15–17 日

  • 建立共享永久世界、确定性 Tick 引擎、最初的 tick / state / command 协议、Go 服务端、PostgreSQL 存储和网页客户端。
  • 加入客户端自动路线;每个 Tick 只提交下一步合法移动。

来源:初始实现 c32c144自动路线 d9c7d2d

Python SDK 发布记录

SDK 版本与游戏规则版本互相独立。

版本日期开发者可见变化
0.2.62026-08-02已发布到 PyPI;增加 Unit/Core 恢复、类型化 HealingResult,并包含未单独发布的 0.2.5 源码中的 CoreResourceCapture
0.2.5 源码2026-08-01增加类型化 CoreResourceCapture;已提交,但尚未发布到 PyPI。
0.2.42026-07-30加入 Core 最低容量契约与发布元数据。
0.2.32026-07-30公开 Core 资源容量与剩余空间。
0.2.22026-07-29公开 Core 的 owner_username
0.2.12026-07-29更新打包与 Apache-2.0 发布信息;没有玩法协议变化。
0.2.02026-07-29支持 Unit 自毁与 Cargo 回收事件。
0.1.02026-07-28官方同步/异步 SDK 首次发布到 PyPI。