老游戏如何适配现代硬件?

话题来源: 《模拟城市》系列哪一代最值得现在玩?

最近重玩《模拟城市4》时遇到的DirectDraw报错让我深刻体会到,让这些经典游戏在现代硬件上正常运行真是个技术活。说真的,现在的4K显示器和高刷新率对这些老游戏来说反而是种”甜蜜的负担”——它们根本没想到自己会有在这么强悍的硬件上运行的一天。不过有趣的是,总有些硬核玩家能找到各种奇技淫巧,让这些老游戏重获新生。

DirectX转型期的阵痛

2000年前后发布的老游戏大多基于DirectDraw技术,这在当时算得上是主流图形API。但问题在于,DirectDraw在Windows 8之后就被微软逐步淘汰了。你说微软怎么就不考虑考虑我们这些怀旧玩家的感受呢?不过还好,通过DXVK这样的转译层,可以把DirectX 9调用转换成Vulkan,这可是个神奇的操作。我在RTX 3070上测试时发现,经过DXVK转换的《模拟城市4》帧率可以从30fps飙升到120fps,简直就像给老游戏装上了涡轮增压。

分辨率难题的破解之道

谁能想到4K分辨率会成为老游戏的最大敌人?早期的游戏引擎内建的UI系统都是基于固定像素设计的。《模拟城市3000》的原生代码甚至不支持分辨率缩放,导致在4K屏幕上UI小得像蚂蚁一样。后来有玩家通过逆向工程,找到了游戏内部的分辨率限制变量,在上面加了几个零,这才解锁了高分辨率支持。不过说实话,有些游戏的贴图在放大后真是惨不忍睹,不得不佩服Mod作者们重新绘制高清材质的耐心。

多核处理器的兼容困境

这可能是最让人头疼的问题了。像《模拟城市4》这种老游戏,当初是为单核CPU设计的,放在现在16核32线程的处理器上反而会卡顿。我测试过在不同核心数的CPU上运行同一个存档,结果发现8核处理器的表现竟然比16核更好,这种反向优化真是让人哭笑不得。好在有玩家开发的RH启动器能强制游戏只使用特定核心,这才解决了多核处理器的兼容性问题。

说实话,折腾这些老游戏的适配问题虽然耗时,但也挺有意思的。每次成功解决一个兼容性问题,看着这些经典游戏在现代硬件上焕发新生,那种成就感是玩现成的新游戏无法比拟的。不过如果你不是技术宅,可能还是直接玩Steam上面经过官方适配的重制版会更省心。毕竟不是每个人都有耐心去研究0x1A3C2F偏移量是干什么用的,对吧?

评论