Quake resources
Models, textures, sounds, tutorials, and other links for Quake mapping and modding
Last updated
Models, textures, sounds, tutorials, and other links for Quake mapping and modding
Last updated
Download the Quake Level Design Starter Kit (Windows and Linux 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
For Quake 2, try Map-Center discord instead.
For multiplayer Quake, try QuakeWorld.nu and Quake.World discord instead.
Slipseer is a new single player mapper-modder hub with downloads, assets, and free file hosting services.
Quaddicted is the main single player Quake map archive, currently in the middle of an extensive rebuild (as of 2024).
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)
most people start with David "dumptruck_ds" Spell's video tutorials (full playlist)
or start with Andrew Yoder's text tutorial (covers basic setup + making your first room)
after you know the basics, check out the Quake Builder video tutorials by MarkieMusic
for useful map measurements and combat stats + design advice, see Quake metrics
for more about releasing maps and mods, see How to package a Quake map/mod.
After you know the basics of map construction and feel somewhat comfortable in the editor, learn about more complex design and building patterns:
"How to Make Rooms Look Good" (2001) on Quake architecture by Xenon
"Curve tutorial" (200x) on building "CZG curves" by Christian Grawert
"Mapping for Quake: Advanced Curves" part 1 video + part 2 by David Spell
"Trenchbroom and Quake: Curved Tunnel" by MarkieMusic
"The Door Problem of Combat Design" (2019) by Andrew Yoder is a solid introduction to tuning Quake encounters
"Balancing Skill Levels for Quake" (2024) by Lunaran is a good primer for various item placement / traversal design patterns
"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.
for more on Quake's influence on level design, see History of the level designer
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)
qbsp.exe
builds 3D mesh + detects "leaks" (video tutorial: how to fix leaks)
vis.exe
calculates PVS occlusion culling to optimize map performance
light.exe
bakes lightmaps and shadows, makes lighting happen
STRONGLY RECOMMEND viewing light.exe examples + light.exe docs
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
for more about parsing and working with .MAP files in code, see .MAP file format
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)
Source port | Description |
---|---|
current community-standard engine for single player; bundled in Quake Level Design Starter Kit | |
previous community-standard engine for single player | |
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 |
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.
Prototype WAD by Khreathor is useful for blockout and prototyping.
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.
Knave is a medieval library themed texture set by Kell
Makkon is the current most-popular texture set used in community Quake maps today
Quaddicted WAD archive contains many .WADs but it's somewhat unorganized.
Quaketastic has a similar pile of unorganized WAD files
Slipseer has a small but growing archive of better organized WAD files
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.
Use TexMex or BSP2WAD to extract textures from a compiled .BSP map file
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.
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.
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.
Arcane Dimensions is a popular recent mod / toolkit that adds many new monsters and features.
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
add the /ad/
mod folder and ad_1_8.fgd
in your map editor
read the included ad_v1_80_documentation.txt
for info and advice
open the example test maps in an editor to learn how to use the new systems
Alkaline is a recent "base" themed mod / toolkit that adds sci-fi themed monsters and weapons.
install latest version of Alkaline (minimal dev kit available)
add the /alkaline/
mod folder and alkaline.fgd
in your map editor
read the included docs.html
Alkaline 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.
install latest version of Copper
add the /copper/
mod folder and copper.fgd
in your map editor
read the official Copper - Mapping notes for info and advice
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:
download the special Horde mode .FGD file and load it into your map editor
in the editor, add a single horde_manager
entity, this is the brain of horde mode
in the editor, add info_monster_start
entities for where you want monsters to show up. You can also toggle a info_monster_start
, which lets you do progression stuff.
See the example Horde mode .MAP source file for usage:
for a list of 3D art tools, see Tools
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
for more info on MDL file format and parsing, see Quake MDL file format spec
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 .md5mesh
file
Animations stored in .md5anim
file; can load multiple .md5anim files for one model
Textures are .tga
, bind with .mtr
material definition file
works in 2021 re-release engine ("KexQuake"), Quakespasm-Spiked, and FTE
Get the Quake MDL importer / exporter for Blender v2.8+ by Taniwha, Khreathor, and Jazzmickle.
see docs for installation, scene setup, material setup, and animation notes
Fairweather has made some great beginner video tutorials on using Blender to model for Quake, no prior Blender or 3D experience required:
Get the MD5 Importer/Exporter for Blender 2.80+ by KozGit.
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.
"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
progs_dump mapping toolkit source code: https://github.com/dumptruckDS/progs_dump_qc/
official 2021 re-release source code: https://github.com/id-Software/quake-rerelease-qc
There's a VS Code QuakeC extension by Joshua Skelton.
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: