A comparison of Quake Engines focused on Singleplayer. Gimmicky techdemos like Tenebrae are excluded as well as "old and forgotten" engines. Also excluded are engines that do not add any significant (for proper Singleplayer) features to its codebases (eg Tremor and Vengeance).
Please read the footnotes, especially if something seems unclear or weird.
If you have more feature comparisons to suggest and are willing to do the work, please contact me.
The only "special features" I added are ones I would like to see supported in more engines (such as logging centerprints to the console or full- and overbrights).
As most engines support those I excluded them: Scrolling in the console, colored lights (.lit), gamma
The testing was done on a mobile P3 with 256MB Ram and onboard Ati Mobility Radeon Something, Windows XP. If an engine had a "classic" mode I used it. I did NOT play around with cvars or anything like that.
ezQuake is only included because it is the most popular QW engine and unfortunately many people use it to play Singleplayer too.
| Name | Author | Website | Tested release | OS support ((unofficial) ports) | Renderer |
|---|---|---|---|---|---|
| Winquake | id Software | website | 1.00 | Windows, (Linux, MacOS, more) | Software |
| GLquake | id Software | website | 0.95 (1.09) | Windows, (Linux, MacOS, more) | OpenGL |
| Fitzquake | John "metlslime" Fitzgibbons | website | 0.80 | Windows, (Linux, MacOS) | OpenGL |
| aguirRe's glquake | aguirRe | website | 1.33 | Windows | Software, OpenGL |
| Tyr-glquake | Tyrann | website | 0.58 | Windows, Linux, BSD | Software, OpenGL |
| Darkplaces | LordHavoc | website | 20.11.2007 | Windows, MacOS, Linux | OpenGL |
| JoeQuake | Jozsef Szalontai | website | build 1862 | Windows, Linux | Software, OpenGL |
| Qrack | R00k | website | v1.85 (build 2194) | Windows, (Linux) | OpenGL |
| QMB | DrLabman | website | V1.19 | Windows | OpenGL |
| TomazQuake | Tomaz | - | 1.48 | Windows | OpenGL |
| Telejano | Tei | website | 8.01 | Windows | OpenGL |
| MHQuake | MH | website | 8.1 | Windows | OpenGL |
| ProQuake | JP Grossman and Baker | website | 3.99 | Windows, (Linux) | Software, OpenGL |
| Name | "Faithful" engine [1] | runs marcher [2] | loads warpc [3] | loads lr.bsp [4] | Random special features [5] |
|---|---|---|---|---|---|
| WinQuake | yes | yes | "mod_numknown == MAX_MOD_KNOWN" | "ED_ALLOC: no free edicts" | unknown |
| GLQuake | yes | far parts are cut off, pretty slow | "has encountered a problem and needs to close." | "ED_ALLOC: no free edicts" | unknown |
| Fitzquake | yes | yes | "Mod_FindName: NULL name" | "SZ_GetSpace: overflow without allowoverflow set" | unknown |
| aguirRe's glquake | yes | yes | yes, slow but faster than the others | yes | unknown |
| Tyr-glquake | yes | yes | "Mod_FindName: NULL name" | "SZ_GetSpace: overflow without allowoverflow set (8192)" | r_lockpvs |
| Darkplaces | no | extremely slow | loads, but "server can't keep up" messages and very slow | "has encountered a problem and needs to close." | Ogg Vorbis support, even for cdtracks. Highly advanced graphical features. |
| JoeQuake | yes | yes | "has encountered a problem and needs to close." | "SZ_GetSpace: overflow without allowoverflow set" | dzip support |
| Qrack | no | extremely slow | "has encountered a problem and needs to close." | "SZ_GetSpace: overflow without allowoverflow set" | dzip support |
| Telejano | no | use gl_far 8192 | "has encountered a problem and needs to close." | "Loop_SendMessage: overflow" | unknown |
| QMB | no | brainmelting hell of failure | "has encountered a problem and needs to close." | "ED_ALLOC: no free edicts" | unknown |
| MHQuake | no | weird lighting | "has encountered a problem and needs to close." | "SZ_GetSpace: overflow without allowoverflow set" | Beautiful sky |
| TomazQuake | no | yes | "has encountered a problem and needs to close." | "SZ_GetSpace: overflow without allowoverflow set" | unknown |
| Proquake | yes | yes | Freezes unrecoverably. With a bit of luck you can control Windows via hotkeys in the background (you won't see what you are doing) to save open work or restart. | "SZ_GetSpace: overflow without allowoverflow set" | unknown |
| (ezQuake 1.9) | yes, optional | "gamelogic" is missing (of course, it's a QW engine), many entities are not displayed | "Host_Error: Map has too many models." | Loads the map but only displays ~1% of the monsters. Also sounds are "chopped". | unknown |
| Q2K4 (honorable mention) | yes | yes | "has encountered a problem and needs to close." | loads, but slow and sound choking | unknown |
| Name | fullbrights | overbrights | animation interpolation | external textures [6] | fog from worldspawn [7] | "fancy" particles [8] | transparency | skybox from worldspawn | Waterwarp [9] |
|---|---|---|---|---|---|---|---|---|---|
| WinQuake | yes | yes | no | no | no | no | no | no | waving |
| GLQuake | no | no | no | no | no | no | no | no | waving |
| Fitzquake | yes | yes | no | yes (tga, pcx) | yes | no | no | yes | stretching |
| aguirRe's glquake | no | no | yes, optional | yes (tga, pcx) | yes | no | yes | yes | waving |
| Tyr-glquake | no | no | no | no | no | no | no | no | none |
| Darkplaces | yes | yes | yes | yes (lots) | yes | yes, optional | yes | yes | stretching |
| JoeQuake | yes | yes | yes | yes (tga, png, jpg) | no | yes, optional | yes | no | none |
| Qrack | no | yes | yes | yes (tga, png, jpg) | Crashes | yes, optional | yes | yes | none |
| Telejano | yes | no | yes | yes (lots) | no | yes | yes | yes | none |
| QMB | yes | yes | no | yes (lots) | no | yes | no | no | none |
| MHQuake | yes | no | no | yes (lots) | no | yes | no | no | none |
| TomazQuake | yes | no | no | yes (tga, pcx) | no | yes | yes | yes | none |
| Proquake | no | no | no | no | no | no | no | no | none |
| (ezQuake 1.9) | yes | yes | yes | yes (lots) | no | yes, optional | no | no | none |
I put my 3 testmaps into one: enginetest-spirit.zip
Explanations and these "reference" screenshots are included:
Some demo1.dem screenshots are available at engine_comparison_screenshots.html (warning, about 7 Megabytes of images).
| Name | enhanced tab completion | tab completion for files | logging centerprints [10] | insert mode [11] |
|---|---|---|---|---|
| WinQuake | no | no | no | no |
| GLQuake | no | no | no | no |
| Fitzquake | yes | no | yes | yes |
| aguirRe's glquake | no | no | yes | no |
| Tyr-glquake | yes | yes (maps and demos) | no | no |
| Darkplaces | yes, very | yes (maps and more) | no | yes |
| JoeQuake | yes | yes (maps, demos and more) | no | yes |
| Qrack | yes | yes (maps, demos and more) | yes | yes |
| Telejano | yes | no | no | yes |
| QMB | no | no | no | no |
| MHQuake | no | no | no | no |
| TomazQuake | yes | no | no | yes |
| Proquake | yes, basic | no | no | no |
| (ezQuake 1.9) | yes, very | no | no | yes |
Quite a lot of engines are missing crucial features or contain severe buggyness. While lr and warpc may be considered exceptions (and engines that run them exceptionally stable), every engine should be able to run marcher well (missing sounds are ok). Why that? Well, id's Winquake almost can.
It is impossible to announce a "winner" as even the "better" engines are missing some important features. aguirRe's glquake has no full- and overbrights, Fitzquake has no animation interpolation and not even alpha support. Fitzquake can't run warpc and lr either, yet its console is a tad nicer. Tyr-glquake has some nice features for mappers but then misses most other features. Darkplaces, the massive monster tank, has more features than one can imagine, yet it breaks compatibility to many Quake hacks on the way and chokes on marcher. Joequake and Qrack are decent engines for players that like a bit more eyecandy. Qrack's crashing on fog is severe though. Telejano, QMB, MHQuake and TomazQuake are typical "coder engines" that come with many new features for mods, yet don't support modern maps and "map features" only sporadically (TomazQuake being an exception as pioneer and standard setter here).
Spirit, quaddicted.com, April 2008