所以我最近换了一台装有 Windows 11 的电脑,VX 游戏在上面无法运行。我知道 Windows 11 会导致 VXAce 游戏出现一些类似的问题,而且我知道那些问题的解决方法,但这对 VX 游戏不起作用。
到目前为止,我尝试过:
- 在首选项中更改兼容性/模拟设置
- 将电脑设置为最高性能
- 将 RTP 和 DLL 文件放在我认为程序可以访问的任何地方
- 以管理员身份运行
- 更改我的区域设置以防万一
所以我最近换了一台装有 Windows 11 的电脑,VX 游戏在上面无法运行。我知道 Windows 11 会导致 VXAce 游戏出现一些类似的问题,而且我知道那些问题的解决方法,但这对 VX 游戏不起作用。
到目前为止,我尝试过:
新机器是 ARM 架构的吗,还是搭载 Snapdragon 处理器的笔记本电脑之类的?我这么问是因为那些设备的 x86 模拟层在一些老游戏上会抛出完全相同的错误信息,如果确实是这种情况,那么任何兼容性设置都无法解决这个问题。
如果是普通的 x86 机器,我在你的列表中没有看到的一项设置是“漏洞保护”(Exploit Protection)。根据我所了解的情况,VX 使用的 RGSS dll 期望加载到固定地址,因此如果开启了“强制图像随机化(强制 ASLR)”,它会被移动并导致初始化失败,这可能会解释为何出现此阶段的错误,而不是文件缺失错误。你可以在 Windows 安全中心 → 应用与浏览器控制 → 漏洞保护设置 → 程序设置中针对每个游戏进行覆盖,添加游戏的 Game.exe,并将该条目设置为关闭。同时也建议检查一下系统设置选项卡,看看是否有全局开启的设置。
这个问题是出现在你所有的 VX 游戏上,还是仅出现在某一款游戏上?这些游戏是从 Steam 发布的,还是独立下载的版本?
是的,它是骁龙处理器
好吧,谢谢你的信息
不过可能还有另一个选择。mkxp-z 是一个开源的 Game.exe 替代品,它重新实现了 RGSS,并且支持 RGSS2,因此 VX 游戏也在其适用范围内。它完全不会加载原始的 RGSS DLL,因此无论模拟层在那个旧二进制文件中遇到什么阻碍,都不再成为问题。
你只需将 mkxp-z.exe 放入游戏文件夹,并将其重命名为 Game.exe 即可。
https://github.com/mkxp-z/mkxp-z
值得一提的是,Windows 构建版本是 x86_64 架构,因此它仍然需要通过模拟运行,只不过使用的是现代二进制文件,而非 2007 年左右的旧版本。我还没有看到有人专门在 Snapdragon(骁龙)处理器上确认过这一点,所以我无法保证它一定能用。此外,如果在脚本中大量依赖 Win32 API 调用的游戏,也可能因此出现兼容性问题,这可能导致不同游戏的适用性有所不同。
我现在可以确认它正常工作了