非授權到期 64-bit OS 下彈珠會飛出街
【彈珠台 ㊙️】長期以來,許多玩家普遍認為 Microsoft 在 Windows Vista 中移除經典內建遊戲《3D 彈珠台:太空幹部》(3D Pinball for Windows – Space Cadet),是出於版權或授權過期。然而,Microsoft 資深工程師 Raymond Chen 透露,該款遊戲被終止預載的真實原因,是在 64-bit OS 下出現嚴重程式錯誤(Bug),導致遊戲中的彈珠無法正常進行碰撞偵測,直接「飛出街」。
據 Raymond Chen 在 Microsoft 官方 Blog 回憶,當 Microsoft 開始將 Windows XP 由 32-bit 移轉(Porting)至 64-bit 系統期間,工程團隊在測試《太空彈珠台》時發現,該遊戲在 64-bit 環境下產生了致命的碰撞偵測失效問題——彈珠在發射後宛如幽靈般穿透發射器與檯面上的所有阻擋物,直接「飛出街」(掉落至屏幕底部),導致遊戲完全無法進行。
該款遊戲最初是由外判廠商 Cinematronics 於 1990 年代中期開發,內部缺乏完善的程式碼註釋與文件記錄,在轉換至 64-bit 運作環境時,因浮點數運算精確度的差異與累積誤差,導致原有的碰撞檢測機制完全失效。
由於當時 Windows 團隊仍有數百萬行的系統主程式碼待移轉為 64-bit,在緊迫的時程限制與人力資源成本考量下,Microsoft 決定放棄逐行除錯(Debug)這段複雜的外判程式碼,直接從系統中移除《太空彈珠台》,該遊戲亦因此未再出現在 Windows Vista 及後續的作業系統版本中。
Raymond Chen 的說法,打破了多年來關於授權條款到期的謠言,證明了隨作業系統架構迭代升級時,舊有程式碼在維護與相容性最佳化方面所面臨的技術挑戰。
資料來源: