Difference between revisions of "Comparison of source ports"

From DoomWiki.org

[checked revision][checked revision]
(Comparison by compatibility: Some explanation of the compatibility levels. Feel free to revise and refine if there is disagreement or does not match exactly with the chart (maybe some ports need to be revised))
m (Comparison by compatibility: Extra word)
Line 169: Line 169:
 
==Comparison by compatibility==
 
==Comparison by compatibility==
 
Compatibility is judged primarily by the extent to which a source port supports [[vanilla]] gameplay behavior including the original quirks and bugs of the respective games, behavior of maps even when those maps are erroneously constructed, and [[demo]] compatibility. While the scale used is somewhat subjective, a rough guideline is as follows:
 
Compatibility is judged primarily by the extent to which a source port supports [[vanilla]] gameplay behavior including the original quirks and bugs of the respective games, behavior of maps even when those maps are erroneously constructed, and [[demo]] compatibility. While the scale used is somewhat subjective, a rough guideline is as follows:
* ''Very High'' compatibility is reserved for ports which perform partial emulation of a DOS machine's address space, behavior of x86-specific mathematical or logical operations, and overflow emulation based on reverse engineering of the segment layouts of the original games' executable files in order to attain as close to 100% compatibility as is possible. Almost all known vanilla demos are sync, and the port will be adjusted if one is found which does not.
+
* ''Very High'' compatibility is reserved for ports which perform partial emulation of a DOS machine's address space, behavior of x86-specific mathematical or logical operations, and overflow emulation based on reverse engineering of the segment layouts of the original games' executable files in order to attain as close to 100% compatibility as is possible. Almost all known vanilla demos sync, and the port will be adjusted if one is found which does not.
 
* ''High'' indicates that the port is very compatible, but does not go as far as those ports in the ''Very High'' category in emulation of the original games' bugs. Vanilla demo support is in the range of good to excellent.
 
* ''High'' indicates that the port is very compatible, but does not go as far as those ports in the ''Very High'' category in emulation of the original games' bugs. Vanilla demo support is in the range of good to excellent.
 
* ''Average'' indicates that the port plays very closely to the originals, but unconditionally fixes most bugs and may make aesthetic compromises for more enjoyable play. Virtually all modifications for the original games still function as intended by their authors with ports in this category. Vanilla demo support is unlikely.
 
* ''Average'' indicates that the port plays very closely to the originals, but unconditionally fixes most bugs and may make aesthetic compromises for more enjoyable play. Virtually all modifications for the original games still function as intended by their authors with ports in this category. Vanilla demo support is unlikely.

Revision as of 13:10, 12 November 2014

Below is a rough comparison of the source ports that are currently most popular.

Comparison by general information

Name Latest version Latest release date (yyyy-mm-dd) Origin
Chocolate Doom 3.0.1 2020-06-25 (3 years ago) Doom/Heretic/Hexen source code
Crispy Doom 6.0 2023-03-31 (11 months ago) Chocolate Doom
Doomsday 2.3.1 2021-02-04 (3 years ago) Doom/Heretic/Hexen source code
Doom Legacy 1.48.14 2023-12-29 (2 months ago) DOSDoom
Doom Retro 5.3 2024-03-03 (25 days ago) Chocolate Doom
3DGE 3DGE/Version EDGE
Eternity 4.02.00 2021-01-27 (3 years ago) SMMU
GZDoom 4.11.3 2023-10-26 (4 months ago) ZDoom
Odamex 10.4.0 2023-08-10 (7 months ago) ZDoom 1.22 via csDoom
PrBoom+ 2.6.66 2023-06-20 (9 months ago) PrBoom
ReMooD 0.9a 2016-08-23 (7 years ago) Doom Legacy
Risen3D 2.2.35 2021-12-17 (2 years ago) Doomsday
Zandronum 3.1 2021-12-13 (2 years ago) ZDoom and GZDoom via Skulltag
ZDaemon 1.10.24 2023-11-21 (4 months ago) ZDoom 1.22 via csDoom
ZDoom 2.8.1 2016-02-22 (8 years ago) Doom/Heretic/Hexen source code
Name Latest version Latest release date (yyyy-mm-dd) Origin

Comparison by license, platform and supported games

Note that the "Games supported" list below refers to the latest versions of the games. Earlier versions may not function correctly or at all. The latest versions of the games are: Doom games v1.9, Heretic v1.3, Hexen v1.1, Strife v1.31 and Hacx v1.2. There is only one version of Chex Quest 1. Patches for upgrading old versions are listed in the game patch article.

Also note that the Chex Quest column below refers to Chex Quest 1 and not 2 or 3.

