@wolray 同学用 AutoHotKey v2 写了个非线性的游戏存档管理器,一个大小为 1.2M 的桌面应用程序,提供非线性的游戏存档管理乃至工作文件管理。@Appinn
借助该工具,玩家可以随意的切换不同剧情分支,实现 Boss 重复挑战等等往常难以做到的事情。
来自发现频道,开发者 @wolray 自荐:https://meta.appinn.net/t/topic/49821
它的英文叫 Nonlinear Backup,刚好缩写为NB
NB 提供了一种全新的以非线性的树形结构来管理存档的工作/游戏范式。
其特点主要有三:
- 窗口自动识别,在应用或游戏界面触发全局快捷键,自动弹出当前应用的备份管理界面。每个应用各顾各的存档,不需要统一的管理界面。
- 备份好的存档以树形结构展开,每个存档都有一个父节点,一个父节点可以有多个子节点。适合游戏玩家、以及需要反复尝试探索的创造性工作者。
- 极简设计,无安装包和动态库依赖,仅一个1.2M大小的可执行文件,提供高度简洁的交互界面和丰富的快捷键操作。
@wolray 同学在项目主页还说:
面向游戏佬
游戏佬都知道一句话,SL(Save and Load)大法好。我作为一个 Steam 游戏库100+,总时长数千小时的资深游戏佬,虽然也同意这句话,但总是被它较高的使用成本和极不便捷的使用体验而反复劝退。
把游戏存档在两个地方间手动复制来复制去,在我看来实在是不够优雅。虽然也有别的桌面应用能够帮助用户进行存档管理,但它们无一例外都是线性存档,只能靠户自行记忆或手动在文件夹名字上标记存档间的依赖关系。
众所周知,大型 RPG 游戏多分支剧情,肉鸽游戏不同 Build,魂系游戏不同加点方案与武器强化,基地类游戏不同建筑方式,自动化游戏不同物流模式,塔防游戏不同发育路线等等各类游戏场景——它们都是天然以一个复杂的树状形式发展衍化的。如果我们能有一种手段,可以方便的将涉及重要分支的关键节点备份下来,并以此追踪管理后续存档。让游戏世界能像平行宇宙一样自由发展,灵活切换。那各种游戏的深度游玩体验,可以说直接拉高一个档次。
尤其是肉鸽游戏,只要它能像Noita那样支持局内存档,那借助这样的备份工具,立马变身RPG。
你甚至可以拿来在 VS Code 里搞开发,就离谱
面向创造性工作者
所谓创造性工作,主要就是指像编程、论文写作这样,需要借助电脑对工作空间的代码、文档等进行反复修改尝试,并经过相对漫长的周期才能形成最终产出的工作。
编程的存档管理相对简单,行业的标准解决方案就是 Git。但是 Git 只适用于纯文本的源代码管理,一旦涉及大量且频繁修改的图片等素材,Git 用起来就会颇为吃力。
如果有一款软件,能够像 Git 那样记录提交历史,自由切换分支,并可随时查看各个存档的依赖关系,回退历史版本。那无疑能帮助创作者降低大量心智负担,鼓励他们进行更多探索和尝试。
没有什么比一键备份+一键回滚更让人安心了,这一点连 Git 都做不到。
存档原理
每次新建备份时,程序会校验当前游戏或工作源目录下的文件相比上次备份是否发生修改,若无变化,将提示用户当前已是最新存档,并询问是否需要重命名。
安装方法
一、下载 backup.exe
本项目首发Gitee,使用GPL v2协议开源,在右侧发行版页面点击最新版下载即可。在使用时可能会遇到安全软件拦截,忽视即可。
当然,你也可以安装AHK v2.0,clone 本项目到本地,自行编译 backup.ahk
即可得到 backup.exe
可执行程序。
二、创建一个备份专用文件夹
推荐在你的C盘或D盘上建一个名为”backup”或者”备份”的专用文件夹,用于存储所有游戏或应用的备份文件。
然后把你下载好的 backup.exe
文件丢在这个文件夹里,它将以此作为工作根目录。
三、创建一个backup.ini配置文件
在已创建好的备份专用文件夹中,右键新建一个名为 backup.txt
的文本文件,并将其后缀名改为 ini
。程序将识别文件内的配置信息,关联你所关心的游戏和存档路径。
配置文件的格式示例如下; 本软件的源代码开发存档 Code, *nonlinear-backup* = D:\gitee\nonlinear-backup ; 游戏《匹诺曹的谎言》存档 LOP-Win64-Shipping = D:\SteamLibrary\steamapps\common\Lies of P\LiesofP\Saved\SaveGames\855023306 ; 游戏《戴森球计划》存档 DSPGAME = C:\Users\ray\Documents\Dyson Sphere Program\Save, _lastexit_.dsv
格式说明
每一行是一个配置(;
代表行注释)每个配置按照如下形式填写程序名[, 窗口标题] = 备份路径[, 文件格式]
在等号左侧,首先要填的程序名可在进入程序后,按快捷键 Win+F8
获取,页面会显示3秒并自动复制到剪贴板。对于游戏,窗口标题可以直接忽略不填,因为不同游戏程序名必然不同。但是对于一些写作之类的工作,如果你使用的是VS Code这样的通用编辑器,那有必要增加一个窗口标题限制,以便有针对性的备份。例如上面例子中的 *nonlinear-backup*
,其中的 *
号就是作为通配符,含义为标题中只要存在 nonlinear-backup
,就视为该指定项目。窗口标题可通过快捷键 Win+F9
获取。
而在等号右侧,备份路径需要用户自行确定,游戏的备份路径百度一下即可。例如Steam游戏通常的路径为D:\SteamLibrary\steamapps\common\游戏名\…
在填写好备份路径之后,用户可以选择性的填写文件格式。*.txt
代表仅限 txt
后缀的文件,abc*.txt
则代表以 abc
开头且后缀为 txt
的文件。例如游戏《戴森球计划》自带存档管理,它在存档目录下的所有文件都是不同的存档,你只需要备份其中默认的存档 _lastexit_.dsv
即可。
在填写配置时,所涉及到的两个关键符号 =
, ,
左右的空格留不留都可以。程序名和路径名请务必确保准确。
启动程序
当配置完成 backup.ini
文件后,请点击同目录下的 backup.exe
程序将其激活。之后它就将以用户完全无感的方式运行于系统后台,只在你触发新建备份(Win+F6
)和打开存档树(Win+F7
)这两个快捷键时,才会弹出相应的交互界面。
如果你对 backup.ini
进行了改动,还请别忘了按 Win+F5
重新启动 backup.exe
以载入最新配置。
另外为了方便,建议可以给 backup.exe
创建一个快捷方式并放入Windows的启动项里,这样每次开机就会自动激活。工作游戏,随心备份。
启动项添加方式:Win+R
打开系统运行窗口,输入 shell:startup
弹出一个文件夹,将需要开机启动的程序快捷方式放入其中即可。
使用方法
新建存档备份
在游戏或应用内,按 Win+F6
打开新建备份窗口,完成后按 Enter
即可保存当前最新存档,实现SL大法的S。中途按 Ecs
则直接退出。
查看存档树
在游戏或应用内,按 Win+F7
打开存档树窗口,按 ↑↓
切换存档,按 Ctrl+↑↓
跳转子存档与父存档。大部分情况下,存档树的最上方的最新存档同时也是head,类似于Git种head的概念,使用特殊的 ╪
符号来表示,其他普通节点则用 ┼
表示。 在游戏有了新的进度,并新建了备份后,会被标记为当前head的继承或者说子节点,并将head重新指向新存档。
怎么说呢,很赞啊,除了打游戏,能干的事情太多了,随时为你的软件打开一个平行宇宙 😂
原文:https://www.appinn.com/nonlinear-backup/