一位荷兰软件工程师将经典游戏《毁灭战士》移植到了一个独立的Word文档中。这个文件大小仅为6.6MB,可通过GitHub下载。它基于一个名为“doomgeneric”的开源项目,用户需要在x86架构的计算机上安装现代版本的Microsoft Office或Word,并忽略安全警告以启用文档中的VBA宏,才能运行游戏。
这位工程师名叫沃伊切赫·格拉杰,他从DoomPDF项目中获得灵感,进而将《毁灭战士》移植到Word文档。DoomPDF本身则是受到Pdftris项目的启发。从视频演示来看,这个版本的《毁灭战士》比之前的PDF版本更接近复古玩家的期望。游戏的画面与原作十分相似,运行速度也相当流畅。
不过,这并不是沃伊切赫·格拉杰第一次进行奇特的游戏移植。他此前还开发过多个有趣的《毁灭战士》项目,比如Doom-ascii(用ASCII字符显示的游戏版本)、在《星露谷物语》中运行的《毁灭战士》,以及在《我的世界》中的《毁灭战士》。
在这款基于Word的《毁灭战士》中,游戏通过文档内置的doomgeneric_docm.dll库和以Base 64编码的游戏数据文件doom1.wad来运行。打开文档后,VBA宏会自动提取数据并加载游戏。虽然游戏运行看起来很流畅,但背后的技术细节其实相当复杂。
据格拉杰介绍,游戏的每一帧都会生成一个BMP图像,并通过GetAsyncKeyState函数读取键盘输入。这可能是游戏视窗较小(原始分辨率为320×200像素)的原因,以确保游戏的响应速度。
玩家可以通过箭头键控制角色移动,使用Ctrl键射击,空格键用于交互,数字键1-7则用于切换武器。不过,目前这个版本的游戏没有加入音效。
我们在一台备用电脑上尝试运行了这个文件,但由于安装的是Word 2007版本,似乎缺少某些必要的组件,即使我们接受了宏的安全警告,游戏仍然无法正常运行。
如果你对这款独特的《毁灭战士》移植项目感兴趣,不妨深入了解一下沃伊切赫·格拉杰的其他作品。DooM in Microsoft Word