游戏自动更新:启动时与每 30 分钟的检查节奏
独立游戏的更新节奏很碎:jam 作品赛后连修三个补丁是常态。客户端把更新做成完全自动的后台事务,你通常只需要知道它什么时候发生。
检查时机
- 应用启动时查一轮。
- 运行期间每 30 分钟轮询一次。
下载什么版本
- 游戏只有一个可用版本时,直接下载安装,不打扰你。
- 游戏挂了多个候选(比如多平台多构建)时,弹出列表让你挑;当初怎么选的,更新时还怎么问。
- 用 butler 推送的构建支持增量补丁:只下载与旧版本的差异部分,几百 MB 的更新可能只传几 MB。这也是官方推荐开发者用 butler 发版的原因,见 butler 增量上传。
更新时怎么动文件
更新应用的方式是对账式:新版本里有、旧版本里也有的文件被替换;新版本里删掉的文件从安装目录移除;游戏运行时自己生成的文件(存档、配置、用户数据)原样保留。这个设计让存档在大多数情况下安然无恙。
什么时候需要手动干预
- 通过 Steam 快捷方式直连启动的游戏不会自己更新——它们绕过了应用的启动流程,偶尔打开一次应用让它检查更新即可,见 Steam 快捷方式。
- 手动解压的游戏更新跟踪可能不准,见 链接已有文件夹。
- 更新后游戏反而坏了,按 游戏启动失败排查 处理。