虚幻引擎和其他引擎支持在 iOS、Android、Windows、MacOS 和 Linux 等多个平台上制作游戏。这些游戏以预编译的可执行文件形式分发,并且都需要针对特定操作系统进行特定的构建。
由于 Linux 发行版数量众多,是否需要为 Ubuntu、Arch 等提供不同的版本?
开发人员如何确保支持尽可能多的 Linux 发行版?
虚幻引擎和其他引擎支持在 iOS、Android、Windows、MacOS 和 Linux 等多个平台上制作游戏。这些游戏以预编译的可执行文件形式分发,并且都需要针对特定操作系统进行特定的构建。
由于 Linux 发行版数量众多,是否需要为 Ubuntu、Arch 等提供不同的版本?
开发人员如何确保支持尽可能多的 Linux 发行版?
您最好的选择是:
编译您的游戏,以便所有使用的库(或尽可能多的/实用的)都是静态链接的 - 这将使游戏基本上独立于它所运行的特定发行版的库版本(尽管其他因素如桌面环境或 X 与 Wayland 可能仍然是问题的根源)。
编译你的游戏使其在特定环境中运行。通常,这意味着 steam 和 steamos。Steam Linux 运行时提供了一个已知的环境和已知版本的库。如果我没记错的话,Steam 运行时是基于 Ubuntu 的,但我对此并不完全确定——所以请查看开发者文档。如果我没记错的话,SteamDeck 是基于 Arch 的。当然,这只有在你打算通过 Steam 分发游戏时才真正有用。
顺便说一句,库版本是 Linux 原生游戏寿命短的原因之一,除非开发者/发行商不时地重新编译它们以跟上变化。大多数大型发行商并不在意这一点,所以很多 Linux 原生游戏几年后就崩溃了,玩家只能在 Proton 或其他版本的 Wine 中运行 Windows 版本。
你问的是一个具体的包装问题。大致来说,你可以使用四种方法:
显然,也可以选择按发行版进行构建(顺便说一下,涵盖 Debian、Fedora 和 Arch 可以让大多数桌面 Linux 用户轻松上手,因为绝大多数桌面 Linux 用户要么使用这三个发行版,要么使用这三个发行版的衍生版本)。但这需要投入大量的时间,而且需要持续投入,才能随着时间的推移保持游戏的可玩性。