Ballance启动帮助

来自Ballance Wiki
BallanceBug讨论 | 贡献2021年3月11日 (四) 11:56的版本
跳转至: 导航搜索

Ballance 作为 2004 年开发的游戏,其天生能兼容的系统仅仅是 Windows 95 至 XP,能完美兼容的后续操作系统只有 Windows Vista 至 Windows 7 和 8.1。相对于当今更新一代的操作系统和硬件而言,相当容易遇到兼容性问题,轻则导致游戏运行不稳定,重则导致游戏不能运行。本文的目的即是对 Ballance 启动时的系统检测原理提供简介,并对游戏不能正常运行的情况给出帮助,同时也为非 Windows 系统给出运行 Ballance 的方法。

First of all - it all relys on Virtools: we basically scripted the game - with the help of the IPION physics engine; I am sure it is not the script that is broken, but the engine itself. I have to admit - we had many problems with laptops from the beginning, simply because there were no laptops on the market as we developed the game, so it should always run much more stable on a PC than on a laptop or similar hardware.

首先——这个游戏的一切都是依赖于 Virtools 的:我们本质上其实是借助了 IPION 物理引擎写了游戏的脚本;我很确定脚本没有问题,出问题的应该是引擎自身。我必须承认我们一开始就有很多笔记本电脑上的运行问题,原因倒是很简单——当年我们开发游戏时市场上并没有笔记本。所以比起笔记本或相似硬件的机器,游戏在台式机上运行时应当会稳定得多。

克劳斯·里希(2019年8月16日)

启动问题修复

Ballance 仅仅对于 Windows 操作系统开发;因此,本文给出的建议主要针对 Windows 用户进行。其他的桌面操作系统,例如 MacOS 或各种 Linux 发行版,若需运行 Ballance,则需要其他支持运行 Windows 软件的平台兼容。

下文将会介绍常见的启动问题并给出解法和建议;对于 Windows 以外的操作系统上的 Ballance 运行,我们会在下一节给出建议。

常见问题

通用最简单解法

注:Ballance Mod Loader 所进行的游戏优化反而可能会导致 Ballance 运行时帧率不稳定,导致玩家感受上认为游戏不流畅。这种情况下您可以使用外部帧数锁定工具来获得流畅体验(若不想单独下载锁帧工具,使用 OBS 等录像软件并选中捕获 Ballance 就已经可以将之锁帧)。

Error 0: Game could not be started! 弹窗

  • 请尝试安装 Microsoft Visual C++ 运行库,并启用 3D 驱动。如果您正在使用虚拟机,请注意启动虚拟机设置内的 3D 加速功能。

游戏进入即黑屏(或弹出分辨率选择窗口)

请按照以下方式逐步测试:

  1. 右键 Ballance安装目录\Bin\Player.exe,进入属性——兼容性界面,勾选以管理员身份运行;
  2. 在相同的界面设置简化颜色——16位(65536)色;
  3. 兼容性设为 Windows XP (Service Pack 3);
  4. 兼容性设为 Windows 95;
  5. 进入 NVIDIA 控制面板(或 AMD 控制面板),新建一个宽度介于 640 至 1600 之间,宽高比为 4:3(例如 640x480)的显示输出模式。

值得注意的是,个别步骤的方式单独使用就能解决启动黑屏问题。所以,若您在执行某个步骤后,Ballance 能够被成功运行,可以尝试关闭以上的部分设置例如,个别系统可能仅需要开启管理员身份就可以运行Ballance,因此若您开启了管理员身份后可以运行,可以尝试关闭兼容模式)。此外,您也可以尝试对如上的 Player.exe 右键点击属性→兼容性→简化的颜色模式,选择 简化16位(65536)色。通过实测,这种方法可在 Windows 10 1803 及以前的版本上不调整兼容性而直接运行Ballance,而之后的版本可能仍会出现吃命卡死的情况。

注:如果在 Player.exe 上开启了以管理员身份运行,可能会增加延迟;一般而言此延迟不会影响正常游戏,但如果进行竞速活动,可能会造成影响;可以通过在 Startup.exe 上开启管理员模式,然后启动游戏。

游戏内图形 (Graphics) 设置界面卡死

  • 请尝试将游戏以管理员身份运行。

