Valve Developer Union

The VDU Starter Kit for Quake and Hexen II Modding

(Unreleased, slated for May 27, 2018)


Modder support for Quake hasn't wavered since its release in 1996, and in that time, there have been a lot of tools and utilities written to make new levels and custom content easier and quicker. For a new mapper, it's difficult figuring out which to use and which ones to skip over. This guide has been written in the interests of supplying you with the best, most up-to-date tools for modding Quake and the closely-related Hexen II.

Before we begin, keep in mind that a full version of the game is required to make levels for it. Even if you get yourself a set of textures and you set up the shareware release with your source port, you won't be able to play your levels or use all of the game's monsters and assets. If you need Quake, you can get it from Steam or from GOG.com. If you're mapping for Hexen II, look here for a Steam copy.

Source ports

The original executables for Quake and Hexen II are rather poor choices for playing the games nowadays. Fans have since built far newer custom versions of each game's source code. These are known as source ports, and they run better, look better, and often support more features than the original builds of the game, such as custom soundtracks. Even if you're not building new levels, a source port is a nice way to upgrade your experience.

Most currently-developed ports support Windows, MacOS, and Linux, including the ones listed below.

Recommendations: Mark V or QuakeSpasm for Quake, Hammer of Thyrion for Hexen II

For Quake, your options are numerous, and it really depends what you might want out of your game, your maps, and what will run best on your system. The most popular port is QuakeSpasm, which looks faithful to the original game, runs in OpenGL, supports Linux, Windows, and MacOS, and can run even the largest maps the community releases. This is a solid, all-around, no-setup choice.

Mark V, showing the DM4Jam map select running in the software renderer
Mark V, showing the DM4Jam map select running in the software renderer

If you have a lower-end system, consider Mark V. It's very similar to QuakeSpasm, but Mark V also contains a variety of user-friendly features, such as a built-in Quaddicted injector (using the install command), a level select GUI, built-in AVI capture, and your choice of renderers: a DirectX renderer (for Windows) and a software renderer (all platforms). The DirectX renderer will work best on integrated and low-end video cards, and the software renderer is the most faithful looking, rendering Quake in all its chunky glory. You'll be missing out on colored lighting and fog if you use it, however. If you're running a lower-end system or want to experiment with another engine, Mark V is excellent.

For Hexen II, your options are more limited (and no, a Quake engine won't work with it). Luckily, the most prominent choice, Hammer of Thyrion, is a faithful OpenGL engine that supports a wide variety of platforms and patches many of the original game's bugs.

Level editors

Of course, you'll need something that'll let you build levels. All Quake level editors are also up to the task of building levels for Hexen II.

Recommendations: J.A.C.K. or TrenchBroom

With Quake, there's no shortage of level editors to try, but hands down the easiest to set up and use on modern computers are J.A.C.K. and TrenchBroom. J.A.C.K. is a 64-bit remake of the classic Worldcraft editor, and if you're accustomed to that or Valve's Hammer Editor, you'll feel right at home with J.A.C.K. J.A.C.K. is only available for Windows and Linux, however.

TrenchBroom overlooking DM3
TrenchBroom overlooking DM3

TrenchBroom takes a different approach, allowing you to draw out, scale, and edit brushes in 3D. It's updated more often than J.A.C.K. and can be easier to pick up and use, especially for new mappers, though it does not come with compilers, so you'll need to source out your own. For MacOS mappers, TrenchBroom is a given.

Ultimately, both are great choices and popular among mappers. Try both, or choose whichever you think looks better.

Compilers

Compilers are sets of command-line utilities that process and build a map source into something that can be played in-game. Each one does something different; the traditional set of compilers for Quake and Hexen II include a BSP processor for building geometry and placing entities, a VIS tool for speeding up map rendering, and a LIGHT tool for calculating and generating lightmaps. You'll need to run all three to get a map performing as intended.

Recommendation: ericw-tools

An example of the type of lighting only ericw-tools is capable of
An example of the type of lighting only ericw-tools is capable of

ericw-tools is a great, modern set of compilers that supports both Quake and Hexen II. It stays compatible with the original version of the games while also allowing for the enhancements of certain source ports, such as Quakespasm's large level support. Its most notable features are its enhanced lighting capabilities, which are handily demonstrated on the official website. It's in active development and is available for all major platforms.

Archive viewers

Sometimes, you just need to crack open the game's files and peek in for yourself. Quake, Quake II, and Hexen II use PAK archives to store their game files, and to open them up, you'll need a special tool to get in.

PakScape

Recommendation: PakScape

PakScape is a rather simple tool, but it's effective. It can open the archives of all three Quake games, plus Hexen II, play sounds embedded in the archive, and doubles as a viewer and extractor for ZIP files. Unlike the similar PakExplorer, PakScape won't choke if another program is using the archive file, giving it an edge.

Textures and texture managers

Textures in Quake and Hexen II are stored in packs called WADs. These are similar but not identical to the WADs used by Doom. WADs are what you load into your editor in order to texture your level.

Unfortunately, neither game comes with any WADs, as WADs aren't directly used by the game. Instead:

As for editing and managing the textures in those WADs, however:

Recommendations: Wally and AdQuedit

Wally being used to browse Deathmatch Classic textures
Wally being used to browse Deathmatch Classic textures

Wally is a level designer mainstay for a reason; it supports a ton of texture formats, is comfortable and easy to use, manages WADs and palettes with ease, and is the only tool able to read and write both Quake's WAD format and Half-Life's WAD format. It also has some neat image editing functions built in, if you want to touch up textures or draw on them with the spray tool.

AdQuedit is a lesser-known program, but is just as capable. Even past its frontend facade, AdQuedit is good for editing graphics lumps, model skins, WADs, textures in BSPs, and even editing the properties of entities. All of these make AdQuedit a strong and unique contender.

Code utilities

Quake uses an interpreted scripting language known as QuakeC that can be used to build new weapons, monsters, change major mechanics of the game, and build entirely new mods. Naturally, you'll need something that can build your raw QuakeC sources into a progs.dat usable by the game engine.

FTE

Recommendation: The FTE QuakeC compiler

FTE is a source port that we neglected to mention above because of its complexity; it's a hybrid QuakeWorld-NetQuake engine, supporting levels from all three Quake games, Hexen II, its own set of mods, in-game VOIP and IRC, IPV6 support, HD textures and particles, real-time lighting, large levels, and whole lot else. For players who want an all-in-one client, it's immaculate, but it's also overwhelming and a bit bloated.

FTE's QuakeC compiler, on the other hand, is useful no matter what engine you're using. Coming with its own development suite, FTEQCC is far more robust than the stock id QuakeC compiler. Pointers, structs, and classes are supported, an integrated debugger (provided you're using FTE) lets you step through your code line-by-line, and the files it spits out are fully supported by the original game and any other engine. (It can also compile HexenC, if you happen to be working with that.)

You've got your tools, but who can you go to for help? The Quake community is alive and well, and if you wanna know where to find it, try the following:

What you can do with these two games is generally limited only by your imagination and creativity. Hopefully, these recommendations make it a little easier to get started.