One of the most inspiring things about my teen years was seeing games made in the engine of other games. To find out that a game ‘ran on’ the inner mechanics of another said to me a very simple thing; that someone else can do all the hard work and let me personally focus on the more creative aspects, the things I as an individual are better suited to.
id Software have essentially made this half their career over the years. Even as far back as Wolfenstein 3D being used for the more involved Blake Stone games, it’s not been unusual for quite a while now to see their tech being used by other developers to make games that often expanded upon the original engine-game’s scope. The industry-changing Half-Life, was coded on a variant of the Quake engine, for example.
In this post, I shall talk about the Doom engine and what it can do for you.
Back in the ’90s there were a few games officially-licensed to use the Doom engine, nowadays known as ‘id Tech 1’. Ranging from the mere reskin that was (the admittedly-enjoyable) Chex Quest to more complex script-focused titles such as Hexen or Strife, it showed that id’s tech could be utilised to give the player more than just the stock Doom experience.
In 1997, the source code to Doom was released and by 2000 things had started to go a bit nuts on that front. An entity known as the ‘source port’ was the talk of the revitalised Doom modding scene. In a nutshell, a source port is a user fork of the original source, many of which add new features; from simply being more compatible with modern operating systems (Chocolate Doom) to 3D floors and expanded editing features (EDGE, Doom Legacy) to full 3D model support with relatively-modern rendering effects (Doomsday, Risen 3D).
MANY OF THESE SOURCE PORTS LICENSES ALLOW MODIFICATION AND RESALE, TOO.
What this means is, it is totally possible to make a game in the engine and eventually sell it. A thing I am actually intending to do with my own Doom-engine game, SLaVE.
Here’s how to get to work making your very own game in the idTech1 engine.
STEP 1 – GET DOOM!
Yes, that’s right. Get Doom. I’m not going to insist that you should play it a bunch as a pre-requisite (although some familiarity with the engine ‘feel’ and attributes, though you may end up editing these in the end, may help) but you’re going to need Doom in order to run any of those source ports.
FreeDoom is a collaborative free datafile (the .wad format the engine uses for game assets) that is compatible with most source ports, whose purpose seems to be to provide a completely-free (as in both ‘gratis’ or no-cost, and as in ‘liberty’ or all-rights) alternative to Doom itself. If you’re penniless to the extent that you can’t even afford the Steam version, this is going to be your friend.
Once you’ve got Free/Doom, it’s on to the next step.
STEP 2 – CHOOSE YOUR WEAPON, OR SOURCE PORT
Whether you got Doom from Steam or plumped for FreeDoom, you’re going to need an engine to use; FreeDoom doesn’t come with one (the idea being, you choose your own) and Doom itself may require some trickery and arcane rituals to summon to life. This is not ideal for you, nor will it be ideal for anyone who wants your game when you’ve made it.
Luckily, the Doom Wiki has a pretty comprehensive list of your options. This may look incredibly daunting, but in most cases you can choose an engine and stick with it fair enough.
Be sure though, to do a little digging on each considered source port’s page if you’re intending to eventually sell the game you make. Not all licenses will allow this, as some ports use code from elsewhere (famously, ZDoom accrued a fair bit of BUILD – the engine used for Duke Nukem 3D – code in its repertoire over time).
You’ve got the assets, and the engine. Now…
STEP 3 – BUILD SOME DOOM WITH DOOM BUILDER
Simply put, Doom Builder is the kind of tool I wish I had in the early 2000’s when I personally started creating maps. Intuitive, with a 3D preview mode, and a comprehensive set of tutorials online.
It’s going to be incredibly important to know the engine you’re dealing with, and the best way to do this is simply to make some levels with the stock Free/Doom resources. You may like or dislike Doom itself, but this is an important step; you don’t have to leap straight into creating assets of any kind for the engine to test out its capabilities and get a feel, there’s an entire game worth of assets there for you.
This is a step I wouldn’t advise skipping, even before SLaVE was a thing I was making maps for the engine.
Also important: start small. It’s a common newbie-mistake in the Doom modding scene to explode into activity and announce “I’m going to make a whole 32-map replacement for Doom II!”, before falling roughly 30 maps short of this target and burning out. Make one map. If that was fun and/or you’d like to lean more, make a small episode of three. Then maybe seven. As long as it takes for you to know for sure that you could probably use this engine to do That Thing You Want To Do.
And when you can make this baby sing with the default assets…
STEP 4 – INTRODUCE NEW FRIENDS TO DOOM
Not literal ‘friends’ as in people. But new things the engine hasn’t yet seen. You’re probably familiar enough with Doom Builder by now, so it’s time to meet another program who will help you achieve your lofty goal of making an idTech1 game, SLADE.
This program will help you manage all the data ‘lumps’ (honestly, that’s the official name for such structures) within the .wad file, and add… whatever. Graphics, sounds, whatever your source port allows really. Drawn a texture in MSPaint or GIMP or AeSprite or something? No problem, slap a .png or .jpg in there!
If, that is, your engine supports them; if not, SLADE can convert to Doom’s native format – the same goes with sound effects too! There are a few engine-specific kinks, but nothing the Doom Wiki or even the still-active community over at DoomWorld can’t help with.
As for what you can introduce to the engine, modders over the years have been very creative with the engine; even before source ports!
STEP 5 – GO FURTHER
Of course, this is only the most basic of guides and only fleetingly mentioning anything along the way. The best course of action would be to get stuck right in and feel around for yourself. After all, some amazing things can be done further down the line with the engine:
From an engine whose original form dates back to 1993, some spectacular and crazy things are now possible. Obviously this is going to be a combination of scripting, 3D modeling, texturing and sound design not covered in this basic article. But remember that practise and learning will eventually morph every clumsy stumble and baby step into sprints, leaps and dances.