許多老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坦言自己很喜歡這款遊戲,但別無選擇。
3D彈球至今沒有回歸現代Windows,原開發商Cinematronics和發行商Maxis後來都被EA收購,Space Cadet桌的授權也隨之落入EA手中。
微軟沒有源代碼的所有權,也無法自行修復或重寫,玩家想重溫經典,目前只能依賴社區製作的復刻版本。







