Description
Getting started with Doom mods is really intimidating, you have to learn what a source port is, what IWADs and PWADs are, research which of the many source ports is the one you want, etc. DoomLauncher could be easier to use for beginners and casual users, imho.
GZDoom seems to be pretty much the default source port, it is super powerful, can play most everything, and many of the top Cacoward-winning wads are GZDoom only.
Why not auto-download GZDoom on startup, and maintain an internal "managed" copy? In combination with the Steam wad auto-loading, this means that beginners can get up and running straight away without having to absorb all the esoteric modding lingo.
Advanced users can still just add their own source ports as usual.
How:
- The GZDoom download is available from Github. It's about 21MB
- You can automatically get the latest version from https://github.com/ZDoom/gzdoom/releases/latest/download/gzdoom-4-13-0-windows.zip (This is a Github Releases feature)
- Put it in the CheckFirstInit() method
Considerations:
- Currently the only place DoomLauncher downloads stuff from is idgames, which is considered to be a dependendable, stable resource in the Doom community. Downloading things from the internet - especially a source port that has an EXE file that we will be running - is a security concern. That said, if Github gets popped the whole world is in trouble, so maybe that's ok.
- Should DoomLauncher periodically check Github for the latest version and keep the internally maintained GZDoom up to date? We can do a HEAD request to the above URL, the "Location" header tells you what "latest" resolves to.