Doom was written to make it easy to port to other platforms from the start. You basically only need to write a handful of platform specific functions and then compile the code on the new platform and you're done. It's fundamentally the same whether you port it to OpenBSD, WebAssembly, or a washing machine.