第 979 期:微软工程师揭秘弹球游戏从 Windows 中消失的原因

第 979 期:微软工程师揭秘弹球游戏从 Windows 中消失的原因

作者:BlogUpdater |  时间:2026-08-23 |  浏览:96 |  评论已关闭 条评论

Windows XP 是最后一个随系统附带 3D 弹球游戏的 Windows 版本,这款以太空为主题的游戏,自 1995 年起就存在于 Windows 操作系统中。它在 Windows Vista 中消失,多年来,我们一直以为,是法律问题导致了它的消失。实际上原因要更贴近人性一些,找不到更好的词去形容。该游戏有一个 Bug,但没人可以理解其代码,乃至于根本无法修复此 Bug,而且当时还面临迫在眉睫的截止日期。

这个故事来自微软传奇工程师 Raymond Chen,在 Windows 领域工作了三十多年,并在他的博客 《The Old New Thing》 上写关于 Windows 的历史。Raymond Chen 曾参与将 Windows XP 移植到 64 位平台,他也在弹球游戏被取消的时候在场。

我第一次在家里的 Windows XP 机器上玩 3D 弹球游戏,可能是在二十多年前,我记得,当时我整个下午都在玩它。它是那种每台电脑上都有的游戏,等着您在作业乏味时去玩。也许这就是为什么,几十年后仍然有这么多人谈论它,并且更想知道它后来发生了什么。

微软移除弹球游戏的真正原因

在 2012 年的一篇博客文章中,Raymond Chen 解释说,法律问题与弹球游戏被移除无关,尽管很多人以为是因为这个。问题出现在他的团队将 Windows 的数百万行代码从 32 位移植到 Windows XP 64 位版时。

在 64 位版本里,出于某种奇怪的原因,弹球游戏里的球在游戏开始时会掉进发射器,然后就直接穿过发射杆从桌子的底部掉下去,就像一个神秘物体穿过路径上的所有物体一样。

滑稽的是,这让游戏 “真的很短”,因为球直接穿过地板根本无法玩!

Raymond Chen 和一位同事尝试修复它。代码是多年前由外部公司写的,微软公司没有人完全理解它是怎么工作的,而且大部分代码都没有注释。他们甚至找不到负责让球留在桌子上的碰撞检测器,更别说修复那个导致问题的浮点数四舍五入误差了。

在还有数百万行代码需要移植,而且所有这些都有发货截止日期的情况下,Raymond Chen 的团队做了决定。用他的话说,他们 “负担不起花几天时间研究代码,去弄明白是哪种罕见的浮点数四舍五入误差,导致碰撞检测失败”。

弹球游戏被砍掉是因为开发者在写代码的时候没有写上注释,当然,微软的工程团队选择在更大的截止日期临近时,不愿在一款有缺陷的游戏上浪费好几天。我不敢批评 Raymond Chen 和他的团队,因为他们可能是那个时代最优秀的软件工程师。

而且他也不在乎。Raymond Chen 曾说,这是他 Windows XP 时期为数不多的,让他感到有些难过的决定之一。他在操作系统中最自豪的工作之一是在弹球游戏中,他修复了一个游戏占用 100% CPU 的问题。

原始代码完全没有帧限制器,所以,在当时的现代硬件上,Raymond Chen 发现,它能渲染超过一百万帧每秒,并且将 CPU 使用率固定在 100%。加上 120 帧每秒的限制,这个限制降到了 1%,让玩家玩弹球时不会拖慢电脑速度。

微软公司不拥有弹球游戏的代码

弹球游戏最初由 Cinematronics 工程师于 1995 年开发,由 Maxis 发行。微软仅授权了 Space Cadet 桌面用于 Microsoft Plus!软件包,该包于 1995 年 8 月 24 日发布,与 Windows 95 同日发布。

授权条款阻止了弹球游戏的回归。Raymond Chen 在 2018 年的一篇帖子中提到了这件事,当时微软 Garage 团队悄悄尝试,通过重新打包可用的 32 位版本来复活这款游戏。对原协议的法律审查发现,微软只有权将游戏捆绑在 Windows 和 Plus! 软件包里,以及它们的继任版本中,别无其他。单独发布游戏或分发其源代码并不在协议范围内。

在 2022 年的一次后续中,Raymond Chen 补充说,他测试弹珠游戏时用的故障版本并不是 Itanium (Windows XP 64 位版最终采用的处理器),而是 Alpha AXP,这是微软内部用来在 Itanium 硬件出现之前,使 64 位Windows 运行的较老 64 位芯片。

Raymond Chen 认为,Alpha 版本严重崩溃是由于 C 运行库中的舍入模式漏洞引起的,而这个漏洞后来被修复了,修复原因与弹球游戏无关,而且修复得悄无声息,以至于,没人去告诉他游戏又能正常运行了!

Windows 11 仍然没有自己的弹球游戏版本

Cinematronics 和 Maxis 最终都被电子艺界(Electronic Arts)收购,而曾经让微软发行《太空学员弹球》(Space Cadet Pinball)的授权,现在被困在一个完全没有参与原始交易的公司里。

有粉丝重制版存在,为了规避 Raymond Chen 团队碰到的法律障碍,从零开始制作,但将近二十年里官方一直没有替代品。我说的并不是弹球游戏本身,而是 Windows 11 有没有一款游戏,能让操作系统二十年后还让人怀旧。

微软的优先事项转向了其他地方。现在 Windows 11 中预装的东西,使它成为了操作系统中备受批评的版本之一。

已经十年的 Windows 10 至今仍有人喜爱。本月早些时候,我们首次报道了它的锁屏照片——新西兰 Wharariki 海滩再次走红,因为游客去参观了照片背后的真实地点,让操作系统更 “有人情味”。

Windows 11 没有类似的时刻。它没有弹球游戏,没有人会去现实中寻找的壁纸或锁屏图片,也没有任何能留下这种记忆的东西!

另外值得一提的是,如果您是一位高效能人士,拓扑梅尔智慧办公平台最近也更新到了最新的 6.0 版本,带来了诸如文件管理,个人工作台,文件秒搜,远程协助,音视频通话等功能,可以帮助您进一步提升日常工作效率。

您玩过弹球游戏吗?您觉得它好玩吗?

本文来自:Microsoft explains why Pinball vanished from Windows: “We couldn’t afford to spend days studying the code”

标签:

评论已关闭。