经典游戏《Doom》中的一个错误如何引发了对 Pi 的新认识

如果我们改变 pi 的值,世界会是什么样子?无论是在现实世界还是游戏环境中,答案都很复杂

来源:科学美国人

每个人都会犯错误,有时这些错误可能会带来令人惊讶的发现。 20 世纪 90 年代初,在编写电脑游戏《Doom》时,游戏开发者 John Carmack 手动设置了 pi (π) 的值,并以真正的书呆子方式,凭记忆将数字写到了小数点后第九位:3.141592657。

你注意到那个人物有什么奇怪的地方吗?最后一位数字是错误的。该数字应改为 3.141592654。 (Pi 通常会被截断而不进行四舍五入,在这种情况下,小数点后第九位将由 3 填充,但由于后续数字为 5,因此四舍五入为 4。)

幸运的是,这个错误对游戏影响不大。 《毁灭战士》是最早的三维图形第一人称射击游戏之一,在这款游戏中,你扮演一名太空海军陆战队员,由于一次失败的隐形传送实验,最终来到了火星的卫星上,在那里与恶魔和僵尸作战。该游戏有一个很棒的故事,但画面很糟糕。这并不是因为 pi 值不正确,而是因为 20 世纪 90 年代可用的计算能力非常少。

关于支持科学新闻

如果您喜欢这篇文章,请考虑通过订阅来支持我们屡获殊荣的新闻事业。通过购买订阅,您将有助于确保有关塑造当今世界的发现和想法的影响力故事的未来。

订阅

尽管如此,这个错误还是激励美国工程师 Luke Gotszling 调查在游戏中大规模错误编程 pi 可能产生的后果——他在 2022 年的黑客大会上提出了这个想法。

黑客大会

当 Pi 在电脑游戏中出错时

由于《Doom》是一款开源计算机游戏,因此您可以下载代码并进行修改。戈茨林就是这样做的,测试如果他改变 pi 的编程值会发生什么。

当他将 pi 设置为 π⁄2 时,事情变得非常糟糕。墙壁会闪烁并消失。看不见的障碍物阻碍了玩家的移动。在这种状态下,游戏并不是特别有趣。

π 2

Pi 并不总是 3.14159...