A Slightly Condensed Genealogy of DOOM Source Ports
By James 'Quasar' Haley
Lead Programmer, Team Eternity
Team TNT Goes BOOM
As already mentioned, most modern ports stem from the v0.2 release of
DosDOOM. The largest and most organized effort to stem from this port was Team
TNT's BOOM engine. Headed by Ty Halderman, staffed with at least half a
dozen programmers including Lee Killough and Jim Flynn, and including well-
organized beta-testing and mapping teams, the BOOM Team was by all standards
the Microsoft of DOOM port development. BOOM's primary purpose was to fix as
many bugs in DOOM and remove as many of the engine's limits as was practically
possible. In only a few months of work, notorious problems such as visplane
overflow, a limit on sidedefs in view, a limit on sprites in view, a savegame
buffer limit, and many, many more were utterly eliminated. But this was not
all. The BOOM team also managed to seamlessly integrate dozens of new, highly-
sought after editing features, and squeezed almost every last bit out of the
WAD level format to allow for thousands of generalized line triggers and
sector types. Lee Killough also dedicated much of his time to optimizing the
DOOM engine. One of his modifications to the WAD code actually improved the
speed of the game over 300%.
As mentioned earlier, changes made to DOOM in both the original Linux
porting process as well as during Bernd Kreimeier's editing had left a number
of problems in the source, especially for demo and map compatibility.
Although it was unknown to the community for several years, it was later
revealed that John Carmack gave the BOOM team limited, temporary access to the
original DOS DOOM source, in part to help remedy these problems. So BOOM is
actually a hybrid between DosDOOM v0.2 and the original MS-DOS DOOM source.
This huge effort resulted in a very popular source port, and the new
BOOM editing features swiftly started to become a de facto standard. A port
might have tons of cool stuff, but if it didn't implement BOOM editing
features, people probably weren't editing for it at the time.
Unfortunately, the BOOM team began to shatter after the v2.01 release
of their engine, largely due to tension between Ty Halderman and Lee Killough,
some of which is permanently recorded in the changelogs and CVS log entries in
the BOOM source code. The fabled Phase II of the engine, which was to include
features such as 3D mapthing clipping, scripting, and possibly even room-over-
room, would never come to be.
Meanwhile, as BOOM was developing, many other source ports were also
beginning to bloom. Chief amongst them was DosDOOM itself, now backed up by
its own dedicated team. DosDOOM headed in a different direction than BOOM,
and focused largely on gameplay enhancements. It had many wacky features like
making zombies randomly explode (an idea taken from the DOOM instruction manual,
where it says that people who went through the portals would suffer "random
full-body explosion" later on). It was also far ahead of its day with features
like mouselook and jumping. DosDOOM was initially very popular, and it rivaled
BOOM for size of user base at its height. However, it began to decline rapidly
thereafter, with some versions suffering severe usability problems.
DOOM Legacy also emerged immediately after the release of DosDOOM v0.2.
Its development was parallel with that of DosDOOM, and the two ports cooperated
to some extent at times. Legacy's primary goals in the beginning seemed to
have been very much like BOOM's -- providing a stable and compatible DOOM
engine. Boris of the DOOM Legacy team even mentions a high v1.9 demo compatibility
rate in his changelog. Slowly, however, Legacy shifted along with
DosDOOM toward a more modern-feature-oriented strategy. Despite their common
goals, though, the two ports fell into disagreement, and there was at least
one infamous flaming incident between their authors.
JDS, and an OGRE in Our Midst
Once the decline of DosDOOM was well underway, Ty Halderman made a
couple of interesting proposals to try to save both source ports. A merger
was to occur between DosDOOM and BOOM. Many people were very outspoken about
this on both sides of the issue. Also, Ty tried to found a community-driven
committee called the Joint Doom Standards group, or JDS. This idea was widely
supported and hailed as a necessity to maintain coherence in DOOM editors and
maps, and was supported by former members of the BOOM team, DosDOOM, and
DOOM Legacy. Unfortunately, it didn't manage to get on its feet.
Nor did the merger between DosDOOM and BOOM, which became a project
known as OGRE, or Open Gaming Resource Engine. OGRE was to be a DOOM-
compatible, but totally general, 3D game engine. A membership list was
started, which at its height contained several hundred names, including John
Carmack himself. The project started out with a noble idea and a lot of
posturing, but quickly burned out. Once the website had not been updated for
two or three months, everyone knew that the effort was dead. DOOM source port
unification would never occur.
Back | To Part 2