4.05存档丢失最新修复
以前用的是存档时间戳机制来判定哪个存档最新,发现有重大问题,我自己安卓也被回了一次存档,云存档有概率被本地新建存档覆盖导致丢档。
现在加入了存档评分对比机制
存档对比机制(核心防护)
代码中用 _saveProgressScore() 计算每份存档的「进度评分」,而非仅看 lastSeen 时间戳。评分权重如下:
text
累计游玩时长(分钟)× 20 ← 权重最高,单调递增
终身孵化数 × 10
终身赚币 × 0.01
当轮等级 - 1
转生次数 × 1000
转生星数 × 500
收集总数 × 5
_compareSaves(a, b) 的逻辑:
进度分差距 >5% → 直接选高分的
差距 ≤5% → 用 lastSeen 时间戳辅助判断
四层冗余存储 + 基于进度评分的对比机制 + 云同步锁 + 删除防恢复,已经覆盖了大部分常见的丢档和回档场景。对于一个 TapTap 小游戏来说,这套存档系统的健壮程度已经很高。残留风险主要集中在 iOS 存储清理、多设备竞态、以及静默失败无告警这几个较为极端的场景。
理论上应该解决了存档丢失和回档问题。
对已经丢失存档的玩家表示万分歉意,第一次做游戏没有考虑到一个存档机制会有这么复杂。

