Skip to content

进度、任务与存档

一轮进度的六个门槛

  1. 第一次可见反馈:8 次点击完成 WAKE THE SEED。
  2. 第一次自动化:32 星火购买小手。
  3. 第一次结构选择:解锁并装备工具,最多三槽。
  4. 第一次空间协作:拖动 SHOP 内环形成 TEAM。
  5. 第一次物理输入:在 STAR RUSH 中倾斜收集星光。
  6. 第一次永久转化:累计 1M lifetime 星火后发射,获得星章与星礼入口。

任务奖励只负责把玩家推过相邻门槛,不替代主经济。成就则记录“已经学会什么”,不会形成必须逐项清单化的压力。

Web 存档

网页存档使用带校验和的 envelope:

ts
interface SaveEnvelope {
  format: 1
  checksum: string   // FNV-1a over JSON payload
  payload: SaveStateV1
}

写入时先把旧 primary 复制为 backup,再写新 primary。localStorage 不可用时回退到 sessionStorage,再回退到内存;恢复出厂前会封锁后续写入,避免 pagehide 自动保存把刚删除的数据复活。

ESP32 存档

固件把相同策略移到 NVS:

  • save_primarysave_backup 双副本。
  • magic、schema、state size 与 checksum 防止错误解码。
  • 常规 dirty 状态最多 60 秒写一次,降低 Flash 磨损。
  • 购买、设置、首次 TEAM、星礼和发射等关键操作立即保存。
  • v7 电源序列在关机前冻结 tick,提交 NVS,再逐字节读回 primary;失败就取消软件关机。

截至 2026-08-19,实板已从 schema1/v2 迁移到 schema3/state v4。旧格式继续可读,非法设置会钳制到最近合法档位。

时间可信度

PCF85063 的 integrity 位无效或年份过旧时,固件用构建时间播种 RTC。逻辑时间采用“墙钟 epoch + 单调时钟 delta”,UI 线程不直接等待 I²C。

离线收益需要同时满足:

  • 当前 RTC 可信;
  • 旧存档保存时间可信;
  • 新时间不早于旧时间;
  • 间隔落入配置封顶。

如果任一条件不成立,游戏只更新保存时间,不生成伪造资源。

发射后的保留与重置

内容发射后
当前星火、点击力、造星队等级重置
轨道临时结构、连击、热量重置
lifetime 计数(用于本轮门槛)开始新轮
星章、历史总星章保留
已购买星礼保留
历史新星与成就档案保留
语言、动效、音量、倾斜、息屏设置保留

轮回动画期间输入锁定,结束后自动回到 SEED。这样状态提交、视觉高潮和下一轮起点有明确顺序,不会出现发射中途又购买或切页的竞态。