微软停用3D弹球的幕后原因:不是版权而是代码难题
  • 5177

在Windows系统中,自Windows 95起预装的经典3D弹球游戏曾陪伴了众多用户,然而在Windows Vista发布后却神秘消失。最近,微软工程师Raymond Chen在其博客中解释了背后的真实原因,这并非版权问题,而是由于在将游戏移植到64位系统时,遇到了严重的碰撞检测错误。实际上,这款3D弹球游戏最初并非由微软开发,而是Cinematronics团队制作的Full Tilt! Pinball,相关代码也不在微软的掌控之中。

在21世纪初,Chen及其团队承担了将数百万行Windows代码从32位架构转移到64位的重任,以准备推出Windows XP的64位版本。移植完成后,3D弹球游戏却出现了一个令人困惑的问题:球体仿佛变成了幽灵,毫无预警地穿过桌面上的障碍物,直接掉落,导致游戏无法正常进行。经过调查,发现此问题源于碰撞检测部分含有一个难以察觉的浮点数舍入误差,这种情况下在64位环境下表现异常。尽管Chen的团队试图修复这个问题,但很快发现无从下手。代码是多年前由外部公司编写的,且没有任何注释,微软内部也没有人理解其工作原理。Chen甚至提到:“我们连碰撞检测器的位置都找不到。”

项目面临的挑战是,剩余的数百万行代码等待着移植,而截止日期如期而至,团队没有足够的时间去逐行分析这个外部游戏的源代码。最终,管理层决定不再在后续的Windows版本中包含3D弹球。Chen坦言,尽管他非常喜欢这款游戏,但无奈之下只能作此决定。

至今,3D弹球仍旧没有在现代Windows系统中复苏,原开发团队Cinematronics和后来的发行公司Maxis已被EA收购,游戏的授权也转移给了EA。因为微软并不拥有源代码的版权,因此无力修复或重写这款经典游戏。如今,想要重温这款经典的玩家们,唯有依靠社区制作的复刻版本。