Can It Run Doom?
mario135790_, original port to WebAssembly made by diekmann
Introduction
Can your RPG Maker MV games run Doom? Apparently yes, they can.
RPG Maker MV (and MZ) games use NW.js, which itself is based on the Chromium browser engine and the Node.js runtime, both of which provide native support for WebAssembly. I didn't find anything related to anyone trying this, so I figured I would try. Turns out it is possible.
This uses diekmann's WebAssembly port. I chose this over heavier ports like Dwasm because it's stripped down, and I figured it would be much easier to inject into the RPG Maker engine without breaking a lot of stuff. Now, to be fair, I didn't even begin to try to get Dwasm working, but... if it works, it works.
I really need to emphasize this, I did pretty much none of the hard work, that was all diekmann. I just made the NW.js app start up the Doom engine and handle the inputs.
Features
For rendering, it uses a dedicated canvas overlaid on the game window.
The port has no native sound driver, so the plugin plays a BGM of your choice instead. You can configure the song name in the Plugin Manager (default: DoomBGM).
I also included a crash handler. If Doom crashes (which happens when trying to save/load or when exiting the game in the menu), it catches the error and returns you to the main game rather than killing the whole application.
Screenshots
How to Use
Pretty much plug and play. Drop the data and js folders into your project's root directory. Make sure doom.js, doom.wasm, and doom1.wad are located inside YourProject/data/doom/.
To play a different WAD, replace doom1.wad with your own WAD file, but keep the filename as doom1.wad so the engine recognizes it.
To start the game, use the PlayDoom plugin command.
I don't know if it requires updating NW.js, but I recommend doing it anyway.
Plugin Commands
PlayDoom: Starts Doom.
Terms and Credits
Honestly... doubt you would use this in your game but, there's no need for credit.
Major props to diekmann for his work back in 2021.
Disclaimer about AI usage:
AI was used for debugging and to polish the CSS to make the game canvas full screen. Everything else is hand made.
Download
itch.io
本贴来自国际rpgmaker官方论坛作者:mario135790_处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/but-can-it-run-doom.181785/