中文 era 游戏全收录计划
自从加入中文 era 社群运营工作后,我就发现一个问题:
迄今为止的 era 游戏在项目管理这方面,完全是过时十年以上的破烂。
目前的项目管理经验已经足够先进和开放了,相关工具链也很成熟。
那我们为什么不能用稍微 现代 一点的方式来管理 era 游戏呢?
era 游戏在开发层面的本质#
介于「era 游戏」的本质其实是「基于 Emuera 执行的脚本集」,因此它拥有「源码即本体」的特性,没人能加密一个 era 游戏*。
* 至于压缩包加密就是扣字眼硬杠了,这里说的是:
「任何人对任何 era 游戏,只要能运行,就能修改。」
不需要任何反编译手段,因为它根本就不存在「编译」这个环节。
正是由于这种特性,「版本控制」这件事变得尤为有用和重要。
因为只要对项目进行一次版本管理,相当于同时对该 era 游戏的源码(面向制作者)和本体(面向玩家)都进行了版本管理,一石二鸟。
唯一指定版本控制系统 - Git#
Git 就是世界第一的版本控制系统。我话讲完,谁赞成,谁反对?
SVN?SVN 请老实呆在被时代淘汰的垃圾桶里好吗,不要挣扎了。
至于 Git 的详细用法,可以参见我之前写过的《有手就行的 Git 使用方法》一文,此处不再赘述;如果仍有疑问,可以通过 Discord 提问。
没错,在中文 era 游戏社群,你甚至可以学习 Git 的用法 www。
文章是很长没错,但你没必要一个字一个字的读,你可以选读你需要的部分。
2022 年了我仍然喜欢文字超过视频,就是因为 拖滚动条 比 拖进度条 体验好一百倍。
当然还有无敌的 Ctrl+F,只要有一天视频还不能按帧搜索,我就更喜欢文字。
Git 仓库托管服务网站#
最著名的当然是 GitHub;由于 GitHub 实在过于声名卓著,以至于时至今日,仍然分不清 Git / Git 仓库 / GitHub 三者之间关系的、缺少开发经验的普通人,想必不在少数。
类比一下就是 摄像机、Porn 片 和 PornHub 的区别,能理解了吧?
除了 GitHub 之外,允许使用他家的技术自行部署服务的 GitLab 也很有名。
类比一下就是你拍好的毛片不一定非得投 PornHub,你还可以投 XVIDEOS 对吧,甚至于说你可以开个 OnlyFans 自产自销对吧?话说我为什么非得举这种例子呢
由于 GitHub 实在过于出名,无论是不是开发者,基本人手一个 GitHub 账号,因此 GitHub 其实已经可以算是某种「(技术主题的)社交网站」了。
与此同时,这也带来了一个问题:GitHub 过于开放了。
一个网站的用户基数过大,意味着:一般来说,它必须符合普世价值观。
比如曾经也算有名的 单机网页黄油*《Free Cities》的原版 GitHub 仓库 就被封禁了。
* 著名单机网页端色情游戏《Degrees of Lewdity》也是这个品类。
而且源码就放在 gitgud.io 托管。
毕竟「奴役」之类的元素,显然是不能被普世价值观所接受的。
虽然我们自己知道只是在文艺作品里稍微「
它注定是某种个人的(甚至具有反人类倾向的)「私癖」,注定永远是难登大雅之堂的。
但世界这么大,我们还是找得到一片安定的保留地。这就要请出我们的主角了。
一群亚文化(ACG)爱好者基于 GitLab 自行搭建的公益型 Git 仓库托管服务网站:
这个网站的限制条件十分宽松,非常适合作为我们托管 era 游戏项目的服务。
当然了,这里也不是什么法外之地,假如你在上面发布涉嫌侵权的盗版内容,被抓到一样会被发 DMCA,不要以身试法。无论你身处何地,请遵守当地法律,保护自己。
英文 era 社群就是这样做的,他们的整合 / 二次开发的 英文 era 游戏项目组 也在上面。
这个网站(gitgud.io
)由 Sapphire 运营,由于他们的策略,你不能直接在 gitgud.io
注册账号,而是需要先去他们的门户网站 sapphire.moe 注册一个 Sapphire 的账号,再通过 Sapphire 账号自动创建一个 gitgud.io
账号。
而 sapphire.moe
这个网站为了避免垃圾邮件(spam)的骚扰以及考虑到其他方面的风险控制,屏蔽了部分地区的 IP:越南、中国大陆、巴基斯坦、巴拿马、泰国、孟加拉国。
其他大部分地区,尤其北美和西欧的 IP 都是没问题的。
如果打不开(Access denied),请考虑使用网络代理。
Git 项目组的具体使用方法#
首先你需要下载并安装好 Git 程序。然后找一个合适的地方右键 > Git Bash Here。
我是玩家#
如果你嫌麻烦,可以直接使用下载分流网盘,详见《中文 era 游戏版本信息数据库》。
首先请自行注册 gitgud.io
的账号。
接下来开始配置 gitgud.io
账号的 SSH。
生成一组 SSH Key 密钥对
|
|
配置本地 SSH
|
|
Linux 信奉「
少即是多 」的哲学:没有消息就是最好的消息。有问题会给你报错的。
你要相信它不会为了保护你的心理健康自己憋着不说。它真的我哭死
配置云端 SSH
|
|
把回显的多行文本(公钥)复制粘贴到 gitgud.io 的 SSH Keys 设置页面。
大功告成
然后你就能利用 Git 强大的版本控制功能愉快游玩了。
比如找到你想玩的 era 游戏(这里以 eraSQC 为例):gitgud.io/era-games-zh/eraSQC_Chinese
找到右边显眼的蓝色按钮「Clone」,展开后点击「Copy URL」按钮。
原则上,推荐首选 HTTPS 而不是 SSH。但实际上,我们只能使用 SSH。
因为整个项目组的仓库都是 Internal 权限,只能通过 SSH 进行鉴权。
找一个合适的目录,右键点击空白区域,选择「Git Bash Here」,启动 Git 自带终端。
|
|
就能下载到最新的游戏版本了。
优势
可是下载解压好像比你折腾这个方便得多啊?
如果只是单纯玩游戏,真的有必要用上 Git 吗?
我明确地告诉你:有。
为什么?
众所周知,当你更新一个 era 游戏的时候,你 不能 用解压好的新版本直接覆盖旧版本。
因为很多时候会出现「有一个文件,新版已经删掉了,只有旧版本还存在」的情况。
此时如果你直接用新版本覆盖旧版本,旧版本的「已废弃文件」就会被错误地保留下来,造成各种各样意外的错误,尤其是 ERH
这种只要存在就会自动注册变量的文件。
所以,升级新版本游戏并继承旧版本存档的 正确方式 是:下载后把新版本游戏解压到一个全新的目录,然后再把旧版本的「*.sav
文件」或「整个 /sav/
目录」复制到新版本下。
部分游戏也许还有
*.dat
,你攻略的角色数据。
没错,每次升级新版本都要这样操作一次。
但如果你是用 Git clone 的游戏,升级新版本只需要在游戏目录下打开 Git 终端,输入
$ git pull
即可,无需其他任何操作,你的游戏本体会自动更新(包括新版本已经删掉的废弃文件)到 最新版本,存档等数据会正常保留。只有最开始需要稍微折腾一下,之后可以一劳永逸。
所以到底是「下载压缩包解压」还是「用 Git clone 仓库」其实是一个「长痛还是短痛」的选择题。当然,决定权在你。
我是开发者 / 汉化者 / 维护者#
注册 gitgud.io
账号和配置 SSH Key 同上文。
之后的详细步骤参见《如何使用 Git 对你的 era 项目进行项目管理》一文。