portgames.
阅读资料

游戏目录复制走了,存档为什么没跟上?

把电脑上的游戏搬到另一台设备,画面和音乐都正常,菜单里却只剩“新游戏”。有时存档根本没被复制,有时文件已经搬过去,新版本却不认识它。

作者 · 发布于 · 来源核对

游戏目录装着内容,存档记录着你

地图、贴图和音乐决定游戏里有什么;存档记录你玩到了哪里、拿到了什么,以及哪些任务已经完成。这两类文件不一定住在一起。

许多游戏把程序和素材放在安装目录,把经常改写的存档放在当前用户的数据目录。这样,同一台电脑上的不同用户可以各自保留进度,游戏更新也能与个人数据分开。也有游戏把存档放在自身目录,具体位置取决于程序的设计。

例如,ScummVM 官方文档列出的 Windows 默认存档位置是 %APPDATA%\ScummVM\Saved games,macOS 则是 ~/Library/Application Support/ScummVM/Savegames/,还可以另行设置。只复制放着游戏素材的文件夹,这些存档就会留在原处。新设备上出现“新游戏”,并不能说明旧进度已经丢失。

复制游戏内容目录后,地图与音乐进入新设备;位于用户数据目录的存档仍留在原设备,目标存档目录为空

文件搬到了,新平台也不一定读得懂

存档并不是一段谁都能直接使用的“进度”。保存时,程序会把关卡、背包和任务状态按约定的结构写入文件;读档时,再按它认识的规则还原。这套规则就是存档格式。

假设某个移植项目沿用原版的格式和内容编号,换个平台后就可能继续读同一份存档。但如果它重写了保存逻辑,或采用不同的格式版本,文件即使放对位置、扩展名同样是 .sav,也可能无法载入。比如新版存档记录了一件新道具,旧版程序根本没有这个道具的编号,单纯复制文件无法补上缺失的内容。这里是原理示例,不对应某款游戏的实测。

不同平台的存档可能不通用,但并非因为 Windows、Android 或 ARM64 这些名字本身。 关键是两端是否使用兼容的保存规则、游戏内容和版本。原生移植、引擎重实现或模拟运行,都不能单凭技术路线保证存档互通。

假设的同一份存档包含格式版本、关卡和道具编号;兼容的读取器恢复进度,不认识格式或内容编号的读取器停止载入

这也是“支持运行某款游戏”和“能接着原版进度玩”的区别。ScummVM 的 FAQ就把原版存档支持限定在部分游戏;Ren’Py 文档也明确说明,引擎版本之间的存档兼容并非保证。因此,移植项目的存档兼容说明,需要与游戏运行支持分别看待。

云同步解决搬运,不自动解决兼容

云同步能省去手动找文件、复制文件的过程,但传到了不等于能读。Steam Cloud需要开发者配置同步范围和不同系统的保存路径;跨平台同步也以游戏本身支持跨平台存档为前提。某款游戏的 Steam 版支持云存档,不能据此推断另一个独立移植项目也接入了它。

实际迁移时,先退出游戏,保留一份独立的原始备份,再按目标项目说明复制完整存档或使用导入功能;如果需要转换,应使用该项目明确支持的方式。确认角色、关卡和背包正确恢复,并能再次保存、重新载入之后,再考虑清理旧副本。路径和格式是两个问题,改文件名或多复制几次,解决不了格式不兼容。

同一款游戏,为什么要分 ARM64 和 x64 版本? · 浏览游戏目录

资料依据

找游戏