Regarding the choice of prboom

Dear libretro devs,

I have just found out about your project on the [1] page and found the concept of your project very appealing.

However, I have seen that you rely on prboom for playing DOOM-style games, which I find a rather questionable choice. Prboom is a discontinued source port which has seen its latest activity in about 2009. It has its own bugs and glitches which will probably never get fixed, because the project is practically dead upstream. Its semi-official successor is called prboom-plus [2], which has many of prboom’s bugs fixed and is now a project of its own. The codebase has since become quite a lot more complex and the focus of that port is more shifted towards speed-running and demo compatibility with even the most exotic other source ports of the past.

Thus, I’d like to recommend to rebase the port for DOOM-style games on cocolate-doom [3]. This is a very portable and actively developed source port that aims to be a perfect replica of the original DOOM.EXE. As such, it does not support any of the BOOM-features that some of the later community extensions rely on. If you do not want to lose these features, I would like to recommend WinMBF [4]. This is a clean SDL port of MBF (Marine’s Best Friend) 2.03, the successor of the original BOOM.EXE 2.02. Unfortunately, that project is also dead upstream, but just like chocolate-doom it has achieved its goal to mimic the behaviour of a certain fixed DOOM executable of the past, that is often consulted as a reference among mappers and content creators.

Thank you very much for considering!

  • Fabian

[1] https://wiki.gnome.org/Design/Playground/Games [2] http://prboom-plus.sourceforge.net/ [3] http://www.chocolate-doom.org/wiki/index.php/Chocolate_Doom [4] http://mancubus.net/svn/winmbf/

I think a new libretro doom port is a fantastic idea, however, I do not think chocolate doom or prboom-plus would be the best fit for one very large reason: Demos would not be compatible.

When the libretro team ported in prboom they changed the gametic functions from running 35FPS to 60FPS to make the core consistent with the way libretro works, unfortunately this means that no demos can be played back and that, strictly speaking, its not even really “prboom”. When I heard this I cringed a little, being a huge fan of DooM and an avid follower of the multitude of source ports out there(I’ve even contributed to 4 of them), but I don’t blame the libretro team for not knowing or caring about this. Most people use ZDoom anyway which is about as far as an engine can be from Doom while still playing Doom. Only purists like me notice.

Personally, I think an Eternity Engine port to libretro with an internal gametic of 35FPS but with interpolation enabled for video would be perfect. I have been considering writing the port myself after I get a few higher-priority projects off my list(for instance, how would you feel about Doom64EX being ported to libretro?)

If a prboom-plus libretro port were attempted I would be very pleasantly surprised, however if the gametics are bumped up to 60FPS again I think it would be a complete waste, and contrary to the actual goals of prboom-plus(which are demo compatibility and speed running)

Prboom-plus can drive the display with an uncapped framerate and still has 35 hard-coded gametics. I am not sure if EE is also also able to do this, but it would be another (maybe even obvious) choice between WinMBF and prboom-plus. However, I still think DOOM should be as much DOOM as possible and thus favour chocolate above any other port.

How about ZDoom/GZDoom? It supports demos, and it’s also one of the most extensebily used sourceports thanks to the modding community.

While this is true, the ZDoom license (or better, the combination of licenses of the parts that ZDoom is composed of) is widely considered problematic: http://zdoom.org/wiki/license