Space Cadet Pinball on Linux
Space Cadet Pinball on Linux
Space Cadet Pinball on Linux Stephen Brennan • 09 May 2026
To my fellow Linux users who grew up using Windows XP: did you know, you can have Space Cadet Pinball on your Linux machine? This is not breaking news, but it’s exciting to me, and I’m the one who decides what I write about. So here’s your PSA! 对于那些和我一样在 Windows XP 环境下长大的 Linux 用户:你知道吗?你可以在你的 Linux 机器上运行《太空军校生弹球》(Space Cadet Pinball)。这虽然不是什么突发新闻,但对我来说很令人兴奋,而且我就是那个决定写什么的人。所以,这就是给你们的公告!
Space Cadet Pinball was bundled with Windows XP, and growing up I played it a lot. As a result it holds a special place in my heart. I found that it was the most engaging game that was bundled with Windows. Solitaire was too mindless, and Freecell, Hearts, and Minesweeper were too complex and boring to me at that age. But pinball held my attention, and so I played it a lot. 《太空军校生弹球》曾是 Windows XP 的内置游戏,我小时候玩过很多次。因此,它在我心中占据着特殊的地位。我发现它是 Windows 自带游戏中最吸引人的一款。纸牌(Solitaire)太无脑了,而空当接龙(Freecell)、红心大战(Hearts)和扫雷(Minesweeper)在那个年纪的我看来既复杂又无聊。但弹球游戏却能抓住我的注意力,所以我玩了很多次。
Anyway, somebody has gone to the effort of using a decompiler and reverse engineering tools to create source code, and then put in what I’d imagine is a lot of effort to make it playable on a lot of platforms! All that results in this project on Github. 总之,有人花费心血利用反编译器和逆向工程工具创建了源代码,并投入了大量精力使其能够在多个平台上运行!这一切最终促成了 Github 上的这个项目。
The easiest way to play on Linux is actually to use the Flatpak, which comes bundled with the original game resources from the Windows version. You can either install it with a GUI (e.g. KDE Discover) or install on the CLI: 在 Linux 上游玩最简单的方法其实是使用 Flatpak,它捆绑了 Windows 版本中的原始游戏资源。你可以通过图形界面(例如 KDE Discover)安装,也可以通过命令行安装:
flatpak install com.github.k4zmu2a.spacecadetpinball
That’s all you need to play & get a hit of nostalgia! I know there are browser-based versions available too, but I would rather have it installed on my computer directly. 这就是你需要做的全部,然后就可以开始游戏并重温怀旧之情了!我知道市面上也有基于浏览器的版本,但我更倾向于直接安装在电脑上。
High(er) Resolution With Full Tilt Data
使用 Full Tilt 数据实现更高分辨率
Graphics technology has come a long way since then, and the graphics are a bit rough at 480p. But fear not: another version of the game existed, called Full Tilt! Pinball. Its game data is capable of displaying at the massive screen resolution 1024x768! You can find this game data on archive.org in a zip file. 自那时起,图形技术已经取得了长足进步,480p 的画面显得有些粗糙。但别担心:这款游戏还有另一个版本,叫做《Full Tilt! Pinball》。它的游戏数据支持在 1024x768 的超大分辨率下显示!你可以在 archive.org 上找到这个 zip 格式的游戏数据文件。
Getting the flatpak version to use these data files is a bit tricky. The easiest way is: 让 Flatpak 版本使用这些数据文件稍微有点棘手。最简单的方法是:
-
Ensure that you’ve run the game at least once prior to this, so that the data directory is created.
-
确保在此之前至少运行过一次游戏,以便创建数据目录。
-
Extract the downloaded zip file directly into your data directory:
-
将下载的 zip 文件直接解压到你的数据目录中:
cd ~/.var/app/com.github.k4zmu2a.spacecadetpinball/data/SpaceCadetPinballunzip ~/Downloads/CADET.ZIP -
Delete (or, if you’re cautious, rename) the old data directory which is bundled with the app. Unfortunately this is necessary because the game searches multiple locations for data, but once it finds data files in one directory, it won’t continue looking for files in other locations.
-
删除(或者如果你比较谨慎,可以重命名)随应用捆绑的旧数据目录。不幸的是,这是必要的,因为游戏会在多个位置搜索数据,但一旦它在一个目录中找到数据文件,就不会继续在其他位置查找了。
sudo rm -r $(flatpak info --show-location com.github.k4zmu2a.spacecadetpinball)/files/extra/Pinball
You may not need the sudo call if your installation was per-user. Mine got installed to /var/lib/flatpak so I needed root. It’s possible you’d need to repeat step 3 if the game gets updated. However, the flatpak hasn’t seen an update in over two years. I doubt one will happen, and if it does, it won’t be frequent. 如果你的安装是针对单用户的,可能不需要使用 sudo。我的安装在 /var/lib/flatpak,所以我需要 root 权限。如果游戏更新,你可能需要重复第 3 步。不过,这个 Flatpak 已经两年多没有更新了。我怀疑未来也不会有更新,即使有,频率也不会很高。
Random Notes
随笔
If you want, you can keep the original files and merge them together so that you have the full set of both the original (referred to as “3DPB” for 3D Pinball in the game) and the new (Full Tilt) data. Then, the game will let you toggle between them if you’d like. 如果你愿意,可以保留原始文件并将它们合并,这样你就能同时拥有原始数据(在游戏中称为“3DPB”,即 3D Pinball)和新的(Full Tilt)数据。之后,游戏允许你在两者之间切换。
The data files seem to have some impact on the game rules. For instance, in the original 3DPB version, the reentry lanes (and launch lanes) have lights which toggle as the ball passes over. In the Full Tilt version, the lights stay on (rather than toggling), making it easier to complete the set of lights and upgrade the associated set of bumpers. (Yes yes, I know I’m a nerd for noticing this.) 数据文件似乎对游戏规则有一定影响。例如,在原始的 3DPB 版本中,重入轨道(和发射轨道)上的灯会在球经过时切换状态。而在 Full Tilt 版本中,灯会保持常亮(而不是切换),这使得完成灯组并升级相关的保险杠变得更容易。(是的,我知道我注意到这些细节很书呆子气。)
Apparently, there was a game called “Marble Blast” which came pre-installed on some Macs in a roughly similar time period, which I know people developed similar relationships to growing up. Unlike this pinball game, the Marble Blast series grew, and there are newer versions available to play today. 显然,在差不多同一时期,有些 Mac 预装了一款名为《Marble Blast》的游戏,我知道人们在成长过程中也对它产生了类似的感情。与这款弹球游戏不同的是,《Marble Blast》系列一直在发展,如今还有更新的版本可以玩。
Bonus Thoughts
额外思考
I think it’s great that this old game was beloved to enough people (and especially at least one very competent & motivated person) to do this work. Having (any) source code available makes this game portable to all sorts of platforms, which is really great. You can play this on Mac, Windows, Linux, and even Android & Nintendo Switch, apparently. 我觉得这款老游戏能被足够多的人(尤其是至少一位非常有能力且有动力的人)所喜爱并进行这项工作,真是太棒了。拥有(任何)源代码使得这款游戏可以移植到各种平台上,这真的很棒。显然,你可以在 Mac、Windows、Linux,甚至 Android 和任天堂 Switch 上玩它。
Personally, I would be happy to pay the original developers for their work on this game, and I understand that there’s some concern about the legality of downloading game data files, especially for the Full Tilt version of the game. After all, they are copyrighted art & data which was part of a commercial product. It seems like an unpopular opinion in today’s world, but I don’t advocate for piracy. Paying people for their work is important, even when it feels like you’re paying a faceless corporation. While I’d prefer things be created with a FOSS license, the world doesn’t always work that way. At the end of the day, I want people to be paid to create good things, because that’s how we get more good things! 就我个人而言,我很乐意为原始开发者的工作付费,我也理解下载游戏数据文件(尤其是 Full Tilt 版本)在法律上存在一些争议。毕竟,它们是受版权保护的艺术和数据,曾是商业产品的一部分。在当今世界,这似乎是一个不受欢迎的观点,但我并不提倡盗版。为他人的劳动付费很重要,即使你感觉是在为一家冷漠的企业付费。虽然我更希望事物能以 FOSS(自由及开源软件)许可协议创建,但世界并不总是这样运作的。归根结底,我希望人们能因创造出好东西而获得报酬,因为这就是我们获得更多好东西的方式!
On the other hand, I feel software preservation is an important goal too. Ideally, I’d like to see a world where proprietary software like this could be placed into some sort of source code escrow. As long as the original copyright holders are in the business of selling their product, their rights should be respected. But if they elect to stop selling it, I think that code should revert to a FOSS license that allows users to improve & maintain the software they use. This would help balance the rights of creators, users, and the goals of preservation. 另一方面,我觉得软件保护也是一个重要的目标。理想情况下,我希望看到一个世界,像这样的专有软件可以被放入某种源代码托管中。只要原始版权持有者还在销售他们的产品,他们的权利就应该受到尊重。但如果他们选择停止销售,我认为代码应该转为 FOSS 许可,允许用户改进和维护他们使用的软件。这将有助于平衡创作者、用户和保护目标之间的权利。
I also played another pinball game called 3D Ultra Pinball, but that came on a CD presumably for purchase. I have no idea whether my parents went out and bought it, or if it came in a cereal box. (Yes, game CDs did show up in cereal boxes sometimes.) 我还玩过另一款名为《3D Ultra Pinball》的弹球游戏,但它是通过 CD 发行的,大概是买来的。我不知道是我父母特意去买的,还是从麦片盒里送的。(是的,游戏 CD 有时确实会出现在麦片盒里。)