Quake Engines,
Old and New

A rough guide to the varieties of Quake. This is not a step-by-step recipe, but rather some info to help you decide what you want to do.

This guide is also hosted at the Steam community site: Quake Engines, Old and New
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address at the bottom of this page.

Table of Contents

Original Engines

When you install Quake from Steam, and you try to launch it, you will be given four options: Quake, QuakeWorld, GLQuake, or GLQuakeWorld. These are the four original Quake “engines” provided by id software. A Quake engine is just a program that can understand and use Quake game data files – it's a program you run in order to play Quake.

The engine that Steam just calls “Quake” is more usually known as “WinQuake”, because it is a version of Quake rewritten to use the Windows operating system rather than DOS. Just FYI in case you see references to WinQuake elsewhere.

Steam doesn't give you the original DOS Quake engine, but there's not really any reason to use the DOS version these days.

The motivation behind this variety of Quakes is that there are two major divisions in Quake technology: multiplayer protocol (NetQuake vs. QuakeWorld) and graphics rendering (software vs. OpenGL).

• Multiplayer

In Quake multiplayer as it was first released, the client (the player's computer) would tell the server what it wanted to do, the server would tell the client what happened as a result, and the client would then show those results. This is a straightforward arrangement, but it becomes frustrating when there is a long network delay between client and server. This delay made people observe that movement in the original Quake could feel like “ice skating”.

QuakeWorld was a dramatic revision of Quake that incorporated client-side prediction. The client was allowed to immediately show the results of player action; if it happened to be mistaken, the server could correct it later, causing the client to “jump” to comply with the correct state of the world. Client-side prediction makes QuakeWorld multiplayer feel more responsive, but the occasional correction from the server can make it seem more erratic or flaky than the original Quake (now sometimes called NetQuake, to differentiate it from QuakeWorld).

QuakeWorld also introduced some changes to player movement, most significantly allowing you to reach higher sustained speeds when strafejumping.

Over time many players eventually gravitated to QuakeWorld, but there are still multiplayer communities that prefer NetQuake.

• Rendering

Quake was originally released with a software renderer. An OpenGL renderer was added in a later release, providing hardware-accelerated graphics with texture filtering and other effects.

The OpenGL versions of NetQuake and QuakeWorld were very popular, to the point of single-handedly boosting the adoption of addon video cards like the 3dfx Voodoo. However they did change Quake's look: textures smoothed, lighting changed in certain ways, water and sky effects different, and rendered pixel colors (after applying texture filtering and lighting) no longer restricted to be exactly on the Quake palette. Not everyone was a fan of these changes, so the use of the software renderer didn't die out.

Quaddicted demonstrates some of the issues with some OpenGL Quake engines. As will be mentioned below, some of the modern engines make an effort to preserve the look of the original lighting/texturing.

• Pick and Mix

The four original Quake engines cover all the combinations of those variations:

  • Quake: NetQuake multiplayer, software renderer
  • GLQuake: NetQuake multiplayer, OpenGL renderer
  • QuakeWorld: QuakeWorld multiplayer, software renderer
  • GLQuakeWorld: QuakeWorld multiplayer, OpenGL renderer

Which one you choose depends on what style of multiplayer (if any) and graphics rendering you prefer. The content you wish to play can also drive your choice; for example, most singleplayer maps and mods are developed with NetQuake engines in mind rather than QuakeWorld. In fact, the original QuakeWorld engine cannot even play the out-of-the-box Quake singleplayer campaign; it's multiplayer only. Multiplayer mods may be made with either NetQuake or QuakeWorld in mind.

So it's handy to have all of these engine choices available.

Modern Engines: Basics

• Updated Quake

With the release of the Quake source code, enterprising developers started work on their own versions of Quake almost immediately. These new versions of Quake are generally focussed on bug fixing, increasing the limits on the number of things supported in a Quake map, tackling usability problems, supporting the use of other textures/models/sounds, and adding new visual effects.

Also many of these new engines can play music files in OGG and/or MP3 format. This is especially useful if you only own a digital download of Quake and you don't have the soundtrack as it was originally provided (music tracks on the Quake CD). If you can obtain the Quake soundtrack in OGG/MP3 format, then using a modern Quake engine you can once again hear it while you play. More details about soundtrack file support in this guide: Quake Soundtrack Solutions

There is very little reason to stick with the original Quake engines instead of using a modern engine. If you intend to play third-party content a modern engine may actually be required.

Each engine mentioned below has a long development history and many features, but I'm going to do my best to describe its intentions and “selling points” very briefly. There are also many other Quake engines out there, but I want to limit this section to those that are most widely used. If you're a superfan of a particular engine and notice that I've gotten something wrong, please let me know.

• Which Engines for What

The Quick Start section of the Quake Owner's Manual guide has some recommendations: Quake Owner's Manual

But if you want to really dig in and pick the best Quake engine for you, here's a few criteria to keep in mind:

  • QuakeSpasm, Fitzquake Mark V, DirectQ, and DarkPlaces are the most popular engines for playing singleplayer. The first three are intended to provide a classic GLQuake look (with some renderer bugfixes), while DarkPlaces is more about a modified/updated look. Engoo is another singleplayer engine that supports a range of looks from WinQuake-faithful to highly modified. qbism Super8 is an engine dedicated to a specific low-fi look. All of the engines described in this guide (except Fodquake) have some amount of support for singleplayer.

  • ezQuake, FTE, and Fodquake are the most popular engines for playing QuakeWorld multiplayer. DarkPlaces also provides QuakeWorld support.

  • ProQuake, Qrack, and DarkPlaces are the most popular engines for playing NetQuake multiplayer. All of the engines described below, except ezQuake and Fodquake, have some amount of support for NetQuake multiplayer.

  • If you intend to host your own multiplayer games, then preferably you should set up a dedicated server. However, you can use these engines to do quick-and-dirty hosting (as a “listen server”) that could be handy for casual LAN play. ezQuake and FTE can host QuakeWorld games; all of the remaining engines (except Fodquake) can host NetQuake games.

  • A few recent large and/or complex singleplayer map releases make use of the new “bsp2” map format for Quake. See Something Wicked This Way Comes, Nyarlathotep, and Rubicon Rumble Pack for example. Maps in bsp2 format aren't common (yet?), but bsp2 support may be something you'll want to have if you are interested in new singleplayer maps. That means using the most recent version of DarkPlaces, QuakeSpasm, Fitzquake Mark V, qbism Super8, or latest automated build of FTE. (See also the Other Modern Engines section below.)

• Getting Started

Whichever engine you choose, you're going to end up getting a new Quake executable. There may be some other files or folders along with it, but at a minimum you're getting a program that you will run to play Quake.

When you run this program, it will look for an “id1” folder in some location. Usually, at least on Windows systems, it will expect the “id1” folder to be placed right next to the Quake engine program. (But consult the docs for your Quake engine if you want to be sure.) So create the “id1” folder if it doesn't yet exist.

Quake requires two files inside the “id1” folder: “pak0.pak” and “pak1.pak”. You can get those two pak files from your Steam copy of Quake, or any other Quake installation.

So if you own Quake on Steam, you can use any of the engines described below. Some of the engines have related file-bundles or other installers that can make the process easier, and I'll mention some of those, but none of those installers/bundles are required.

• Launching through Steam

If you prefer launching Quake through the Steam UI, that works just fine when using a modern Quake engine. You have a couple of options:

Most simply, you can use Steam's “Add a Non-Steam Game” feature to create a shortcut to launch the Quake engine of your choice. Done. Enjoy having Quake in your common game launcher, and use the Steam community overlay if the engine supports it.

However you may want to launch the modern Quake engine of your choice when you click Play for Steam's normal “Quake” entry in your game library. This approach is helpful if you want to upload screenshots to Steam's Quake “community hub”, make use of the Steam Cloud for your config and savegames, or track how many hours you've spent in the game. And it's also easy to set this up, because when Steam launches a Quake engine all it does is find an executable with a particular name and run it. You can replace those files and Steam won't care (unless Quake gets an update someday, which is… unlikely).

If you choose “Play Game…” from Quake's context menu in Steam, or you choose “Play Quake” from the Play menu, then Steam will run whatever program is in the Steam Quake folder (“steamapps\common\quake”) that is named Winquake.exe. If you choose “Launch QuakeWorld”, Steam will run qwcl.exe. “Launch GLQuake” will run GLquake.exe. “Launch GLQuakeWorld” will run glqwcl.exe.

So, steps for making Steam launch the engine of your choice when playing Quake:

  • Download and install Quake as usual through Steam.
  • Gather up the executable, libraries, and any other files for your engine of choice; move or copy them into Steam's Quake folder.
  • Decide which of Steam's Quake engines you want to replace. Delete its executable, or move it somewhere else for safekeeping.
  • Rename the executable of your modern Quake engine, to replace the file you removed.

Finally: you may need to disable the Steam community overlay. Don't do that right away, but if launching Quake through Steam fails, then the first thing you should try as a fix is to open Steam's properties dialog for Quake and disable the overlay.

Modern Engines: DarkPlaces

DarkPlaces (Windows, OS X, Linux) is the most popular engine for changing the look ‘n feel of singleplayer Quake. Organizationally-speaking it probably belongs in the “Singleplayer Focus” section below, but for various reasons it requires some extra commentary that comes up against Steam’s limits on section sizes. So let's tackle it here in its own section:

DarkPlaces uses an OpenGL renderer. It adds many optional visual effects, as well as support for several other mapfile formats (including bsp2) and 3D model formats. While it is most popular for singleplayer use, it also supports NetQuake and its own multiplayer protocol (client or server), and QuakeWorld (client only). It's also the only Quake engine I'm aware of that has support for playing with an Xbox 360 controller.

The downloads for the Windows and Linux versions of DarkPlaces provide both an executable that uses SDL and also one that doesn't use SDL. Either or both may work well for you. According to a post on quakeone.com, the SDL variety is better-tested.

The “Ultimate Quake Patch” (UQP) bundle collected by MenaceInc incorporates the DarkPlaces engine. That download is described in this guide: Ultimate Quake Patch

The UQP is a Windows installer that replaces two of the Quake engine executables that were provided by Steam. After installation, if you run “Quake” or “GLQuake” from Steam, you will now be running DarkPlaces instead of the original engines. The UQP has been popular in the Steam forums, but keep in mind these issues:

  • It's been a while since the contents of the UQP bundle were updated. Its included version of DarkPlaces is an old one from April 2010. At least one of the known bugs in that version is a potential game-breaker, although you may be able to work around it.
  • That old version of DarkPlaces can, on some computers, refuse to cooperate with the Steam community overlay. Successfully launching that version of DarkPlaces through Steam may require going into Steam's properties for Quake and disabling the overlay.
  • There is no dedicated uninstaller. If you want to remove the installed files, you will have to manually delete them. Steam's “Delete Local Content” feature will remove the DarkPlaces engine but will not clean up some other files like libraries or music tracks. Fortunately it's pretty easy to just delete everything and then redownload from Steam.
  • The installed library files will cause issues if you also want to use the “QuakeSpasm for Steam” or “ProQuake for Steam” installers, as described below in the sections about QuakeSpasm and ProQuake.

If you are interested in using DarkPlaces, and you are comfortable with “computer tasks” like opening zip archives and moving/copying files, you should consider not using the UQP. Instead you could get the DarkPlaces engine yourself. If you want to launch DarkPlaces through Steam, just put the various DarkPlaces files into the Steam Quake folder, and replace Steam's Winquake.exe and/or Glquake.exe files with copies of darkplaces-sdl.exe (or darkplaces.exe if that works better for you). You can also download and install the soundtrack files as described in the “Quake Soundtrack Solutions” guide linked above.

(Note that you should download the DarkPlaces engine, not the “DarkPlaces mod”. The mod is a different thing from the engine, and it changes gameplay in various ways… you can try it later if you want, once you have the engine working.)

If you have already installed the UQP and you would like to upgrade to the most recent version of DarkPlaces, there's a forum thread that can help.

The Quake HD and Quake Epsilon bundles also each include the DarkPlaces engine (more up-to-date than DarkPlaces in the UQP, but not necessarily the most recent version) and a great deal of new media. Those two bundles are probably the most extensive collections of replacement textures, models, music, and effects for Quake.

(top: images from Quake HD on Mod DB; bottom: images from the old Quake Epsilon website)

Modern Engines: Singleplayer Focus

QuakeSpasm (Windows, OS X, Linux) is a crossplatform descendant of the classic Fitzquake engine; it uses an OpenGL renderer. It supports NetQuake multiplayer (client or server) but is primarily used for singleplayer content – many Quake singleplayer map releases these days require (or at least are primarily tested with) an engine from the Fitzquake family. It supports the bsp2 format. QuakeSpasm is faithful to GLQuake's original look while still providing bugfixes and usability improvements.

Most of the Quake videos from the “Custom Gamer” YouTube channel use QuakeSpasm, e.g.:

A QuakeSpasm installer for Steam Quake owners is available for Windows. It will place the QuakeSpasm engine and libraries in your Steam Quake folder; it doesn't replace any of the Steam-provided Quake engines, but it can access the .pak data files in Steam with no need for file copying. An uninstaller is provided that will clean up all of its files without harming your Steam installation.

Note that QuakeSpasm has at least one library in common with the files installed by the “Ultimate Quake Patch”. If you use both the “Ultimate Quake Patch” and the “QuakeSpasm for Steam” installer at the same time, the operation of DarkPlaces and/or QuakeSpasm may be affected. And uninstalling the QuakeSpasm files will remove a library used by DarkPlaces. It's probably best not to use both of those installers at the same time; if you want to use both of those engines, then you will need to manually set up one or both of them in their own folder(s). If you want to continue to share the .pak data files, then the “Engine Coexistence” section below has some relevant tips.

The “QuakeSpasm for Steam” installer can however co-exist happily with the “ProQuake for Steam” installer described below.

Fitzquake Mark V (Windows) is another OpenGL-using branch of Fitzquake, therefore similar to QuakeSpasm (see above) in most aspects, including bsp2 support. It has a particular focus on bugfixing, providing debug tools for content creation, and code cleanup/documentation for the benefit of engine hackers. If you like Fitzquake/QuakeSpasm and you Quake exclusively on Windows, Fitzquake Mark V is a good tool to have in your Quake Engine Toolbox. In some cases it may perform better than other Fitzquake-based engines, or have a key feature or bugfix that you need. It's also nicely portable as a single executable that doesn't rely on external libraries.

DirectQ (Windows) as the name implies uses Direct3D 9. As one of the few engines with a primary focus on a written-from-scratch Direct3D renderer, on some systems it may be the Windows engine with the best performance – although with standard Quake content, performance is only likely to be an issue on a low cost/power system (e.g. a small netbook with integrated graphics hardware). DirectQ is aimed at providing a cleaned-up renderer, with even more usability improvements than QuakeSpasm/Fitzquake, and it supports NetQuake multiplayer (client or server).

Engoo (Windows) uses a software renderer (and so does not support the Steam community overlay). Engoo is intended for singleplayer; NetQuake multiplayer support is present but untested. Out of the box it has a faithful WinQuake appearance, but unlike WinQuake it has widescreen support. It also provides many menu-driven options for different rendering modes and effects. Engoo even provides presets for mimicking the appearance of Quake 1.01, Quake 1.07, GLQuake, or Quake64 … either an amusing feature or maybe an essential one, depending on how deep down the Quake rabbit-hole you've fallen.

qbism Super8 (Windows) also uses a software renderer. It supports NetQuake multiplayer (client or server) but is primarily used for singleplayer content, including bsp2 support. Unlike many of the above engines, Super8 isn't concerned with replicating a “faithful” Quake experience. Along with modern conveniences like widescreen support and good in-game menus, Super8 also alters Quake's visuals to aim for what its author calls a “meta-nostalgic” effect… not Quake as it actually was, but something else low-fi and gritty (maybe “Quake like you remember it”?).

If you would rather try to tune Super8 to look like WinQuake, you can read its docs to get a recommended configuration for that purpose, and also delete or move aside the “pak88.pak” file which contains Super8's custom palettes and models. But Super8's strong point is its unique aesthetic – you should give its default setup a try. The video below shows clips of Super8 gameplay on the custom map “honey” by czg:

Modern Engines: QuakeWorld Multiplayer Focus

ezQuake (Windows, OS X, Linux, FreeBSD) is the most popular client for QuakeWorld multiplayer. It also has some limited support for singleplayer content (playing the original Quake campaign or other maps that don't require a mod), and can act as a server to host QuakeWorld games. It comes in software-renderer and OpenGL varieties.

You can learn more about it at the ezQuake site; however to install it I would recommend using the nQuake package, which includes the ezQuake engine along with popular addons and graphics presets, along with AI bots for playing skirmish deathmatch.

nQuake will install to its own folder on your computer, separate from your Steam files. After installation you should manually copy the pak1.pak file from your Steam copy of Quake into the id1 folder of nQuake.

If you don't like the solid-color player skins that nQuake configures, a forum thread has solutions for you.

More info about the AI bots included in nQuake can be found in this guide: Deathmatch With Bots (on hundreds of maps)

FTE (Windows, OS X, Linux) is another QuakeWorld client currently in use; it can also act as a server to host QuakeWorld games. Along with an OpenGL renderer, its Windows version also supports Direct3D 9; the Direct3D renderer may perform better on Windows systems that have weak OpenGL support. FTE is something of a “swiss army knife” that also provides support for NetQuake multiplayer (client only), singleplayer, bsp2 format, many extra features for mappers and mod developers, and even Quake 2/3 multiplayer (client only). It provides a selection of graphics presets ranging from fancy-eye-candy to nearly-WinQuake-faithful.

Unlike most of the Quake engines in this list, FTE's “stable” build is quite old and not recommended. You should instead try the latest build. There's a chance that a recent change will have broken something, but overall the latest build should give you a better experience. Any FTE-related documentation in these guides was written in reference to a recent “latest build”. (Note that the OS X builds lag behind the Windows/Linux builds… sometimes by a lot.)

Fodquake (Windows, OS X, Linux, FreeBSD) completes the trifecta of currently-popular QuakeWorld clients; it uses an OpenGL renderer. It's less feature-stuffed than ezQuake or FTE, with a focus on technical improvements in areas like rendering and network protocol. It does not support singleplayer, and also cannot host multiplayer games.

Modern Engines: NetQuake Multiplayer Focus

ProQuake (Windows, OS X, Linux) has been a popular NetQuake multiplayer client, which also supports playing singleplayer content and can act as a server to host NetQuake games. ProQuake's main selling points are multiplayer oriented, such as more precise aiming, a server browser, ping display in the scoreboard, and support for the location markers used in teamplay communication. ProQuake provides both OpenGL and Direct3D 8 renderers, although the OpenGL renderer appears to be the primary focus.

A ProQuake installer for Steam Quake owners is available for Windows. It will place the ProQuake engine and libraries in your Steam Quake folder; it doesn't replace any of the Steam-provided Quake engines, but it can access the .pak data files in Steam with no need for file copying. An uninstaller is provided that will clean up all of its files without harming your Steam installation.

Note that ProQuake has at least one library in common with the files installed by the “Ultimate Quake Patch”. If you use both the “Ultimate Quake Patch” and the “ProQuake for Steam” installer at the same time, the operation of DarkPlaces and/or ProQuake may be affected. And uninstalling the ProQuake files will remove a library used by DarkPlaces. It's probably best not to use both of those installers at the same time; if you want to use both of those engines, then you will need to manually set up one or both of them in their own folder(s). If you want to continue to share the .pak data files, then the “Engine Coexistence” section below has some relevant tips.

The “ProQuake for Steam” installer can however co-exist happily with the “QuakeSpasm for Steam” installer described above.

Qrack (Windows) is another OpenGL client that some prefer as a NetQuake multiplayer client. It also can play singleplayer content and act as a server to host NetQuake games. Unlike ProQuake, Qrack supports the use of alternate textures and additional visual effects.

Qrack has not had a build blessed as “stable” since 2011 even though it is still undergoing development. If you're interested in using Qrack, you may want to try out the post-2011 builds, but it can be hard to track down the current build; your best chance is to go to the Quake Clients forum at quakeone.com and look for threads discussing Qrack.

Other Modern Engines

Here's a survey of a few more Quake engines currently in use. (This still isn't all of them!) I'm not familiar with most of these, so this is just a quick collection of blurbs to let you know what's out there. The other Quake guides don't cover the specific details of configuring the engines listed below, but there's a lot of commonality among all Quake engines that will still apply to these.

The bjp engines (Windows), also called aguirRe's engines, are cleaned-up versions of glquake.exe and WinQuake.exe (NetQuake, OpenGL or software rendering) with some raised limits for supporting modern maps (but not bsp2). Good choice if you demand the exact original WinQuake or GLQuake experience, but want to play new maps.

TyrQuake (Windows, OS X, Linux) has NetQuake and QuakeWorld versions, using OpenGL or software rendering. This is another cleaned-up, raised-limits engine project. Has bsp2 support if you use one of its builds from 2013 or later.

JoeQuake (Windows, Linux) is a NetQuake engine using OpenGL. It has added visual effects, and a focus on capturing and watching gameplay demos. JoeQuake is still used by speedrunners.

reQuiem (Windows, Linux) is a NetQuake engine using OpenGL. It's a descendant of the JoeQuake engine with more features and fixes, including soundtrack file support. Current distributed builds (as of Feb 2015) are missing some significant bugfixes, so ideally you'd build it from source if you can.

QuakeForge (Windows, Linux) has NetQuake and QuakeWorld versions, and options for OpenGL or software rendering. It has bsp2 support and soundtrack file support (but see the documentation). Note that development focuses more on the Linux version; the Windows version (as of Feb 2015) has problems with the OpenGL renderer.

Engine Coexistence

Any modern Quake engine has its own instructions for installation, but they all share a few things in common. It's useful to know that each engine follows the same general rules for working with config files, pak files, and other “loose” files not contained in pak files – which could be maps, 3D models, sounds, etc.

• File Structure Rules

  • A Quake engine expects to see a subfolder named “id1” that contains the files “pak0.pak” and “pak1.pak” from the original Quake data. The engine will also examine this subfolder for additional files to load, but pak0.pak and pak1.pak are the only files you need from the original Quake.

  • An engine that supports QuakeWorld multiplayer will also examine the “qw” subfolder for additional files.

  • An engine will also examine any subfolder named using the “-game” command-line option; this is the typical way that a mod is enabled (the mod files are inside that subfolder).

  • Finally, a modern Quake engine may also have its own specially-named subfolder that it will examine for content, perhaps according to its own unique rules. For example, ezQuake will load content out of the “ezquake” subfolder.

  • When Quake loads or saves its configuration, it will use one of those folders; the behavior varies from engine to engine as described in the section about “The Config File” in the Quake Owner's Manual guide (linked below).

Why do we care about this behavior?

For one thing, it's good to know this stuff if you want to manually tweak your config, or whenever you are adding new third-party content that you downloaded.

The Quake Owner's Manual guide goes into lots of detail about working with your config: Quake Owner's Manual

With addon content usually there will be a readme file to tell you exactly where to put the files you downloaded and how to use them, but a general knowledge of what's going on is always helpful. negke's guide to playing custom maps and mods expands on this: Custom Singleplayer Levels

And specifically on-topic here: it's good to have these rules in mind if you are going to be using more than one Quake engine, so that you can keep them from “stepping on each other”. If you are only ever going to run one Quake engine then you can pretty much ignore the rest of this section… otherwise, read on.

• Sharing Content

Most obviously, if you have multiple Quake engine executables placed in the same directory, anything you put in the “id1” subfolder of that directory can be seen by all of those engines, since they all use the same rules for finding content. Anything you put in the “qw” folder can be seen by QuakeWorld-capable engines. Etc.

So for example let's say you've downloaded a singleplayer map file named “foo.bsp”. Any loose bsp file needs to be placed in the “maps” subfolder of one of the folders that your Quake engine sees; so if you put “foo.bsp” inside “id1\maps” you will guarantee that all of your Quake engines can use it.

• Library Conflicts

Some Quake engines consist of a single executable, but others include various dynamically-linked libraries along with the executable. These libraries generally expect to be placed in the same folder as the executable.

So if you have two Quake engines that are distributed with different versions of the same library – for example, some Windows engines have conflicting versions of “zlib1.dll” – then you won't be able to dump all their files into the same directory and expect both engines to work.

This problem can (sometimes) be solved, while still allowing shared content, with use of the “-basedir” command-line option. The “-basedir” option allows you to explicitly specify the directory that contains “id1” and any other data folders mentioned above, rather than just assuming that they are located with the engine executable.

For example you could stash all DarkPlaces engine files in a “C:\Games\QuakeEngines\DarkPlaces” folder and QuakeSpasm files in “C:\Games\QuakeEngines\QuakeSpasm”, then put your game data under “C:\Games\QuakeData” – i.e. your “id1” folder would be at “C:\Games\QuakeData\id1”. If you always launched DarkPlaces or QuakeSpasm using the “-basedir C:\Games\QuakeData” option then they would run correctly.

The “-basedir” option ideally would be something that any Quake engine supports.

However, just experimenting with this option shows that it seems to not currently work for at least the Windows versions of Fodquake, DirectQ, or Qrack. And for Engoo and qbism Super8, “-basedir” will only work if the specified path has no spaces in it.

The saving grace for Fodquake, DirectQ, and Engoo is that they are just single-file executables without any library baggage, so use of “-basedir” is less likely to be necessary.

Command-line options can be passed to a Quake engine executable by various methods. See the “Command Line” section of the Quake Owner's Manual guide: Quake Owner's Manual

• Managing Config Files

Sharing maps and other content between engines can be great, but sharing config files is… less great.

With the original Quake engines, both Quake and GLQuake read/write “id1\config.cfg” (note that this file is saved to the Steam Cloud if you launch Quake through Steam), and both QuakeWorld and GLQuakeWorld read/write “qw\config.cfg”. This is fine because Quake/GLQuake use the same set of config options, and QuakeWorld/GLQuakeWorld use the same set of config options.

When you start using modern Quake engines however, each one can have its own special config options – or worse, its own interpretation of common config options. This is perfectly fine if the engine stores its configuration in its own special directory that no other engine will see. However many of the engines will just tend to dump their config.cfg file into “id1”.

If you are using two or more engines that want to put their config file in the same place, then you may just need to create completely separate Quake installation directories for them – don't share any files at all.

Another possible solution is to launch each engine with its own unique “-game” command-line option, like “-game quakespasm”, to force it to use a special subfolder to stash its config. This solution gets in the way though when you want to run a mod using the “-game” option.

Learn More

If you have burning questions about a particular Quake engine and Google has failed you, the sites below are good starting points for finding knowledgeable folks:

  • FUNC_MSGBOARD for singleplayer. Their News section has announcements about engine releases/updates, and there may be active Forum threads for some engines.

Revision History 'n Stuff

• Engine Versions

The most recent date that I checked out these engines' features was May 03 2015.

The latest stable version of each engine was:

  • ezQuake: version 2.2 from Dec 2013
  • FTE: “latest build” from Apr 2015
  • Fodquake: version 0.3 from Mar 2012
  • DarkPlaces: build 20140513 from May 2014
  • QuakeSpasm: version 0.90.0 from Oct 2014
  • Fitzquake Mark V: revision 15 from Jul 2014
  • DirectQ: version 1.9.0 from Feb 2012
  • Engoo: version 2.77 from Dec 2013
  • qbism Super8: version 235 from Feb 2015
  • ProQuake: version 4.93 from Oct 2012
  • Qrack: version 2.011.3467 from Aug 2011

• Guide Change History


  • Jun 02: mention the Quick Start in the Owner's Manual guide
  • Jun 02: more FTE rewrite, about available builds
  • May 03: some rewrite of FTE info
  • Mar 20: Steam Cloud also saves your config
  • Mar 20: mention QuakeWorld player movement changes
  • Mar 05: mention DarkPlaces' 360 controller support
  • Mar 05: checked qbism Super8 version 235; described classic config
  • Feb 07: added links to example bsp2 maps
  • Feb 07: added the Other Modern Engines section
  • Feb 04: bsp2 support survey; also other engine distinguishing features
  • Feb 04: checked qbism Super8 version 231
  • Feb 04: alternate link for FTE builds
  • Feb 04: more details about SW vs. GL rendering


  • Oct 20: checked QuakeSpasm version 0.90.0
  • Jul 14: also mention Steam community overlay issues in the “Launching through Steam” section
  • Jul 14: checked DarkPlaces build 20140513 and qbism Super8 version 194
  • Jul 14: checked Fitzquake Mark V revision 15; basedir with spaces now works
  • Jul 14: added QuakeSpasm video and more Fitzquake Mark V comments
  • Jun 14: linked to thread on changing nQuake skin settings
  • Jun 09: mentioned Qrack experimental builds
  • May 26: mentioned FTE experimental builds
  • May 03: moved config-location info from Engines guide to Owner's Manual guide
  • May 03: checked new versions of qbism Super8 and DarkPlaces
  • Apr 19: added info about the qbism Super8 engine
  • Apr 19: link to Inside3D forums & the Quaddicted “engines dump”
  • Apr 13: a bit more about launching a modern Quake engine through Steam
  • Apr 13: added info about the Engoo engine
  • Apr 09: replace link to (vanished) DirectQ website
  • Apr 03: mention old DarkPlaces problem with Steam overlay; discuss manual DarkPlaces install
  • Feb 23: added DarkPlaces notes about SDL and about the bugginess of the version included in the UQP


  • Aug 10: added link to negke's guide for playing third-party maps/mods
  • Jul 14: fixes in reaction to the changes in Steam Guide markup behavior
  • Jun 16: more description of the nQuake and “Ultimate Quake Patch” installers; new links to QuakeSpasm and ProQuake installers
  • Jun 02: replaced broken Quake Epsilon link w/ link to ModDB; also replaced Quake HD link w/ ModDB link
  • Apr 13: checked Fitzquake Mark V revision 9 and QuakeSpasm version 0.85.9
  • Mar 10: checked Fitzquake Mark V revision 8 and DarkPlaces build 20130304
  • Feb 12: a few words about setup in the Modern Engines Basics section
  • Feb 01: link to the Deathmatch with Bots guide
  • Jan 23: details about which engines can host multiplayer games
  • Jan 20: link to the Quake HD bundle
  • Jan 19: details about Fitzquake Mark V's problems with “-basedir”
  • Jan 19: a few intro words about what a “Quake engine” is, and where WinQuake fits in
  • Jan 15: link back to the Quake Owner's Manual guide for info on configuration
  • Jan 15: corrections for the “More You Know” box about config file placement
  • Jan 14: added media for nQuake and Quake Epsilon
  • Jan 14: link back to the Quake Owner's Manual guide for info on command-line options
  • Jan 12: added information about the Fodquake engine and the Quake Epsilon bundle.

This guide is also hosted at the Steam community site: Quake Engines, Old and New
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address below.