近日,科技媒体Windows Latest报道,微软在早期的Win2K和WinXP系统中预装了一款经典的游戏《三维弹球》,但在Windows Vista推出后,这款游戏被彻底移除了。多年来,许多人都认为这一决定是出于法律问题。然而,微软资深工程师Raymond Chen的解释让真相浮出水面,原因其实并不复杂。
在开发Windows XP 64位版本时,微软团队对数百万行的32位代码进行了64位移植。当他们到达《三维弹球》的阶段时,意外出现了一个非常诡异的Bug:游戏开始后,弹球本应正常落入发射器,但却会直接穿越弹簧,最终从球桌底部掉落,导致整个游戏无法正常进行。为了修复这个问题,Raymond Chen和他的同事们努力寻找解决办法,却发现这款游戏的代码是由外部公司开发的,团队内部几乎没有人能真正理解其运作,而绝大多数代码又缺乏注释。他们甚至连弹球的碰撞检测代码都找不到,搞不清楚是什么导致弹球发生了浮点数舍入错误,导致其直接掉落。
除了要移植的大量代码外,项目的截止日期也愈加紧迫。最终,Chen不得不选择放弃这款游戏的移植。令人遗憾的是,Raymond Chen本人也对这个决定感到失望。他发现这款游戏没有帧率限制,现代硬件可以达到每秒100万帧的渲染速度,导致CPU负载常常达到100%。因此,他为这款游戏设定了120 FPS的帧率限制,成功将CPU的占用率从100%降低到了1%。
《三维弹球》首次发售于1995年,由Cinematronics开发,Maxis发行,包含完整的三张地图。后来,微软还获得了“太空军校生”关卡的授权,并将其添加至Microsoft Plus!扩展包中。