Anonim

关于Windows Solitaire的文章最近使我想到了与Windows捆绑在一起的另一个经典游戏:Pinball。 Windows Pinball实际上是 Full Tilt 的简化版本 ! Pinball ,1995年由Cinematronics发行的游戏。 从Windows 95 Plus开始! 打包,然后继续使用Windows直至XP的所有消费者版本,用户可以免费玩 Full Tilt 的“ Space Cadet”表。

Windows版本(简称为“ 3D Pinball”)和 Full Tilt 表之间存在细微的差异,但是该游戏为数百万Windows用户提供了一个有趣的逃避工作和学习的环境。 但是,当Windows Vista在2007年初推出以取代XP时,却找不到Windows Pinball。 所以发生了什么事?

由于Windows Pinball由Cinematronics开发并由Maxis发行,因此许多人猜测Microsoft在Windows中包含该游戏的许可已过期,或者两家公司之间的其他法律纠纷导致该游戏被删除。 真正的答案不那么戏剧性,但更具技术性。

Raymond Chen /微软

正如Microsoft工程师Raymond Chen在2012年发布的MSDN博客文章中所述,丢失Windows Pinball的真正原因是从32位架构转换为64位架构。 尽管Microsoft发布了64位版本的Windows XP,但直到Vista,尤其是Windows 7才使64位Windows成为主流。 这需要更新和编写数百万行代码以支持新的体系结构,并且某些旧程序比其他程序更难使用:

Pinball的64位版本有一个非常讨厌的错误,即球会简单地穿过其他物体,例如鬼魂。 尤其是,当您开始游戏时,球将被传送到发射器,然后球将缓慢地掉落到屏幕底部,穿过柱塞并掉到桌子底部。

我们中的两个人试图调试该程序以弄清楚发生了什么,但是鉴于这是几年前由一家外部公司编写的代码,并且Microsoft没人能理解该代码的工作原理(更不了解它),而且大多数代码完全没有注释,我们根本无法弄清为什么碰撞检测器无法正常工作。 哎呀,我们甚至找不到碰撞检测器!

我们还有数百万行代码需要移植,因此我们无暇花时间研究这些代码,试图找出是什么模糊的浮点舍入错误导致冲突检测失败。 我们刚刚做出行政决定,将Pinball从产品中删除。

虽然Windows Pinball可能可以用足够的时间和资源进行抢救,但对于微软来说,保持游戏的持续发展并不值得。 值得庆幸的是,现在虚拟化等进步使一定年龄的Windows用户可以重新访问该经典游戏。 只需加载Windows 98或Windows XP虚拟机,Windows Pinball,单人纸牌和其他经典游戏就可以再次出现。

这是一个有趣的额外事实:Windows Pinball甚至都没有融入Windows XP。 从游戏的开发到Windows XP的发行,计算机硬件一直在进步,而早期的XP版本的游戏以每秒超过一百万帧的速度运行,这浪费了资源并最大化了系统的CPU。 幸运的是,解决该问题(通过添加帧速率限制器)比解决向64位的转换要容易得多,因此节省了Windows Pinball,使一代XP用户也可以体验该游戏。

Windows弹球发生了什么?