2.5年后崩溃!极客实验发现DOOM老硬件隐藏Bug,竟然这么有意思

如果要说游戏史上哪款作品最能经得起时间的考验,那《DOOM》绝对算得上榜单常客。

这款1993年发布的FPS(第一人称射击)开山之作,不仅让玩家第一次感受到了“枪在手,天下我有”的快感,还对整个游戏行业的文化和技术发展影响深远。

即便现在已经过去了近32年,依然有无数玩家和开发者在用各种方式重温它的魅力,比如玩mod、改代码,甚至让它在冰箱、打印机、甚至计算器上运行。

不过,就算是再经典的游戏,也免不了有一些“历史遗留问题”。

最近,一名极客就通过一个“丧心病狂”的实验,验证了《DOOM》代码里的一个隐藏Bug。

他把游戏一直挂着跑了整整两年半,直到它自己崩溃。

今天,我们就来聊聊这个实验背后的故事,为什么会发生,以及它带来的启发。

两年半后崩溃,DOOM藏了个谁都懒得管的Bug

这位极客名叫Minki,他偶然间在网上看到一篇分析《DOOM》引擎的技术文章,其中提到一个很少有人注意到的Bug。

这是个记录游戏内计时的变量叫 gametic,它每秒会以固定35次的节奏递增,用来追踪游戏时间流逝。

按理说,这个变量在正常游戏中几乎不会有问题,但因为它是用32位有符号整数表示的,理论上如果一直不停累加总会触发“整数溢出”。

简单解释一下啥叫“整数溢出”:32位有符号整数的值域是从 -2,147,483,647 到 +2,147,483,647,一旦超过这个范围,就会从最大值“绕回”到最小值,比如从2,147,483,647直接跳到-2,147,483,647。

虽然这种情况听上去挺可怕,但在1993年开发《DOOM》时,John Carmack(游戏的主程序员)估计也觉得无所谓。

毕竟谁会真的让游戏开够二十多亿次计数呢?这在正常情况下根本不可能发生。

不过,极客的好奇心是无穷的。

Minki一琢磨,这个Bug看似不可能触发,但如果故意让游戏一直开着呢?为了验证这个大胆的想法,他决定做个实验:找台老硬件,让《DOOM》跑到崩溃为止。

经典游戏的魅力与遗憾

《DOOM》作为一款经典游戏,能在几十年后仍被玩家和开发者津津乐道,靠的不仅是它的游戏性,更是它在技术和文化上的深远影响。

当然,经典之所以经典,并不是因为它完美无缺,而是即使有Bug,也能被玩出花样。

所以,Minki的实验也算是一种另类的致敬:通过这种方式,让我们重新审视那个时代的技术局限和游戏魅力。

而对于普通玩家来说,实验的结论很简单——别把游戏开着两年不关,不然可能真的会崩溃。

展开阅读全文

更新时间:2025-09-24

标签:游戏   有意思   年后   发现   硬件   整数   魅力   玩家   经典   开发者   深远   变量   符号   值域

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020- All Rights Reserved. Powered By bs178.com 闽ICP备11008920号
闽公网安备35020302034844号

Top