微软揭示《三维弹球》下架真相:修复难度超乎想象,耗时数日
- 6265
许多人都记得在Windows XP时代陪伴我们的经典游戏《三维弹球》。这款游戏在Windows 2000和XP中预装多年,却在Vista推出时悄然消失。长久以来,大家普遍认为这是因为法律问题,但微软资深工程师Raymond Chen最近披露了一个截然不同的内幕。真实的原因是一个无人能解决的bug。
事情的起因可追溯到Windows XP 64位版的开发。当时,微软团队需要将数百万行的32位代码转换为64位架构。然而,在处理《三维弹球》时,出现了一个奇怪的bug:弹球在正常进入发射器后,竟然穿过弹簧,掉入游戏底部,导致游戏无法进行。Chen和他的同事尝试进行修复,但面临一个重大障碍——该游戏的代码是由外部公司编写,微软内部对其逻辑几乎一无所知,且大多数代码未包含注释。他们甚至连弹球的碰撞检测代码都无法找到,更不用说追踪是否由某个浮点数的舍入错误导致弹球掉落。
在此期间,团队还需要处理数百万行代码的移植,64位XP的发布日期迫在眉睫。在“修复一个无人理解的bug”和“按时交付”之间,Chen最终选择了放弃移植这款游戏。这并非阴谋或法律纠纷,而是一个贴近现实的技术决策。Chen本人对删除这款游戏感到颇为遗憾。他后来发现,《三维弹球》并没有对帧率限值的设定,导致在现代硬件上每秒可以渲染高达100万帧,CPU负载接近满负荷。通过为游戏设定120 FPS的限制后,CPU使用率从100%骤降至1%。
《三维弹球》自1995年由Cinematronics开发,并由Maxis发行,完整版游戏中包含三张地图。微软随后获得了“太空军校生”关卡的授权,并将其加入到Microsoft Plus!扩展包中。此款游戏承载着一代人的桌面记忆,但最终因“代码无法解读”而告别历史舞台,颇具一丝黑色幽默。