当前位置:
AIGC文章详情

三维弹球消失的原因,不是版权到期:31年后,亲手删掉它的微软工程师说出真相,附4条重温路线

源自157位全网作者

07:42

昨天(8月24日)是 Windows 95 发布31周年,同一天还是 NT 4.0 发布30周年、XP 推出25周年。微软元老工程师 Raymond Chen 照例在博客发了纪念文,国内科技媒体也循着这个节点,把一桩老案子翻了出来:三维弹球《太空军校生》,当年到底为什么从 Windows 里消失了?

网上流传了快二十年的答案是「版权到期,被迫下架」。知乎听着特别合理——因为这游戏确实不是微软亲生的。但当年亲手拍板删掉它的人说:真不是。

先说这游戏是什么来头

如果你小于25岁,可能真没见过它:Windows XP 的开始菜单、程序、游戏里,躺着一个「三维弹球 - 太空军校生」。在网吧按小时计费、家里电脑还没装宽带的年代,它是很多人电脑上唯一不用安装的「大型游戏」——有任务系统、有军衔升级、有得分榜,老玩家甚至还记得在键盘上敲「bmax」就能无限球的秘籍。

三维弹球消失的原因,不是版权到期:31年后,亲手删掉它的微软工程师说出真相,附4条重温路线

它的出身不是微软:原本是游戏工作室 Cinematronics 做的《Full Tilt! Pinball》弹珠台合集里的一张台,微软只授权拿了「太空军校生」这一张。微软开发者博客1995年,它随 Windows 95 的官方增强包 Plus! 亮相,之后预装进 NT 4.0、2000、Me、XP 好几代系统。在国内,大多数人第一次见到它,是在学校机房或家里的 XP 电脑上。

「外包来的」这个身份,是它后来悲剧的伏笔,也是「版权到期」误会的根源。

消失的真相:球「穿桌掉了」,而且没人修得了

Raymond Chen 在 Windows 团队干了几十年,删掉弹球这个决定,就是他当年参与拍板的。2012年他在博客第一次讲清全过程:

三维弹球消失的原因,不是版权到期:31年后,亲手删掉它的微软工程师说出真相,附4条重温路线

当时微软在做 64 位版 Windows,要把几百万行 32 位代码移植过去。轮到弹球时,出了个怪 bug——球发射出去后像幽灵一样,直接穿过弹簧、从桌子底部掉出屏幕,每一局都以秒结束,完全没法玩。快科技

团队想修,打开代码直接傻眼:代码是外包公司几年前写的,微软内部几乎没人读得懂,通篇没有注释,他们连「碰撞检测」那段代码在哪都找不到,更别说定位是哪个浮点计算出了问题。微软开发者博客而手上还有几百万行代码排着队等移植,工期压得死死的。权衡之后,当场拍板:砍了。

「如果这能让你好受点:我和你一样难过,我是真的喜欢玩这个游戏。」Chen 在文章里这么写。微软开发者博客

于是从 2007 年初 Vista 上市开始,三维弹球从预装列表里消失。微博此后十几年,「版权到期」成了最流行的解释,直到这两天周年节点,评论区还在为这个说法站队。

比真相更有意思的,是两个后续

这周国内媒体转述的,基本是2012年的版本。但2022年 Chen 自己写过一篇「补完」,里面有两个更有意思的细节:

第一,暴露这个 bug 的机器,不是你以为的 PC。64 位 Windows 项目启动时,Itanium 处理器连实物都没有,团队是拿办公室里闲置的一批 Alpha AXP 机器当64位试验田的——压垮三维弹球的,是一台「连正主硬件都不存在」时期的原型机。微软开发者博客

第二,这个 bug 后来其实被修好了。Chen 推测,可能是 C 运行时库的默认舍入模式(或者某个编译器问题)后来被别的团队顺手修掉,然后有人重新测了弹球、发现一切正常,就悄悄把它放了回去——而且没人告诉他。微软开发者博客他自己很多年都以为「这游戏永远消失了」。

还有一个最能代表评论区灵魂的发问:我把 XP 里的 exe 拷出来,丢到64位 Win10 上不照样玩?当年为什么要删?知乎

这里要分清两件事:当年失败的是「原生64位版本的移植」,而游戏本体的32位版本,在今天的64位 Windows 上靠着 WoW64 兼容层一直能跑。所以结论是:不是今天的电脑玩不了三维弹球,是微软不再官方预装它了。

为什么不出个官方复刻?合同早就把门锁死了

你可能会想:微软这么大厂,重新做一个不就完了?2018年 Chen 专门写了一篇回应「求开源、求复刻」:当年的授权合同只允许这游戏随 Windows 95 及其后续系统捆绑分发,不允许作为独立产品发布,也不允许公开源代码。微软开发者博客再加上 Cinematronics 后来被 Maxis 收购、Maxis 又进了 EA,版权链条早就理不清。

所以,官方复刻基本不用等。但好消息是:社区早就把这事接过去了。

今天想玩到它,有这4条路

路线一:从 XP 里直接拎原版,0元,原味。 找一台老 XP 或者 XP 虚拟机,进 C:Program FilesWindows NTPinball,把整个文件夹拷出来,扔到 Win10/Win11 上就能玩。网上流传的「只拷 exe」教程容易缺资源文件,整包拷最稳。有知乎网友晒过自己的操作:大学换了 Win7 笔记本,还专门跑去一台 XP 机器上把三维弹球拷过来——真爱了。知乎

三维弹球消失的原因,不是版权到期:31年后,亲手删掉它的微软工程师说出真相,附4条重温路线

路线二:开源逆向项目,目前体验最完整的解法。 GitHub 上有个把原版代码逆向重编的 SpaceCadetPinball 项目,四千六百多 star,支持 Windows、macOS、Linux。GitHubLinux 上,Flathub 商店里有现成打包,一键安装。注意两点:它需要你自备原版游戏资源文件(也就是路线一那个文件夹里的东西);项目本身是社区逆向产物,介意版权边界的朋友自己掂量。

三维弹球消失的原因,不是版权到期:31年后,亲手删掉它的微软工程师说出真相,附4条重温路线

路线三:网页版,打开就玩,最省事。 有社区成员用 Emscripten 把它搬进了浏览器,打开 pinball.alula.me,浏览器秒变弹珠台,适合办公室摸鱼,也适合喊同事过来围观「你小时候玩过这个吗」。

路线四:硬核怀旧,连掌机都没放过它。 社区把这游戏移植到了 Switch、PS2、3DS、Android 甚至 webOS 电视上,各种支持 Windows 模拟的复古掌机也能跑。二手平台几十块的 XP 老本也能凑一套「CRT显示器+机械硬盘咔咔响」的原教旨体验。

最后两句闲话

你可能注意到了:扫雷、纸牌这些自带游戏一路活到了今天,偏偏弹球中途殒命。区别很简单——扫雷纸牌是微软亲生的,代码不行可以重写(事实上也重写了好几轮);弹球是外包的,想重写,授权这关就过不去。

顺带,这周蹭周年热度,Chen 还讲了个 Win95 的冷知识:包装盒上那个全息防伪标里的婴儿,曾被某个政府部门投诉「没穿衣服」——明明只画了上半身,对方坚持认为没画出来的下半身肯定也没穿裤子。微软开发者博客微软连夜返工,给婴儿加上了衬衫加背带裤。所以哪天你收 Win95 老盒子,见到两个版本的全息标,别急着当假货,那也是官方亲手干的。

31岁的 Windows 95,这样的老案子还有不少。你当年玩三维弹球最高打到过多少分?评论区见。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章