《DOOM》在華碩MyPal上運行兩年半終於崩潰!可能達到32位整數極限

神马作文网 教育资讯 13

快科技9月18日消息,1993年12月發布的《DOOM》是第一人稱射擊遊戲的開山之作,其源代碼於1997年公開。

Minki在LenOwO上發帖稱,他將WinDOOM安裝在一台2003年的華碩MyPal A620 PDA上,這台設備搭載了當時新興的Windows Mobile系統和英特爾XScale ARMv5晶片。

為了保證設備長時間運行,Minki對其進行了改裝,使用了一個基於「DIY 18650鋰電池」 的不間斷電源系統,並將其連接到路由器的USB接口,以提供穩定的5V電源。

隨後,他啟動了遊戲,便將其擱置一旁,直到最近才發現設備上彈出了一個應用崩潰的提示。

《DOOM》存在一個有趣的漏洞:在回放遊戲內部的「demo」文件時,「gametic」值在開始新的演示回放時不會重置,這個值用於跟蹤遊戲時間,每秒增加35次。

「gametic」值不重置最終會導致數值巨大最終溢出,但該值使用的是32位整數,最大值為2147483647,不出所料,遊戲在Windows Mobile 2003系統上無法處理這種情況,也就是說它會崩潰。

每秒35次的增加速度,大約需要1.95年才能使「gametic」值溢出。有可能Minki使用的 Doom4CE版本,將遊戲頻率降低到30Hz,以獲得更好的幀率和降低硬體需求。

在《DOOM》的主機版本中這種做法很常見,如果是這樣,那麼「gametic」值溢出大約需要2.26年,這更接近Minki所說的2.5年。

當然除此之外,還有很多其他原因會導致《DOOM》崩潰,而且由於Minki中間幾乎忘了這件事,也沒法確定遊戲崩潰的確切時間。


抱歉,评论功能暂时关闭!