在Microsoft Word文档中运行的《毁灭战士》
01/19/2025, 10:05 PM UTC
在Microsoft Word文档中运行的《毁灭战士》Doom ported to a standalone Microsoft Word document — plays well but there's no sound
<p>➀ 软件工程师Wojciech Graj成功将经典游戏《毁灭战士》移植到了一个独立的Microsoft Word文档中。</p><p>➁ 这个6.6MB大小的文档可以在安装了现代Microsoft Office系统的x86系统上运行。</p><p>➂ 尽管游戏已经成功移植,但目前游戏中没有声音,用户需要绕过安全警告才能启用文档中的VBA宏。</p><p>➀ A software engineer named Wojciech Graj has successfully ported the classic game Doom into a standalone Microsoft Word document.</p><p>➁ The document, which is 6.6MB in size, can be run on x86 systems with modern Microsoft Office installations.</p><p>➂ 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.</p>
在最近的一次创新中,一位名叫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)。