OS availability Games supported
Name License Windows Linux MacOS Chex Doom Heretic Hexen Strife Hacx
Chocolate Doom GPL Yes Yes Yes Yes Yes Yes Yes Yes Yes
Crispy Doom GPL Yes Yes Yes Yes Yes Yes Yes Yes Yes
Doomsday GPL Yes Yes Yes Yes Yes Yes Yes - Yes
Doom Legacy GPL, DSL (via Heretic) Yes Yes Yes Partial Yes Yes C++[1] - -
Doom Retro GPL Yes - - Yes Yes - - - -
3DGE GPL Yes Yes Yes Yes Yes WIP - - Yes
Eternity GPL Yes Yes Yes - Yes WIP WIP WIP Yes
GZDoom DSL (open), BSD, Build Yes Yes WIP Yes Yes Yes Yes Yes Yes
Odamex GPL Yes Yes Yes Yes Yes Planned - - -
PrBoom+ GPL Yes Yes Yes Yes[2] Yes - - - Yes[2]
ReMooD GPL Yes Yes Yes Partial Yes Planned Planned - -
Risen3D GPL Yes - - - Yes - - - -
Zandronum DSL, custom Yes Yes Yes WIP Yes Yes Yes Yes -
ZDaemon DSL (closed) Yes Server Yes - Yes Yes Partial - -
ZDoom DSL (open), BSD, Build Yes Yes Yes Yes Yes Yes Yes Yes Yes
Name License Windows Linux MacOS Chex Doom Heretic Hexen Strife Hacx
OS availability Games supported

Comparison by features

Special features
Name Multiplayer Renderer Uncapped framerate Limit-removing Console Custom content Map Scripting
Chocolate Doom C/S Software No - - - None
Doomsday C/S OpenGL Yes Yes Yes DED InFine, XG
Doom Legacy C/S Software, OpenGL  ? Yes Yes - FraggleScript
Doom Retro - Software No Yes - - None
3DGE Local only (splitscreen) OpenGL Yes Yes Yes DDF, COAL RTS
Eternity (W)LAN Software Yes Yes Yes EDF ACS
GZDoom (W)LAN Software, OpenGL Yes Yes Yes DECORATE ACS, FraggleScript
Odamex C/S Software Yes Yes Yes Yes ACS
PrBoom+ P2P Software, OpenGL Yes Yes - - None
ReMooD Local only (0.8a), C/S (1.0a) Software No Yes Yes REMOODAT FS, RS
Risen3D Local only OpenGL, Direct3D Yes Yes Yes DED SCP, InFine
Zandronum C/S Software, OpenGL Yes Yes Yes DECORATE ACS
ZDaemon C/S Software Yes Yes Yes DEHSUPP ACS
ZDoom P2P Software Yes Yes Yes DECORATE ACS, FraggleScript
Name Multiplayer Renderer Uncapped framerate Limit-removing Console Custom content Map Scripting
Special features

Comparison by compatibility

Compatibility is judged primarily by the extent to which a source port supports vanilla gameplay behavior including the original quirks and bugs of the respective games, behavior of maps even when those maps are erroneously constructed, and demo compatibility. While the scale used is somewhat subjective, a rough guideline is as follows:

  • Very High compatibility is reserved for ports which perform partial emulation of a DOS machine's address space, behavior of x86-specific mathematical or logical operations, and overflow emulation based on reverse engineering of the segment layouts of the original games' executable files in order to attain as close to 100% compatibility as is possible. Almost all known vanilla demos sync, and the port will be adjusted if one is found which does not.
  • High indicates that the port is very compatible, but does not go as far as those ports in the Very High category in emulation of the original games' bugs. Vanilla demo support is in the range of good to excellent.
  • Average indicates that the port plays very closely to the originals, but unconditionally fixes most bugs and may make aesthetic compromises for more enjoyable play. Virtually all modifications for the original games still function as intended by their authors with ports in this category. Vanilla demo support is unlikely.
  • Low indicates that the port makes significant changes to gameplay and presentation. Some vanilla-targeted modifications may not work as intended. Demo support beyond the individual port's format is usually not present to any extent.
  • Very low indicates that there is little to no consideration given to compatibility in any category.
Name Vanilla Doom
accuracy
Vanilla Heretic
accuracy
Vanilla Hexen
accuracy
Vanilla Strife
accuracy
Boom-
compatible
Demo format
Chocolate Doom Very high Very high Very high Very high - Doom 1.9
Crispy Doom Very high Very high Very high Very high Yes Doom 1.9
Doomsday Average High High - Partial Own
Doom Legacy Very low - - - Partial
Doom Retro Low - - - - None
3DGE Low Very low - - Yes None
Eternity High Average - - Yes Own, Doom 1.9 and Boom 2.02 (experimental)
GZDoom Low Low Low Low Mostly Own
Odamex High - - - Mostly
PrBoom+ Very high - - - Yes Doom 1.2, 1.9, Boom 2.02, own, misc[3]
ReMooD Average Exists - - Partial Doom 1.9 (1.0a), Doom Legacy (1.0a), Own (1.0a)
Risen3D Average - - - Mostly Own
Zandronum Low Low Low Low Mostly Own
ZDaemon Average Average Very low - Mostly Own
ZDoom Low Low Low Low Mostly Own
Name Vanilla Doom
accuracy
Vanilla Heretic
accuracy
Vanilla Hexen
accuracy
Vanilla Strife
accuracy
Boom-
compatible
Demo format

Notes

  1. Only the defunct Doom Legacy C++ version supports native Hexen.
  2. 2.0 2.1 Since version 2.5.1.4.test (change log)
  3. Historical demo compatibility is a main feature of PrBoom+, it also features support for Doom 1.666, DOSDoom, Boom 2.01, MBF, LxDoom, and earlier versions of PrBoom