Windows为何移除3D弹球?微软工程师揭秘:遗留代码难以维护

许多资深Windows用户或许对系统内置的3D Pinball记忆深刻。这款经典游戏自1995年随Windows 95发布以来一直预装,直至Windows Vista版本中意外消失。

微软资深工程师Raymond Chen近期通过博客披露了背后的真相:并非版权纠纷,而是因为在向64位架构移植过程中,碰撞检测机制出现了严重缺陷。

值得注意的是,该游戏并非由微软自主开发,其原始代码源自Cinematronics团队制作的《Full Tilt! Pinball》,因此微软并未掌握完整的源码所有权。

Windows为何移除3D弹球?微软工程师揭秘:遗留代码难以维护

在21世纪初,Chen所在的团队肩负着将数百万行Windows核心代码从32位迁移至64位的重任,旨在为即将推出的Windows XP 64位版铺路。

然而,在完成初步移植后,3D Pinball暴露出一个令人困惑的Bug:游戏中的球体竟然能像幽灵般穿透桌面障碍物直接坠落,导致游戏体验完全崩坏。

经排查,问题的根源在于碰撞检测逻辑中一个隐蔽的浮点数舍入误差,该误差在64位运行环境下引发了行为异常。尽管团队尝试修复,但很快意识到无从入手。

由于这部分代码是由外部公司多年前编写,且缺乏任何注释说明,微软内部无人能够透彻理解其运作原理。Chen在博文中坦言:“我们甚至无法定位碰撞检测器的具体代码位置。”

Win砍掉经典3D弹球真正原因:屎山代码看不懂了

当时,团队面临着海量待移植代码以及日益紧迫的项目截止日期,根本没有任何资源去逐行解析一款第三方游戏的复杂源码。

最终,管理层做出了艰难决定:放弃对3D Pinball的支持,不再将其包含在未来的Windows版本中。Chen表示虽然个人非常喜爱这款游戏,但在工程现实面前别无选择。

时至今日,3D Pinball仍未回归现代Windows系统。随着原开发商Cinematronics和发行商Maxis先后被EA收购,Space Cadet桌面的相关授权也已转入EA旗下。

鉴于微软不拥有源代码所有权,既无法自行修复也无法重写,玩家若想重温这一经典,目前只能依赖社区爱好者制作的非官方复刻版本。

Win砍掉经典3D弹球真正原因:屎山代码看不懂了


© 版权声明
THE END
欢迎随手分享,喜欢就支持一下吧
点赞10 分享
评论 抢沙发

    暂无评论内容