若管理员身份运行不能解决此问题,使用管理员权限运行注册表编辑器(打开开始菜单,输入 regedit,并右键——管理员权限运行),找到以下位置:

  • 对于 32 位系统: HKEY_LOCAL_MACHINE/SOFTWARE/Ballance/Settings;
  • 对于 64 位系统: HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Ballance/Settings

在右侧列表中找到 VideoDriver 并双击,设置为 0,并打开游戏看是否解决。如果不能解决,尝试将 VideoDriver 设置为 0 的同时将VideoMode 项直接删除。

如果仍未解决,我们可以转换思路,用外部工具调整分辨率,如使用 Ballance工具箱V3 调整游戏的分辨率为其所支持的分辨率,比如 1024x768。

卡死

  • 右键 Ballance安装目录\Bin\Player.exe,进入属性——兼容性界面,并将兼容性设为 Windows 95。

上述方法均不能解决问题

直接重装自己的操作系统,回退到例如 Windows 7 确实能够完美解决不兼容乃至延迟问题,但这显然不是任何值得鼓励的做法。重装操作系统步骤繁琐,而且,Windows 7 和更老的系统当前已经停止支持,Windows 8.1 的延长支持也即将终止。如果您执意要这样安装下去,您相当于是在主动将自己置于越来越危险且新软件兼容性问题也会越来越大的环境中

如果此时仍然无法运行,很遗憾,可能您的系统确实难以兼容 Ballance。我们在不重装操作系统的条件下,唯一的解法是使用虚拟机。目前,使用 Windows 7 或 XP 系统,并使用 VMware 或 VirtualBox 虚拟机软件载入上述系统(但 Windows 专业版自带的 Hyper-V 不可),均能保证 Ballance 的完美运行(唯一的缺陷是虚拟机存在输入延迟,不适合竞速活动)。

注: Windows XP 的体积较小,安装也较快,但由于其年代久远,置于虚拟机中时,可能会有性能问题;Windows 7 虽然体积较大,但一般能更加流畅地运行 Ballance。

对于非 Windows 操作系统

MacOS

使用 Crossover 或 Wine 等程序运行。

Linux

以下配置仅在 Linux Mint 20.1 发行版中测试过,不能保证适用于所有的 Linux 系统。

使用 Wine 运行,并在运行前保证 Wine 使用的兼容性是 Windows XP 至 Windows 7 中的某个版本(在终端中输入 winecfg 来查看)。建议使用 Windows 7 兼容性。

运行前请先将全屏设置关上(可以同样使用 Wine 运行 Ballance工具箱 来操作,也可以通过在终端内输入 wine regedit 并找到和 Windows 相同的注册表路径来关闭全屏),否则,系统的分辨率会被降低,但 Ballance 并不会正常启动。窗口化状态下 Ballance 能够被正常运行。

Ballance 卡死的原理

以下是 Ballance 各种卡死的原理。Ballance Mod Loader Gamepiaynmo版(第二版)能够解决除了进程启动之外的全部运行问题的实质是禁用了游戏的这些检测。

进程启动

Ballance 需要与之相关的 Visual C++ 运行库,同时也需要相应的 3D 驱动,如 DirectX 等。如果缺少这些,则 Ballance 在启动时会出现 Error 0: Game could not be started! 的错误。

初始化

Ballance 的初始化需要配合其的注册表参数的检测和写入进行。由于其开发时,Windows 系统中用户权限管理的概念尚不存在,因此 Ballance 的注册表数据均被存到了需要管理员权限才能修改(有时甚至需要管理员权限才能查看)的系统设定,而非用户设定中。因此,若 Ballance 没有足够的权限来查看和修改注册表,则会初始化失败。

若 Ballance 能够成功获取和写入注册表的设置数据,则 Ballance 会检测用户系统中已有的可选分辨率设定(参考页面)。这些设定需要满足以下三个条件:

  • 宽度不小于 640,不大于 1600;
  • 宽高比例介于 1.333 至 1.334 之间(一般可以理解为宽高比例是 4:3);
  • 16 位显示。

若 Ballance 不能检测到任何满足以上两个条件的分辨率,则初始化也会失败,游戏黑屏。

图形设置界面卡死

个别安装程序对注册表参数的设置不妥,导致 VideoDriver 不为 0 或者 VideoMode 不是系统分辨率中的 4:3 选项(即分辨率设置的不是上文“初始化”一节中满足条件的分辨率)。上述二种情况均会导致图形设置界面卡死。

吃命卡死

暂时未知。