《毁灭战士》(Doom)是 id Software 公司于 1993 年推出的 DOS 版第一人称射击游戏。 尽管已经有 30 多年的历史,这款游戏仍然激励着足智多谋(有点疯狂)的开发人员在一些可以想象得到的最不寻常的计算环境中运行其代码。
现在,我们可以将 PDF 文档添加到可以运行 Doom 的不断增长的"事物"列表中。 一名对编程和网络安全感兴趣的高中生开发了DoomPDF项目,提供了另一个例子,说明在火星上杀死狞恶的生物已经成为一种真正的全民消遣,无论使用何种技术。
开发者"Ading2210"之所以能够创建 DoomPDF,是因为 PDF 标准支持 JavaScript 代码。 这位程序员解释说,Adobe Acrobat 实现了 PDF JS 库的完整规范,可以实现一些真正令人惊叹的功能,包括 3D 渲染、硬件检测等。 然而,DoomPDF 依赖于现代网络浏览器中的 JavaScript 实现,而这些浏览器的"PDF 引擎"和 API 支持较为有限。
Ading2210 说,尽管存在这些限制,Chrome 浏览器和其他基于 Chromium 的浏览器仍能执行"我们想要的任何计算",只需极少的 I/O 交互。 开发者将 Doom 的原始 C 代码与针对 asm.js 而非 WebAssembly 的旧版 Emscripten 进行了编译。 输入可通过文本字段和按钮读取,但"呈现"足够快的 Doom 图形副本则是一项更具挑战性的任务。
DoomPDF 可以实现六色单色输出,这足以在屏幕上提供"可读"的游戏画面。 Doom PDF 移植版可以在Chromium浏览器上运行,但它并不是性能最优的游戏版本,不过如果你足够痴迷的话,它可以被认为是"可玩的"。
《毁灭战士》已被正式移植到游戏机、PC 系统、不同的操作系统、移动设备以及自 20 世纪 90 年代以来开发的所有新计算平台上。 即使是《毁灭战士》传奇的最新作品《毁灭战士:永恒》,也包含了《毁灭战士》和《毁灭战士 II》的原始"wad"文件,您可以在《毁灭战士》杀手的孤独堡垒中绕地球飞行时加载这些文件。
开发商 id Software 于 1997 年发布了《毁灭战士》的源代码,这一选择引发了一场类似备忘录的运动,程序员们试图在他们能破解的最神秘的设备上运行这款游戏。 迄今为止,《毁灭战士》已证明可以在验证码、闹钟、GPU、体积显示器、AI模型等设备上运行。