最近这阵子,不知道怎么回事,心里老是痒痒,就想把《恶魔城》系列那几部经典的老货重新拿出来跑一遍。特别是《哥特少女勇闯恶魔城》(也就是《月下夜想曲》),这玩意儿在我心里地位太高了。但是,原汁原味的盘子或者简单的模拟器跑起来,总觉得差点意思。网上那些社区大神们搞出来的补丁和优化,才是真正的好东西。
我的目标很简单,把PS1版和PCE版(就是那部《血之轮回》,很多人把它算成前传)都搞定,用最新的补丁打上,让它在现代的显示器上跑得稳稳当当,画面又干净。说干就干,我直接扎进了这堆老代码和论坛帖子的大坑里。
第一阶段:挖坟与打捞——资源收集的折腾
是资源。这玩意儿可不是随便找个ROM就行的。我一开始随便从几个网站上扒拉了几套ISO,心想能用就行。结果?屁用没有。很多都是所谓的“坏盘”或者阉割版,checksum对不上,你就是把最新的汉化补丁和高清材质包砸进去,它也认不出。
我花了好几个晚上,翻墙去日文和英文的老派ROM分享站,才终于摸到了几个看起来像样的源文件。特别是PS1的《月下夜想曲》,要找那个能完美兼容社区高清材质包的特定版本。我前后下载了五六个G的压缩包,解压、验证,再解压、再验证。浪费的流量钱都够我买张二手盘了。
- 挖出了两个最干净的PS1日版ISO,确保MD5码跟社区要求的完全一致。
- 找到了最新的汉化/修复补丁包,里面包含了对游戏核心bug的修正,以及最重要的——那个高清化材质的适配脚本。
- 把PCE版的《血之轮回》也拉了出来,这个相对简单,但同样需要找一个能跑在最新RetroArch核心上的稳定版本。
光是把这堆东西集合起来,就花了我三天时间。真是一团乱麻。
第二阶段:实操与爆破——反复打补丁的痛苦
资源有了,接下来就是干活。我得把这些补丁打进去。这可不是双击运行exe那么简单。
我尝试了最主流的IPSCatcher工具,把那个高清补丁文件扔进去,指向我的PS1 ISO文件,然后点击执行。第一次尝试,很快就跳出了个红色的警告框:“文件结构校验失败,请检查源文件是否受损。” 我当时就懵了,不是说我找的源文件是最干净的吗?
我回头又去看了看那个补丁包的说明文档,发现这玩意儿对系统的环境要求还挺高。它要求在特定的Windows环境下运行,并且对ISO文件的命名格式都有要求。我按照它说的,把ISO文件改名,又在一个虚拟机里运行了补丁工具。结果这回倒是没报错,但生成的镜像文件,扔进模拟器里,直接黑屏了。
我当时真的想骂人。折腾了半天,又回到起点。
后来我改变策略,放弃了IPSCatcher,转头使用了命令行工具。我把整个流程都搬到了Linux环境下的脚本里。这虽然复杂,但能精确控制每一步。我先用BinToCue工具把ISO拆分成轨道文件,然后针对性的对轨道文件进行二进制修改,再重新封装。光是调试这个脚本,我又耗费了整整一个晚上。
最要命的是音频轨道。PS1游戏里有很多红皮书格式的CD音轨,打完补丁后,游戏是能跑了,但背景音乐开始断断续续,跟幻灯片似的。我反复排查,发现是重新封装时,音频轨道的时间戳错乱了。我手动调整了CUE文件里的索引,试了六七次,终于,背景音乐稳定了。
第三阶段:收尾与验收——少女勇闯恶魔城
搞定《月下夜想曲》的主体后,我乘胜追击,开始搞定《血之轮回》(也就是标题里的“2”)。这个相对顺利多了,因为PCE模拟器的生态相对稳定。我直接在RetroArch上加载PC Engine核心,然后把那个带社区翻译和色彩增强补丁的ROM扔进去。
但是新问题又来了。在RetroArch里,虽然游戏跑起来了,但输入延迟非常严重。作为一个动作游戏,延迟是绝对不能忍的。我开始疯狂调整延迟设置:
- 关闭所有视频滤镜,改用最近点采样。
- 开启Run Ahead,但发现CPU占用太高,老电脑带不动。
- 最终,我关闭了Run Ahead,但在显示设置里把Vsync打开,又把Frame Delay设置为最低的2ms。
这下,延迟几乎消失了。手感瞬间回来了。我立刻试着冲刺跳,完美!
我把两个完美打好补丁、画面优化、且无延迟的版本都打包归档,命名为“哥特少女勇闯恶魔城 V2.1 终极收藏版”。这套东西,无论是画面还是流畅度,都比市面上任何官方重制版要强太多了。虽然折腾了快一周时间,但看着阿鲁卡多在高清化的恶魔城里流畅跑动,心里那叫一个舒坦。这才是真正的游戏体验。
下次再跟大家分享我折腾另一款老游戏的血泪史。