DooM-docm:将《毁灭战士》移植到Word文档

荷兰软件工程师Wojciech Graj最近完成了一项令人称奇的技术壮举——将经典的射击游戏《毁灭战士》成功移植到了一个独立的Word文档中。这个6.6MB大小的.docm文件不仅可以在安装了现代版Microsoft Office/Word的x86计算机系统上运行,而且为复古游戏玩家提供了一个全新的体验平台。

移植背景与灵感来源

Graj的灵感来源于之前的一个项目DoomPDF,而DoomPDF本身则是受到了Pdftris(在PDF中运行俄罗斯方块)的启发。不同于之前的尝试,基于Word版本的《毁灭战士》提供了更接近原版的游戏体验,包括相似的图形效果和流畅的游戏性能。

DooM-docm:将《毁灭战士》移植到Word文档插图

技术细节

  • 实现方式:此项目利用了Word文档中的VBA宏功能,通过包含doomgeneric_docm.dll库以及以base64编码的游戏数据文件doom1.wad来实现。当打开文档时,VBA宏会解码这些数据并加载游戏。
  • 游戏运行机制:为了维持游戏的响应速度,每次游戏循环都会生成当前帧的位图图像,并使用GetAsyncKeyState函数读取键盘输入状态。这可能是导致视口相对较小的原因之一,保持原始分辨率320×200左右以确保流畅性。
  • 操作说明:玩家可以使用箭头键移动角色,Control键用于射击,Space键进行互动,数字键1至7用于切换武器。需要注意的是,此版本的游戏不支持音频输出。

实际测试与兼容性问题

尽管官方声称该文档可以在装有现代版Office/Word的系统上正常运行,但在某些旧版本如Word 2007上可能会遇到兼容性问题。即使接受了关于宏的安全警告,仍可能由于缺少必要的组件而导致无法启动游戏。

还有一点需要提醒,此文件类型不明,会被Windows安全中心报毒。

DooM-docm:将《毁灭战士》移植到Word文档插图1

评论