更新日志
本页根据服务端、公开前端、Python SDK、文档和 Arena Hero Skill 五个仓库的 Git 历史整理。 这里只记录玩家或开发者能观察到的变化;纯重构、CI 维护和内部安全修复会合并说明,不会把 每条 commit 原样复制进来。
游戏规则版本和 Python SDK 版本互相独立。公开 HTTP 与 WebSocket API 仍是 v0.1。 当前文档对应的确切代码见来源与版本策略。
2026 年 8 月 2 日
官方网页——按格指定攻击
- 先锋的手动操作现在可以选择任意相邻格,包括预计敌人会在结算时进入的空格。
- 游侠的手动操作现在直接选择高亮射击格。前端继续使用现有的
target_id与expected_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继续给出due、paid和deficit;UNIT_DAMAGED/UPKEEP_DEFICIT给出受伤 Unit、伤害与剩余 HP。- 前端会在 Tick 结果中解释欠费伤害与死亡。当下 Tick 维护费超过 Core 当前资源时, 前端还会提前显示确切缺口和受威胁的 Unit;Python SDK 文档说明了如何读取这个向前 兼容的事件。
来源:服务端 83ae972、
前端 Tick 结果 0a673f1、
前端预警 4d2808c
和 SDK 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、
前端 789cf1b
和 SDK 4a29585。
2026 年 8 月 1 日
游戏规则 v0.9 — 摧毁 Core 后夺取资源
- Core 因战斗被摧毁后,它的全部库存会尝试交给摧毁 Tick 对该 Core 造成伤害最多的玩家。
- 伤害相同时按玩家 UUID 原始字节序。所有攻击者仍照常获得摧毁参与;该统计不决定资源归属。
- 获胜者最多存入战后容量
max(10, population × 5),多出的资源直接销毁。 - 如果获胜者的 Core 也在同一个战斗 Tick 被摧毁,受害者资源全部销毁。维护费欠款导致的 Core 摧毁不产生战利品。
- 新增私有
CORE_RESOURCES_CAPTURED结果、前端提示,以及 SDK 类型化模型CoreResourceCapture。
来源:服务端 a998d8d、
前端 0daf69a、
SDK 9cfe088、
文档 9a881bf
和 Skill 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 所属玩家仍保持私有。
来源:地形缓存 e2e2ba5、
Retina 渲染 ca2eea4
和 Core username 4d6454f。
2026 年 7 月 28 日
- 官方类型化 Python SDK 上线,包含同步/异步客户端、Turn 控制器、安全重试、回执和 WebSocket 重连。
- 双语 Docusaurus 文档站上线,随后加入独立 Python SDK 和 Arena Hero Skill 章节。
- Arena Hero Skill 上线,提供策略脚本与直接操作两种模式,随后把完整玩法和开发文档 打包到本地,离线也能查阅。
来源:SDK b784c81、
文档 d66a0b8
和 Skill 7e0422d。
2026 年 7 月 26 日
- 把长期 SSE 游戏流替换为服务端向客户端下发的 WebSocket,命令仍通过 HTTP 提交。
- 新增规范化
received计划消息,同一玩家的全部客户端都会收到,重连快照也会恢复。
来源:WebSocket 243a05b
和跨客户端回执 b9d4de7。
2026 年 7 月 23–25 日
- 完成面向生产的规则、Champion Beacon、确定性移动与战斗、PostgreSQL 持久化、认证和 部署基础。
- 删除全服状态发布屏障;每名玩家收到自己的完整
state后即可提交,不必等待其他玩家。 - 单世界单服务架构扩展到 5,000 名并发玩家的目标规模。
- 加入网页交互式教程,并完成两轮安全加固。
来源:生产对齐 a707f66、
状态发布 694c4c0、
5,000 玩家扩展 fb5a3cd
和教程 3a9535c。
2026 年 7 月 15–17 日
- 建立共享永久世界、确定性 Tick 引擎、最初的
tick/state/ command 协议、Go 服务端、PostgreSQL 存储和网页客户端。 - 加入客户端自动路线;每个 Tick 只提交下一步合法移动。
来源:初始实现 c32c144
和自动路线 d9c7d2d。
Python SDK 发布记录
SDK 版本与游戏规则版本互相独立。
| 版本 | 日期 | 开发者可见变化 |
|---|---|---|
| 0.2.6 | 2026-08-02 | 已发布到 PyPI;增加 Unit/Core 恢复、类型化 HealingResult,并包含未单独发布的 0.2.5 源码中的 CoreResourceCapture。 |
| 0.2.5 源码 | 2026-08-01 | 增加类型化 CoreResourceCapture;已提交,但尚未发布到 PyPI。 |
| 0.2.4 | 2026-07-30 | 加入 Core 最低容量契约与发布元数据。 |
| 0.2.3 | 2026-07-30 | 公开 Core 资源容量与剩余空间。 |
| 0.2.2 | 2026-07-29 | 公开 Core 的 owner_username。 |
| 0.2.1 | 2026-07-29 | 更新打包与 Apache-2.0 发布信息;没有玩法协议变化。 |
| 0.2.0 | 2026-07-29 | 支持 Unit 自毁与 Cargo 回收事件。 |
| 0.1.0 | 2026-07-28 | 官方同步/异步 SDK 首次发布到 PyPI。 |