A Slightly Condensed Genealogy of DOOM Source Ports
By James 'Quasar' Haley
Lead Programmer, Team Eternity
Evolution of Legacy
The DOOM Legacy port has persisted to the present day, and has steadily
become a stronger port. Under the guidance of Steven 'SoM' McGranahan, the
port added BOOM compatibility, allowing it to join the de facto editing
standard. It also acquired FraggleScript from SMMU, and boasts the distinction
of the first port to have translucent flat support. A bit later, an amazing,
although somewhat limited, implementation of 3D floors, or room-over-room, was
added by SoM.
DOOM Legacy was initially popular as a multiplayer port, but it has
since been eclipsed by the client-server descendents of ZDOOM -- ZDaemon and
The latest releases of DOOM Legacy have been less stable and less
compatible, leaving some formerly dedicated users wondering exactly where the
port is headed in the future. However, as with all ports, only time will tell
the story of this venerable port.
A Security Scandal
One of the first DOOM ports to feature fully usable client-server
networking over TCP/IP was csDoom, a port based on ZDOOM. It was very popular
for a while, almost completely dominating online play.
However, not too long into its development, a number of security flaws
and potential exploits were identified, some of which might have been placed
into the source intentionally. When one of these flaws was pointed out on the
Doomworld forums, a gross flame war erupted and proved to be one of the larger
controversies to visit the community in recent times. In the end, csDoom's
popularity was left diminished, and the port began to fade. It is now mostly
just a bad memory.
The New Client-Server Ports
As mentioned before, two relatively new client-server ports now
dominate most online DOOM play -- ZDaemon and Skulltag. Both are based on
Randy Heit's ZDOOM, but both take different approaches to their subject.
Skulltag is a particularly innovative port, possessing some of the
best bots available (or at least, it will again soon), and having several
new modes of play, fun new powerups and weapons, great deathmatch maps, and
some wacky characters.
The New Hardware Wave
Since the days of glDoom, OpenGL- and DirectX-based DOOM engines have
progressed an amazing amount. Features such as high-resolution textures, fully
dynamic lighting, and awesome texture effects are now standard.
There are three primary hardware ports in current circulation. The
first is ZDOOMGL, which has an interesting history. ZDOOMGL is not maintained
by Randy Heit, who only works on the software renderer in ZDOOM. There was a
ZDOOMGL quite a while ago, but it was rather slow and buggy, so it ended up
being abandoned. Now, a new project of the same name has taken over, using the
newest versions of ZDOOM as a base, and thus far results look positive.
The second OpenGL port is JDoom, which is part of the Doomsday suite of
Hexen-based game engines. It currently has the most featured OpenGL renderer,
and is considered by most to be the best-looking OpenGL DOOM port.
Vavoom is the third major hardware port, and it uses a Direct3D
renderer. It also boasts DOOM, Heretic, and Hexen support, and has numerous
gameplay and editing enhancements. However, it is considered slow by many
users, and JDoom seems to outperform it graphically for the most part.
On the Cutting EDGE
The final port we will discuss in this genealogy is EDGE, which stands
for Enhanced DOOM Gaming Engine. It was originally based on DosDOOM, and holds
the distinction of being (almost) the first publicly-released source port to
implement fully-functional 3D architecture (aka room-over-room) ***. It has a
form of scripting known as RTS, or radius trigger system, and it also possesses
the innovative DDF, or DOOM Definition Files, which removed all the static data
in the executable, such as things and frames, out into editable text scripts.
The Eternity Engine's new EDF language was inspired in part by DDF.
EDGE seems to be in trouble as of late, with fewer and fewer mods being
released, more complaints about its speed and stability problems, and rumors of
the author quitting. Again, only time will tell what is in store for EDGE.
Although EDGE is the first port with ROR to have been actively
maintained for a long period of time, Julian's rorDoom project, which was based
on BOOM, was actually the first port to achieve meaningful room-over-room
support. Unfortunately, rorDoom development was discontinued due to time