4.05存档丢失最新修复

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