DC娱乐网

许多老Windows用户应该还记得系统自带的3D弹球游戏,这款游戏从1995年的

许多老Windows用户应该还记得系统自带的3D弹球游戏,这款游戏从1995年的Windows 95开始预装,到Windows Vista时突然消失。

微软工程师Raymond Chen近日在博客中揭示了真正原因,不是版权问题,而是64位移植时碰撞检测出了bug。

3D弹球游戏本身并非微软开发,而是来自Cinematronics团队开发的Full Tilt! Pinball,代码也不在微软手中。2000年代初,Chen的团队负责将数百万行Windows代码从32位移植到64位,为Windows XP 64位版做准备。

移植完成后,3D弹球出现了一个诡异的问题,球会像幽灵一样穿过桌面上的障碍物直接掉下去,游戏根本没法正常玩。

根因是碰撞检测代码中一个隐蔽的浮点数舍入误差,在64位环境下行为发生了变化,Chen的团队试图修复,但很快发现无从下手。

代码是外部公司多年前写的,没有任何注释,微软内部没人理解其运行机制,Chen在博客中写道:“我们甚至连碰撞检测器在哪都找不到。”

摆在团队面前的是数百万行待移植的代码和不断逼近的截止日期,没人有时间去逐行研读一个第三方游戏的源码。

最终管理层决定放弃3D弹球,不再将其纳入后续Windows版本,Chen坦言自己很喜欢这款游戏,但别无选择。破产姐妹史上最长售后