在Microsoft Word文档中运行的《毁灭战士》
01/19/2025, 02:05 PM UTC
在Microsoft Word文档中运行的《毁灭战士》Doom ported to a standalone Microsoft Word document — plays well but there's no sound
➀ 软件工程师Wojciech Graj成功将经典游戏《毁灭战士》移植到了一个独立的Microsoft Word文档中。
➁ 这个6.6MB大小的文档可以在安装了现代Microsoft Office系统的x86系统上运行。
➂ 尽管游戏已经成功移植,但目前游戏中没有声音,用户需要绕过安全警告才能启用文档中的VBA宏。
➀ A software engineer named Wojciech Graj has successfully ported the classic game Doom into a standalone Microsoft Word document.
➁ The document, which is 6.6MB in size, can be run on x86 systems with modern Microsoft Office installations.
➂ Despite the successful port, there is currently no sound in the game, and users need to bypass security warnings to enable the VBA macro in the document.
在最近的一次创新中,一位名叫Wojciech Graj的软件工程师将经典游戏《毁灭战士》(Doom)成功地移植到了一个独立的Microsoft Word文档中。这项技术不仅展示了软件工程的极限,还为复古游戏爱好者提供了一种新的体验方式。
这个Word文档大小仅为6.6MB,可以在安装了现代Microsoft Office系统的x86计算机上运行。Graj通过将doomgeneric_docm.dll库和doom1.wad游戏数据编码为base64格式,并嵌入到文档中,实现了这一壮举。当用户打开文档时,一个VBA宏会被激活,用于提取这些数据并加载游戏。
尽管Graj已经成功地让游戏在Word文档中运行,但目前版本的游戏没有声音。Graj解释说,每次游戏帧更新时,doomgeneric.dll都会生成一个包含当前帧的bmp图像,并使用GetAsyncKeyState函数来读取键盘状态。这种机制使得游戏视窗保持较小(原始320 x 200像素?),以保证游戏的响应速度。
玩家可以通过方向键进行移动,按住Control键射击,按空格键使用物品,以及使用数字键1-7选择武器。虽然游戏画面看起来与原版相似,但由于缺乏声音效果,整体体验略显不足。
此外,Graj还分享了他其他一些独特的Doom移植项目,例如在Stardew Valley和Minecraft中运行Doom。这些项目展示了他在软件工程方面的创造力和创新能力。
如果您对这项技术感兴趣,不妨深入挖掘Graj的其他Doom项目,或者关注未来可能出现的更多类似的创意移植。
---
本文由大语言模型(LLM)生成,旨在为读者提供半导体新闻内容的知识扩展(Beta)。