Models, textures, sounds, tutorials, and other links for Quake mapping and modding
Download the Quake Level Design Starter Kit (Windows only) by Jonathan Linat, which contains a lot of recommended tools and assets for single player Quake 1 mapping, all collected in one convenient bundle. This is the easiest way to get started.
If you're interested in Quake mapping and modding, we strongly recommend joining a Quake community. It's the best way to learn! Experienced people can give you tech help, advice, and feedback on your work. Some have even been modding Quake for 20+ years.
- Quake Mapping Discord is the biggest public social hub, beginner-friendly with frequent single player design jams and social opportunities
- Slipseer is a new single player mapper hub with map downloads, assets, and free file hosting services.
- Func_msgboard is the longest running Quake level design web forum, but maybe not as newbie-friendly as QM Discord or Slipseer
- The QuakeCast is a long-running podcast series where David "dumptruck_ds" Spell interviews various Quake community members and discusses new releases
- get TrenchBroom level editor (included in Level Design Starter Kit linked above)
After you know the basics of map construction and feel somewhat comfortable in the editor, learn about more complex design and building patterns:
- "Curve tutorial" (200x) on building "CZG curves" by Christian Grawert
- "Quake Renaissance" (2021) series about Quake culture by Robert Yang
- Bal's Quake Mapping Tips & Tricks (2022) by Benoit "Bal" Stordeur is a crucial must-read for intermediate / advanced Trenchbroom construction techniques.
a chart of different light falloff settings for Quake 1; when and where would you use each light setting?
To play Quake maps, you must compile (bake, package) the editable .MAP into a playable optimized .BSP file. You will need both tools and a graphical user interface (GUI).
- Compile tools: EricW Tools (already included in Quake Level Design Starter Kit)
light.exebakes lightmaps and shadows, makes lighting happen
- Compiler GUI: choose either TrenchBroom's built-in compile window or Necro's Compiling GUI (both already in the kit too)
- many mods package .MAP source files with the public release, just look in the mod folder
trenchbroom_quake_map_source.zip(4.5 mb download) is a collection of the original Quake 1 .MAP source files (as released by John Romero in 2006) but converted to modern file format (TrenchBroom compatible) + fixed texture references (with repackaged Quake101.wad), thanks to Atul "toolness" Varma
download mirror of "Trenchbroom Quake Map Source" by Atul 'toolness' Varma, last accessed 13 January 2022
animated GIF of entry hallway in map E1M1 "The Slipgate Complex" by John Romero, for Quake 1 (1996)
To play Quake (and playtest your own maps or mods) you need a source port -- a Quake engine that "ports" the original 1996 engine code and add many new features / compatibility.
We only list free open source ports in active ongoing development. (see full list of source ports via QuakeWiki.org)
current community-standard engine for single player; bundled in Quake Level Design Starter Kit
optimized Quakespasm fork, good for low power systems that struggle with big maps
popular Quakespasm fork using new Vulkan graphics path
many features + wide compatibility beyond Quake 1 file formats, good for making standalone games
common multiplayer Quake ("QuakeWorld") bundle but lacks many single player / graphics features
animated GIF of level entrance in e4m2 "The Tower of Despair" by Sandy Petersen, for Quake 1 (1996)
In Quake modding culture, it is generally considered normal and acceptable to rip models, sounds, and textures from other maps and mods, as long as you credit the original authors.
However, if you rip textures and assets from a .BSP, you'll usually have an incomplete fraction of the full kit. It'll likely be difficult to use. In these cases (e.g. the Makkon set) you're better off finding the full official public texture releases.
Quake texture collections are stored in .WAD files. To use textures in a level, download a .WAD and then add the WAD path to the .MAP file using the level editor. (Note: this is not the same as a Doom WAD. Quake WADs are only for map textures.)
When compiling a map into a playable .BSP file, all used textures are automatically embedded directly inside the .WAD file. You can rip textures from compiled maps using a tool like BSP2WAD.
- Quake101 WAD contains all the Quake textures in one collection, or you can just download the textures used for each map if you want to stay strictly within a traditional theme.
- If you are going to modify WADs frequently, you can automate the WAD building process via batch processing via command line interface (CLI) with qpakman.
- Palletizing textures to fit Quake's fixed 256 color palette is tricky, because some of the colors are reserved as "fullbright" colors. You may also need EricW's "defullbright" tool to remove these fullbright pixels.
image of the Wally WAD tool, screenshot by Valve Developer Union
Quake has two different sky systems. The original 1996 sky system is a two panel texture parallaxed over itself. Newer Quake engines support a more standard cubemap-style skybox made of 6 static .TGA textures, each corresponding to one side of the skybox.
screenshot of sci-fi hub map in Quake mod Alkaline, with textures by Makkon
Mods add new functionality and features for mappers to use in their levels. Listed below are common Quake mods and toolkits used by single player Quake mappers.
When you release your map(s) or mod, bundle the core mod files with your maps to make a self-contained .ZIP with no external dependencies. For example: if you make a mod with Copper then you should include the Copper mod files in the ZIP. Big mods include slimmed-down "dev kits" you can use, which have just the core mod files.
- 1.install the latest version of Arcane Dimensions (v1.81 as of January 2022) if you want to make your own mod based on AD, get the slimmed-down dev kit instead
- 2.add the
/ad/mod folder and
ad_1_8.fgdin your map editor
- 3.read the included
ad_v1_80_documentation.txtfor info and advice
download mirror of Arcane Dimensions v1.81 documentation TXT file, last accessed 14 January 2022
- 2.add the
/alkaline/mod folder and
alkaline.fgdin your map editor
- 3.read the included
docs.htmlAlkaline mapping manual
Copper is a minimalist "refinement" mod that rebalances vanilla Quake gameplay and adds quality-of-life features for mappers. It is good for a "vanilla+" feel without vanilla bugs.
- 2.add the
/copper/mod folder and
copper.fgdin your map editor
Progs_dump is a recent dev kit mod that adds new mapper features, but doesn't add any new monsters or weapons, it's still basically the same old vanilla Quake gameplay.
However, because it exposes so much functionality, it's possible for mappers to add some new game features without coding in QuakeC.
To map for the new "Horde" mode added in the Quake 2021 re-release:
- 1.download the special Horde mode .FGD file and load it into your map editor
- 2.in the editor, add a single
horde_managerentity, this is the brain of horde mode
- 3.in the editor, add
info_monster_startentities for where you want monsters to show up. You can also toggle a
info_monster_start, which lets you do progression stuff.
download mirror of the MachineGames' Quake .FGD file for making Horde maps, last accessed 13 Jan 2022
See the example Horde mode .MAP source file for usage:
download mirror of example horde mode .MAP source file, last accessed 13 Jan 2022
screenshot from hub map in Quake mod Arcane Dimensions, by Simon 'sock' O'Callaghan et al
To make custom monsters, weapons, items, or props, you must export a 3D model.
The original Quake models are stored in .MDL files in a sub-folder called
/progs/. The MDL format reflects the memory limits of 1996 PCs:
- Max triangles: 2048; max vertices: 1024
- Textures: 8-bit palettized; max UVs: 1024
- Max vertex animation frames: 256 at 10 FPS
The 2021 re-release, as well as more recent fan engines, have added much more modern MD5 (Doom 3 format) file support with much higher memory limits and skeletal animation support.
- Model data stored in
- Animations stored in
.md5animfile; can load multiple .md5anim files for one model
- Textures are
.tga, bind with
.mtrmaterial definition file
- works in 2021 re-release engine ("KexQuake"), Quakespasm-Spiked, and FTE
download mirror of Quake MDL plugin file for Blender v2.8, last accessed 13 Jan 2022
Fairweather has made some great beginner video tutorials on using Blender to model for Quake, no prior Blender or 3D experience required:
modifying the Quake "Ranger" player MDL in Blender
- read the documentation thoroughly, it's a little complicated
- community is still figuring out best practices / pipeline... ask questions and shares notes in QM Discord #modeling-and-texturing
Quake game code is written in a special programming language called QuakeC. It has many historical quirks and it can be tricky to learn, but once you figure it out, it's fun.
Example QuakeC projects
- "clean and fixed" original Quake v1.06 source code with bug fixes: https://github.com/Jason2Brownlee/CleanFixedQuakeC
- useful as a base for a vanilla style mod
FTEQCC is probably the most modern compiler available, with plenty of compilation options and enhancements. You can choose between GUI version and a command line version: