Intro to Doom Source Ports

This December will be the original Doom’s 25th birthday! Believe it or not, idSoftware launched the shareware version of their game on a university’s FTP server. I bet they never guessed their game would grow into the juggernaut it is today.

The Doom franchise might hold the number one spot for the most modded game of all time. However, I would’t say this was an accident. John Carmack’s feats in organization while programming the Doom engine enabled modders to slip right in and start manipulating files right away.

TeamTNT was a mega group of map makers former around late 1994 through Doom modder’s mailing list. The list was used for modders to get in contact with one another to share their work before picked up the slack. The team planned for a ‘MegaWad’ to be released freely, boasting over thirty new maps! In 1996, just before the mod’s release date approached, idSoftware contacted TeamTNT looking to purchase their megawad to be used in a stand-alone map compilation. Sure enough the team accepted and TNT: Evilution can be played today along with another another fan megawad, The Plutonia Experiment in Final Doom.

Side note: many fans were disappointed TeamTNT sold their mod. Personally, I’m glad their team had the chance to work with id and make some money while doing it!

In 1997, idSoftware released the SOURCE CODE for the Linux build of Doom to the public. Source code is almost always held privately by the developer as it’s a human readable look at how their game was made. In a 2005 forum post on SlashDot.org, John Carmack state his opinion on patenting software. “Yes, it is a legal tool that may help you against your competitors, but I’ll have no part of it. Its basically mugging someone.”

Less than a year after the source code was released, TeamTNT source ported and the engine back to DOS and made some improvements too, calling it the BOOM engine. Their design goal was to keep the Doom feel players were familiar with while fixing bugs, removing limitations and adding editing features for modders. Boom wasn’t the only source port available at that time, but it was arguably the best. TeamTNT ceased developing the Boom engine in October 1998 and released their source code a year later.

Despite Boom’s development coming to an end, the changes it made saw release saw the rise in source ports that set to accomplish more than ever thought possible. Higher resolutions were enable and AI got smarter, rooms could be stacked on top of each other, levels with multicolored lighting could be loaded in true 3D with mouse freelook, polygonal models replaced sprites and level editing tricks, the list continued to go grow and grow. The 1990’s indie game was as relevant in the new millennium as it was the week it came out.

If you’re looking to play singleplayer Doom or all of its subsequent mods now days, you’ll probably be running your wad on the GZDoom engine. The engine started as an OpenGL supported fork of the ZDoom engine back in 2005 and is still updated more frequently than one might expect. This is the engine I use the most as it works with just about every mod I’ve ever tried to run.

If multiplayer is your jam, it’d be worth checking out the ZDaemon engine. Imagine if Steam was way more rudimentary and focused exclusively on Doom multiplayer mods. You still have a friends list, text IRC for meeting other players and a library to boot up which ever mod you looked to play.

Truth be told though, I haven’t spent a lot of time playing Doom with a community larger than P2P LANs so I couldn’t give you the best advice. This topic would be worth coming back to as it appears Odamex is trying to come back into game to pick up where Zandronum has kind of died.

It’s worth noting that many many source ports of the Doom engine exists, all excelling in different areas. I actually found out about Doom back in 2006 after receiving an iPod Nano and modded it to support a Doom port. A Google search of, ‘Doom running on a’ and letting the autofill guide you on or check out the subreddit, r/itRunsDoom.

Follow @SheeshForreal on Twitter!

Leave a Reply

Your email address will not be published. Required fields are marked *