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.
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.
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.
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 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 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.
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.
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 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:
- We offer our own set of WADs for Quake, sorted by the texture themes the game uses. A large number of these textures never made it into the final game, most notably the aztec theme, and even more come from Quake's two expansions.(Note that these have been renamed and sorted and will not load up existing maps properly. Always check to see if the map you're trying to edit comes with a WAD and use that.)
- If you want everything in a single WAD instead, you can download ours here.
- An equivalent WAD for Hexen II mappers can be downloaded here.
- Quaddicted offers a large section of WADs, both fan-made and official, in case you'd like more textures.
As for editing and managing the textures in those WADs, however:
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.
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.
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.)
Useful links and communities
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:
- func_msgboard is a forum of hobbyist mappers and level designers looking to share work, releases, and get help from others. It's a prominent site in the community and worth poking around.
- Quaddicted is best known as an extensive singleplayer map archive with archives for source ports, WADs, and other such downloads, though forums are also available. If you wanna publish a map, Quaddicted will probably take it.
- The QuakeOne forums are pretty generally about Quake, but modders and mappers get their own section to show off and chatter nonetheless.
- Quake Wiki is a standalone wiki filled with information about Quake, getting it to work, modding it, troubleshooting it, and so on. Well worth a look and maybe even an edit, if you're so inclined.
- InsideQC is another set of forums, this one with a heavy focus on QuakeC. If you're a coder type, check it out.
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.