For the rest of this series, see Preface and Part 2.
It is that version of the original, through this editor say you can edit and not only Quake, it supports other old games. 1)Download quake HD file.zip 2)Unzip the Quake HD file.zip by WinRar (x86-x64) 3)go to the folder Quake HD and press the right mouse button to send to your desktop a file with the name Quake send to desktop. Quake Pak Files Download; Quake Pak0.pak Pak1.pak Download; GUIDE for setup with Quake Revitalization Project texture pack.Part I: Download1. QuakeHDquakeone.comcompilation.zip( content and credits at the end of this guide )2. Dark Places engineLordHavoc's 'DarkPlaces site;3. QRP Map textures v.1.00QRP Normal map tex.
In this tutorial, I’ll walk through the basic setup for the tools to make your first Quake map. First, we’ll set up Quake to run with a modern sourceport. Then we’ll set up our level editor, Trenchbroom. Last, we’ll get our compiler running.
If you want to skip this tutorial and jump straight into the tools, you can download Jonathan Linat’s setup https://github.com/jonathanlinat/quake-leveldesign-starterkit. All you need to do is add an “id1” folder with your “pak0.pak” and “pak1.pak” files, which I explain below. Also note that Jonathan’s setup includes some tools we won’t be using in this tutorial, and there are some small differences in the file structure.
If you prefer a video explanation for setting up your tools, here is Dumptruck_DS’s quickstart tutorial covering the basics: https://youtu.be/gONePWocbqA
The Folder Structure
To start, we need to create some folders. Go to a root directory of your computer, this could be your “C:” drive, or an “E:” or “F:” drive if you use external storage. In this root directory, create a folder named “QuakeDev”. This is where we will keep all of our tools and content.
Inside of “C:QuakeDev”, create the following folders:
- “id1″—where we store the original Quake content and our completed maps.
- “tools”—where we store our editor and compiler
- “working”—where we store our rough drafts “.map” files.
- “wads”—where we store our texture packages, called “.wad” files.
Your folder structure should now look like this:
Quake Game Assets
Now that we have our folder structure, we need to fill it. And the first thing we need is the Quake content so we can play the game.
If you don’t have a copy of Quake already, you can purchase it for a few dollars on steam or gog (where it also includes the expansion packs).
Once you have downloaded a copy of the game, you will need to find the files “pak0.pak” and “pak1.pak” within the “id1” folder. These “pak” files contain all of the game’s content, including the models, textures, sounds, maps, and even the compiled gameplay code! Copy these files, and paste them in your “C:QuakeDevid1” folder.
How to find your id1 pak files from a steam download
While in your “C:QuakeDevid1” folder, you should also add a “maps” folder. This is where our final levels will go so we can play them.
The Sourceport
If you have played your copy of Quake through steam or gog, you may have run into problems with the graphics on your modern computer. This is where sourceports come in. A sourceport is a modern version of the engine (a port of the source code) to run the gameplay code with more features and better compatibility.
For a simple sourceport, I recommend Quakespasm, which you can download here: https://sourceforge.net/projects/quakespasm/. For additional information about Quakespasm, you can visit their website.
I will be using Quakespasm throughout this tutorial, but you may also be interested in trying the Mark V sourceport http://quakeone.com/markv/.
Once you have downloaded your sourceport, you should extract the files into your “C:QuakeDev” directory.
With the sourceport extracted, your “C:QuakeDev” directory should now look like this:
It’s important that your sourceport executable (“Quakespasm.exe” in this case) is in this folder above the id1 folder, because quakespasm needs the id1 “.pak” files to run.
If you extracted your sourceport into a subfolder, like “C:QuakeDevQuakespasm-0.93.1_Win64”, then the sourceport won’t work without additional configuration. You should cut and paste those files to the “C:QuakeDev” directory.
Testing So Far
Now that you have the game and your sourceport, you should test that everything works. Run “Quakespasm.exe” and attempt to start a new singleplayer game. If everything is correct, you should see something like this:
If instead you see a warning like this…
… double check that “Quakespasm.exe” and the id1 folder are in the QuakeDev folder, and that “pak0.pak” and “pak1.pak” are directly within the id1 folder.
At this point, you can now play all of the base game for Quake. As you go through this tutorial series, I recommend taking the time to play the first episode of Quake. This will help you develop your tastes as a designer and gain a sense of what works and what doesn’t, especially from a perspective of 2019 looking back at a 23 year old game.
The Level Editor
Now that we can play Quake, let’s set up the tools to make maps. First, we need a level editor, which let’s us create and modify our “.map” files; this means everything from shaping level geometry to adding monsters and applying textures.
For our level editor, we will be using Trenchbroom, which you can download here: https://github.com/kduske/TrenchBroom/releases/download/v2019.6/TrenchBroom-Win32-v2019.6-Release.7z. You can also read more about the tools on the main Trenchbroom website.
Once you have downloaded trenchbroom, extract it into your “C:QuakeDevTools” directory. You may also need 7-zip to extract the Trenchbroom files. (7-zip is a tool that allows for better zipped file compression than standard “.zip” files.)
For Trenchbroom and our other tools, the exact directory location does not matter. We could have our Trenchbroom folder in “My Documents” and still be able to work. But it’s good to keep organized with all of your tools in one spot, especially if you have multiple versions of the tools.
Once you have your Trenchbroom files extracted, I recommend creating a shortcut to the “Trenchbroom.exe” in your main “C:QuakeDev” directory. This will save you time digging through folders, and make life easier for enabling mods later on.
Configuring Trenchbroom
Now let’s run Trenchbroom for the first time and make sure it works. First, let’s set our preferences for making Quake maps in Trenchbroom. When you create a new map, there is an option to Open Preferences. Here, you should go to the Quake tab and set the Game Path to “C:QuakeDev” where your sourceport is.
These preferences are also where you can modify your keyboard, mouse, and display settings for Trenchbroom. For this tutorial series, we will be using the defaults.
Now that the preferences are set, let’s create a new map and select Quake for the game. If everything is working, you should see a screen like this:
I will go into detail on the features of the Trenchbroom editor in a future tutorial. For now, what matters is that it works!
If you saw an error message, or your editor did not launch successfully, you may need these Visual C++ Redistributables.
The Compiler
Quake level design involves two main types of file. There are the “.map” files, which are what we use in our level editor. Then there are the “.bsp” files, which are the compiled maps that we can play. In order to turn the raw “.map” file into a “.bsp”, we have to compile it. This compilation process optimizes the map, creating “view portals” that determine what is visible to the player in the final map. The compilation process also calculates the lighting in our level by “baking” the light data as “lightmaps”, sort of like texture.
You can think of compiling like baking a cake. The “.map” file is the cake batter and the “.bsp” is the cake. While we’re working with the batter, we can still make changes. Once the batter goes into the oven and “compiles”, those changes are locked in. Our compiler tools make our lives a little easier than with baking because we get to keep a copy of the “.map” when it creates the “.bsp” result, instead of having to start a new cake.
For our compiler, we will use EricW’s Tools, which you can download here: https://github.com/ericwa/ericw-tools/releases/download/v0.18.2-rc1/ericw-tools-v0.18.1-32-g6660c5f-win32.zip. You can also read more about EricW’s tools on his website. As a modern compiler, we get many more options than were possible with Quake back in 1996, like sunlight and bounce lighting!
Once you download EricW’s compiler, extract it to “C:QuakeDevTools”. Your folder should now look like this:
Inside of the ericw-tools folder, you should then have a “bin” folder and a “doc” folder. The “bin” folder contains the “binaries” which are the executables that run the various stages of “.map” compilation.
You now have everything you need to make and compile a map! But, let’s make our lives a little easier with a graphical user interface for our compiler. For this, we will be using the Necros Compiler GUI, which you can download here: http://www.quaddicted.com/files/tools/ne_q1spCompilingGui103.zip. You can also read more about the compiling GUI on the tool’s website, The Shores of Nis.
Once you download the compiler GUI, extract it to “C:QuakeDevTools”. Your folder should now look like this:
Now we need to set up our compiler GUI to know about the actual compiler tools. Go to “C:QuakeDevToolsne_q1spCompilingGui103” and run “ne_q1spCompilingGui103.exe”. From here, let’s go to “settings” and then “folder setup”. On this screen, we need to make three changes:
- Set the “Tools Folder” (in the top left) to the “bin” folder containing the EricW compiler tools.
- Set the “Working Folder” (in the middle right) to the “C:QuakeDevWorking” folder we created earlier. This is where the compiler will save a copy of our “.map” and output warning logs for errors.
- Set the “Output Folder” to “C:QuakeDevid1maps”. If you did not create this “maps” folder earlier, do so now. This is where our compiled “.bsp” will go so we can play them.
Once you have completed these steps, your compiler settings should look like this:
Now select “Done”, which returns you to the main screen of the compiler GUI. Here, we need to set the “Quake Engine” to our sourceport. Once we have a map to compile, we will also want to change the “Source Map”.
As with Trenchbroom, I recommend creating a shortcut to the “C:QuakeDevToolsne_q1spCompilingGUIne_q1spCompilingGUI.exe” that you can access from the main “C:QuakeDev” directory.
One Last Thing
All you are missing now to make your own first Quake map are some textures. To keep things simple to start, I recommend downloading id1_wads_per_map, which includes a “.wad” texture package for each level in the original game. I also recommend Khreathor’s prototype.wad, which has simple grid textures and a variety of colors.
Extract your “.wad” texture packages into the “C:QuakeDevWads” directory to keep things organized.
NextTime
For Part 2 of this tutorial series, I explain how to use these tools that we’ve set up. I also explain how to take a basic map through the compilation process. In Part 3, we’ll start modifying our first map and learning some features of the tools. From there, we’ll explore the design patterns of Quake.
In the meanwhile, here are some resources for you to continue learning:
- Dumptruck_DS’s Trenchbroom Video Tutorials
- The Quake Mapping Discord for help and questions. (You can ping me @ mclogenog, or ask others for help)
- The Quake level repository Quaddicted
Downloads
Mod releases need engine to play, engine can run other mods and does not run darkplaces mod by default. See Quick Guide To The Mod below. All builds of anything include source.Please read the ReadMe for additional information.
Other files
Beta releases, old versions, and miscellaneous mods I made are in the files directory, this page only lists current versions of darkplaces and some utilities.You can also find a lot of old fun Quake stuff on idgames2 mirrors, there's a full one over at mancubus.net.
Latest stable/official release
DarkPlaces engine Windows/Linux/Mac OpenGL build 20140513 darkplaces executables for Windows (32bit, compatible with Windows XP/Vista x64/7 x64), Linux 686, Linux amd64, and Mac OS X 10.4 or above (Intel/PowerPC), and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSDDarkPlaces engine Windows OpenGL build 20140513 darkplaces executables for Windows (32bit, compatible with Windows XP/Vista x64/7 x64), and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSD
DarkPlaces engine Windows 64 OpenGL build 20140513 darkplaces 64bit executables for Windows Vista/7 x64 only, and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSD
DarkPlaces mod build 20130301 requires engine and quake data, includes rtlights files for all id1 maps
Latest development autobuild release (updated every 6 hours) if you want to keep up with the latest changes
DarkPlaces engine Windows/Linux/Mac OpenGL build darkplaces executables for Windows (32bit, compatible with Windows XP/Vista x64/7 x64), Linux 686, Linux amd64, and Mac OS X 10.4 or above (Intel/PowerPC), and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSDDarkPlaces engine Windows OpenGL build darkplaces executables for Windows (32bit, compatible with Windows XP/Vista x64/7 x64), and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSD
DarkPlaces engine Windows 64 OpenGL build darkplaces 64bit executables for Windows Vista/7 x64 only, and source code compatible with Windows/MacOSX/Linux/Solaris/FreeBSD/NetBSD/OpenBSD
Latest development version in the Subversion Repository
Accessing the SVN server can be done with this commandline:svn co svn://svn.icculus.org/twilight/trunk/darkplaces darkplaces
Alternatively you can put the svn:// address into TortoiseSVN or any other graphical client, you can also use svn://svn.icculus.org/twilight/trunk to get all the utilities as well.
Quake art enhancement projects
Rygel's 2.7GB ultra pack (Rygel's 2.7GB ultra quality texture pack, ready to drop into a quake gamedir such as id1, or grab the 900MB high quality version here which loads much faster and is usable on video cards with less than 1GB video ram.Quake Retexture/Remodel Project (maintained by Up2nOgOoD[ROCK] as primarily a QuakeWorld content replacement project, difficult to install on DarkPlaces, formerly known as the QE1M1/QE1 project made famous by Tenebrae).
Romi's rtlights file for Quake (rtlights pack for Quake - drop this file in your id1 directory to get improved performance in all id1 maps when using Realtime World Lighting in the options menu)
Romi's rtlights file for Quake mission pack 1 (rtlights pack for Scourge of Armagon - by Ritual Entertainment, formerly known as Hipnotic Entertainment)
Various utilities
hmap2 build 20121222 useful for compiling maps with colored lighting, rotating doors, and lots of other features, check out the readme, extremely high limits (if map really is too complex for quake limits it will write BSP2 format for use in darkplaces)dpmaster 2.2 DarkPlaces, Quake3, Return To Castle Wolfenstein, Wolfenstein: Enemy Territory, and QFusion master server program written by Mathieu Olivier, supported by the net_inetslist command in darkplaces as well as the menu (lists all servers that have sv_public 1 set, if they are using the master servers you are using), includes windows executable as well as source code which compiles on Linux and BSD.
lmp2pcx build 20070412 converts every .lmp, .mip and .wad file in the current directory to .pcx, .tga, .lmp, and .mip files
lhfire build 20070412 particle effect renderer used for the explosions, plasma shots, and other sprites in the mod, can make .spr, .spr32, and .tga output, read the included scripting info for use
setgamma 1.1 (Windows only) commandline gamma tweaking utility for whatever uses one can imagine, has special support for 3DFX voodoo1/2 addon cards
md3 model tool and makesp2 build 20070412 modeltool is useful for renaming shaders within an md3 model, and changing the flags value to add trail flags like 1 for rocket, 2 for grenade, 4 for gib, 8 for rotating pickup item, etc - for more flags search for EF_ROCKET in protocol.h and read the other values, makesp2 makes a quake2 .sp2 sprite file (which does not include images) given commandline options (does not access the images, the dimensions can be completely different)
.dpm and .md3 model compiler utility for mod developers reads a .txt script listing .smd files to compile into a .dpm model file and .md3 model file, see included documentation for example script and documentation, smd is produced by Half-Life(tm) 1/2 model exporters available for some 3D modeling programs, it is a skeletal model format
.dpm model viewer utility for mod developers displays a .dpm model with texturing, allows you to view animations and rotate the model, but not much else
.tga alpha fixer this program can fix broken tga images written by certain paint programs such as Paint Shop Pro(r), this repairs transparent images that do not appear transparent in darkplaces, and clears unused palette information in truecolor images
Patches for broken mods
bugfixed TargetQuake this is a full version (not a patch) of the famous platform game TargetQuake fixed up to work properly in DarkPlaces engine, many bugs fixed, mostly to do with setmodel being called without setsizebugfix patch for X-Men: Ravages of Apocalypse this is a bugfix patch for the formerly commercial Quake total conversion X-Men: Ravages of Apocalypse, it fixes many stupid bugs in the qc code, mostly related to setmodel being called without setsize, however it does not magically turn it into a good game :)
Other things LadyHavoc made or worked on
Alien Infestation speedmod from QuakeExpo 2006 a speedmod with a custom map using the models provided in the speedmod theme, alien eggs (which spawn even in deathmatch) on the ceiling drop facehugger-like critters, and also watch out for the security droids.dlit files for id1 maps this pk3 allows you to use bumpmapped/glossmapped wall textures without turning on realtime world lighting, requires OpenGL Shading Language capable card, such as GeForceFX 5200 or above or Radeon 9500 or above, note: this pack does not have colored lighting, it is simply hmap2 -relight done on each map
quake 1.06 qc source this is just the quake 1.06 qc source, a decent starting point for making new mods, simply unzip to quake/mymod/qc/ and edit to taste, use frikqcc or fteqcc to compile the code, you can find those with a web search
quake 1.06 qc source without singleplayer same as the above source in every way except lacking monster code and everything associated with it, preserves all features in deathmatch, this may be a better starting point for multiplayer-only mods
Quake Deathmatch Revelation experimental deathmatch mod this is an experimental mod testing out some modifications to standard Quake deathmatch: ammo, health, and armor regenerate, you hear a noise when you do damage to another player, explosions have a larger splash radius but do less damage for splash, no items spawn, and the weapons are rebalanced to be more equal to eachother
Rocket Symphony experimental deathmatch mod from QuakeExpo 2004 this mod is played from an overhead perspective and replaces all the quake weapons with various forms of rocket launcher, firing in many different shot patterns, including spiral attacks, it is inspired by the boss battles in the vertical shooter game Ikaruga(r), and is meant to simulate dueling bosses, but it needs a very wide open map with a large flat floor, dpdm2 sort of works for this purpose, but I'd appreciate if someone made a better map for this mod
Nexuiz completely open source online deathmatch game using the DarkPlaces engine, does not require Quake
Maps (some included in darkplaces mod, but are playable without it)
dpdm1 a very small and brutal deathmatch map.dpdm2 a very large in-progress deathmatch map.
LadyHavoc's old maps a collection of old maps (not DarkPlaces related) by LadyHavoc: ctfgold8 lhca1 lhdm4 metlhell rampcity
entitytest.bsp test map testing map created years ago to test a report of darkplaces crashing when too many nailgun models were on screen, never found the crash, but this is kind of an interesting test map as it has a moving sky brush which gives most engines a heartattack, and demonstrates large colored flashing lights, warning: there's a lone fiend in this map in singleplayer
cavetest2.bsp testing map created years ago to push the limits of the q1bsp nearly to the point of breaking, crashes most engines at load, runs poorly, has over 26000 surfaces and over 10000 leafs in a single room, and it is fully vised (which actually didn't take that long) and lit, but barely playable, warning: in singleplayer this is nearly packed wall to wall with monsters, plays better in deathmatch
Example stuff for engine and mod developers
sv_user.qc for mod developers direct port of player physics code from engine to QC (this code is called by darkplaces engine if found, allowing great flexibility), highly optimized and more readable, no behavior changes, modify this for your own mods and enjoy.lit colored lighting data support tutorial for engine coders all changes commented with LadyHavoc, changes engine to use RGB colored lighting internally, supports static (.lit) colored lighting and dynamic, models are properly lit in color as well
particle font texture for mod developers example image to start with when customizing particle textures, be sure to keep directories when extracting to your mod directory
Quick Guide To dpmod
darkplaces -game dpmod
You can change video modes and quality settings using the options menus
Note: Video settings are saved to config per -game.
To play the mod either start a singleplayer game and play through normal quake levels, or try these examples:
dpdm2 with deathmatch 7 (monsters in deathmatch) example to type in the console: deathmatch 7
Multiplayer connections work through NAT routers, to host a server behind NAT, please set your NAT router to forward port 26000 UDP to your machine, and everyone should be able to connect to your server then, also use sv_public 1 if you want it to show up on the server browser (LAN searching is not implemented yet).
map dpdm2
How to play against bots in multiplayer: deathmatch 1
map dpdm1
bots 3
The bots work in any simple quake map (they don't understand liquids, doors, lifts, etc) as long as there are enough item spawn points to navigate by, or if the map has waypoints.
Since people don't seem to read the ingame instructions (dphelp in console), +button3 is the altfire on weapons, +button4 is zoom, +button5 is grapple in deathmatch.
Cvars in dpmod (all of these take effect immediately):bots [number]
adds bots to the game, set back to 0 to remove them.spawnmonsters [number]
creates the specified number of monsters in multiplayer game modes (useful for CTF with monsters thrown in the mix, or you can play deathmatch 7 instead). (note: won't take effect during a level if it was 0 when the level began, as the monsters aren't loaded)damagescale_playerdamage [number]
multiplies damage done by players, so for example 0.5 would be half damage, and 4 would be quad damage.damagescale_monsterdamage [number]
multiplies damage done by monsters, so for example 0.5 would be half damage, and 4 would be quad damage.damagescale_monsterhealth [number]
multiplies health of monsters, so for example 0.5 would be half health, and 4 would be quad health. (fun for coop or just a harder deathmatch 7)
Parts of DarkPlaces mod that were made by Tomaz (thanks Tomaz!)
Shell casing model and other casingsWeapon models updated (offset to side and muzzleflash removed)
Parts of DarkPlaces mod that were 'scavenged' from other mods
Visible weapon player models from Quake Done Quicker (which took them from Deathmatch Essentials)Flag model from Threewave CTF (what's Capture The Flag without the authentic Threewave flags?)
Quake 1 Download Full
Plasma gun sounds from Nelno's Plasma Gun mod (although he ripped them from DOOM, of course)Burning sounds (sound/fire/launch.wav and sound/fire/burn.wav - ripped from Ultimate Quake, launch.wav is not currently used)
Flag pickup and capture sounds from Threewave CTF
Quake Pak1 Download Full
Quake Pak1 Download Free
Foot step sounds from Quake: Scourge of Armagon (mission pack 1, not used in it however... I doubt Ritual Entertainment minds me using them)Of course, if anyone of the above mentioned mod teams or companies wishs me to remove something, I will immediately remove it and try to find a replacement.