2023-10-4 01:22 /
Rewrite 运行问题小记

记录一下折腾了两天勉强让游戏跑起来的踩坑过程。

后话:话说 bbcode 可真难用啊,让我花了几乎更多的时间写了一个 markdown-to-bbcode 的转换器,后来还发现 bangumi 不支持 inline code。但是,关于如何打包和分发 python venv 下的程序,如何使用 nix 管理软件包依赖,以及如何使用 Pandoc (Python Library) 而非 subprocess.run(["pandoc"]) 来调用 pandoc,我还没想好,所以暂时不会发布。

起因

事前有听说过这游戏需要入正玩盗,所以我决定用 VirtualBox 跑游戏(我的环境不能原生运行 .exe 文件)。

然而,我遇到了一个非常难以排查的问题。进入游戏后,点击 Config 后游戏会崩溃,这种崩溃不会输出任何错误信息,没有弹窗,没有日志文件,只能通过 Event Viewer 看到崩溃记录本身。即使使用 windbgx64dbg 来 debug 也无法获取任何有效信息,游戏崩溃前后的小段时间没有任何信息被抛出。

当你点击 Start 后,游戏放完 OP 后也会发生这种崩溃。所以我猜测这可能是字体问题,于是尝试运行原版(非汉化版,即日语版)来确认这一点,但崩溃仍然发生。接下来我怀疑是游戏运行环境缺少某些文件,但我已经安装过 DirectXMSVC 等库,而且这个盗版游戏的资源已经经过一定岁月的洗礼。我还尝试了其他几个版本,但结果都是失败。

僵局了,但听着标题画面的音乐,我觉得不能就这么放弃。于是我将目光转向了 Steam 版本。

尝试 Steam 版本

这个版本的 Rewrite 只有英文字幕,而且有关汉化补丁让人一言难尽。

经我测试,使用这个帖子提供的资源,在所有非图片形式的中文字幕中都会出现字体重叠的现象。这种现象非常怪异,如今只能在一些具有年代感的帖子中找到前人对此的总结。不过这些帖子只是提到更换字体可以修复问题,并建议使用 GBK 字体,说是覆盖率更高,具体原因和必要性并未提及。

然而,在我的测试环境(Archlinux + Flatpak + Proton)中,更换字体并不能修复这个问题。而且这个问题还只在重制版前被集中汇总过。对于重制版或 Steam 版,我目前只发现一位网友反馈了这个问题,只是尚且还没人搭理他。另外,这个问题的性质可能还和之前版本的性质不同。进一步的分析需要进行逆向工程或与相关开发者讨论。

再次面临僵局时,我开始寻找替代方案。但由于 Steam 方案没有这种崩溃问题,我不想轻易放弃。如果采用 Steam 方案,民间汉化和官方汉化都来不及等。如果自己修复这个汉化补丁,则需要投入时间研究新领域。因此,汉化是不得不放弃了。那么就要去去啃英文。于是我尝试了英文原版,但生词较多,用法略难,而且英文的语言风格在这种情况下让我感到了不适。

我再次开始寻找替代方案,尝试重启 VirtualBox 方案,想着换一个新的虚拟机环境,说不定能碰巧修复崩溃问题。于是我开始寻找 ISO 来替代我原来使用的 tiny win10 镜像。我想起以前用过 Ameliorated 团队制作的裁剪镜像,并联想到他们最近在公共频道更新的消息。于是我试着按照文档指引安装了他们专为游戏定制的 AtlasOS。最后跑起来的新的虚拟机环境还真让游戏不再崩溃了,但是在我修改了 VirtualBox 的几个选项后,游戏又继续崩溃了,但这也意味着出现了新的线索。最后我成功将问题定位到了 3D acceleration 上,我发现只要启用了这个选项游戏就会发生上文所述的条件性崩溃,关掉它就好了,具体原因不清楚。

注:我在设置新的虚拟机环境时,发现虚拟机没声音了。最后稀里糊涂恢复了虚拟机声音。关键步骤可能包括:重启 VirtualBox 的音频输出选项,以及在 Windows guest 内部重装和重启音频驱动和音频设备。

目前暂时采用这个 VirtualBox 的方案,游戏过程大体令人满意,除了几个地方会跳 Error 弹窗。这个 Error 弹窗经过 OCR 处理以及后期校对后大概是这样的内容:
ムービーオフジエクト ny_mv_aurora_easy の作成(こ失敗し ました。
omv パージヨンが追います。
FileVersion : 0.0

SystemVersion : 1.1

[サボート情報]
このメッセージは Ctrl+C でコピーできます。
不知道能不能安全地忽略这个问题。

注:这个问题应该与游戏文件异常有关,事实上部分动画和人物声音无法正常播放。看来是 Rosmontis 博客上的 Rewrite+ 的问题,绅士王某人的版本就没这个问题,虽然没了路人配音等 Rewrite+ 的内容,而且静流线结尾 CG 前游戏会崩溃。目前暂且用着这个版本凑合吧。

续:破案了,大概是我折腾捣鼓的时候让 Rewrite+ 文件缺失了,重新下载并覆盖文件后,Rewrite+ 运行完美,并不是 Rosmontis 来源的问题,不过 绅士王某人 来源的 Rewrite 版本确实有静流线游戏崩溃问题。

总结


  • Steam 版的游戏运行问题少,但汉化差点意思
  • 如果用 VirtualBox 运行游戏,可能需要关闭 3D 加速选项以避免绝对的游戏崩溃,具体原因不明;至于别的虚拟化技术有没有相关问题,以及这个问题是否与特定 HostOS 或 GuestOS 版本以及 VirtualBox 版本有关,不清楚
  • 记得事先通过 checksum 等方式验证游戏完整性
  • 目前看来这个游戏(针对盗版来说)的底层程序缺乏维护,容易踩坑
  • 简中网络的帖子有效的讨论相比英文网络还是太少,常常是一方在一味地输出结论,另一方被动地接受这个结果,一旦出现了什么问题,很难见到什么交流合作,往往让问题进展缓慢。嘛,这也和日趋恶化的言论允许空间分不开关系就是了


注:这个组件似乎有个 bug,会吞掉我的第二条和第四条,关闭了就会恢复第二条和第四条的显示。不知道是不是其他相关因素造成的。
Tags: 游戏

关联条目