Editing Getting Started Mapping (section) From Quake Wiki Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits. Anti-spam check. Do not fill this in! =Time to compile!= Let's save our map now with '''File>Save''' or '''Ctrl-S'''. Place it somewhere smart, we'll be using the .map we've created. The various Quake compilers are all [http://en.wikipedia.org/wiki/Command-line_interface command line interfaces], but let's use a nice front end to make it easy for us. ==Setting up the GUI== Now it's time to use Necros' CompilingGUI, as pictured below. Let's make sure this are set up properly before we begin. [[File:compile_gui.png|thumb|center|upright=2.5]] In '''Settings>Folder Setup''', we need to point the program at the location of our tools folder, which is the directory on your computer where you places the TyrUtils compilers you downloaded earlier. Ensure that the .exe file names of each of the compilers is correct (do not worry about skip.exe, we will not be using it). For now, we do not need to set any Command-line Arguments. Working Folder should be set to where you save your .map files. Output Folder needs to be set to Quake's '''\id1\maps\''' directory where it searches for levels, such as '''C:\Quake\id1\maps\'''. You may need to create this directory if you do not already have it. When mapping for mods, such as [[Quoth]], this directory will be '''\quoth\maps\''' instead. Exit Preferences once this is all complete. In the main dialog of the GUI, we need to set a couple of more things. First is the '''Source Map''', which is the .map file we just created. We also need to set the '''Quake Engine''' we are using. This will be an executable inside your Quake directory, such as "GLQuake.exe" or "Quakespasm.exe" or "Darkplaces.exe". If you require any Command-line Arguments when running Quake, or if you are mapping for a mod (ex: "-hipnotic -game quoth" when making a map for the Quoth mod), place them in the line provided. ==QBSP== [[File:map_tutorial_qbsp.jpg|thumb|Our map in game!]] Now that things are set up, let's compile and try out our map! We're going to compile our map step by step to see the different parts in action, but you could run them all at once if you wanted as they will run in order. In the main dialog of the GUI, check '''only''' the box next to the word "QBSP", and the box in the lower right corner which says "Run Quake", and uncheck all other boxes. Now let's compile, go to '''File>Compile''' or press '''Ctrl-C'''. A command-prompt dialog box will appear on screen for a second or so, and then Quake should launch and you'll be playing your map! If you've been paying attention, you shouldn't be surprised to see that your map is a fully bright box with no shadowing. This is because we have only run QBSP on our .map. QBSP turns all our brushes into polygons which are nicely organized for Quake into a format called .bsp, in a process called [http://en.wikipedia.org/wiki/Binary_space_partitioning Binary Space Partitioning]. QBSP is also responsible for taking your textures out of your .wad and compiling them into the .bsp. This means you do not need to supply a .wad alongside your level when sending it to other people, and that a tool such as [[TexMex]] is able to open and extract textures from a .bsp file! See [[QBSP]] for more information and common command-line arguments. ==Light== [[File:map_tutorial_light.jpg|thumb|Light and Shadow]] Once you're done examining our full-bright room, exit Quake and let's get some light working. Back in our compiling GUI, uncheck the box next to the word "QBSP", and check the box next to the word "LIGHT". Compile again, and once back in Quake, our map is now nicely shadowed! General lighting in Quake is not dynamic, but is calculated by our light compiler into what are known as "lightmaps", which are stored in our .bsp file. By default, all lights have a linear falloff, but more modern light compilers (such as the light compiler provided in TyrUtils) have functionality to support other falloffs. Light, especially with some of it's command-line arguments for improving details, on more complex maps can often take awhile to complete, so often when testing small changes to your map like a couple of new monsters, you may not bother running it. This may be obvious, but if you have no light entities in your map and run light, your map will be fully dark. See [[Light (map compiling)]] for more information and common command-line arguments. ==Vis== [[File:map_tutorial_vis1.jpg|thumb|No Vis]][[File:map_tutorial_vis2.jpg|thumb|Vis'd]] You can now compile with Vis if you'd like. Unfortunately, our little single room map is a bit too simple to actually show what it does. Vis is a process which computes visibility of areas, and creates a table known as the [http://en.wikipedia.org/wiki/Potentially_visible_set Potentially Visible Set] (often shortened to PVS), which Quake uses to determine areas which the player cannot possibly see, and thus, does not need to render. Note that brush entities (or any entities), such as doors or triggers, do not block Vis, nor do special brushes like clips or liquids. Only solid brush geometry. I have constructed a simple snaking hallway map to demonstrate. In the pictures to the right, I have enabled "r_showtris 1" in Quakespasm, which outlines the polygons rendered by Quake. Notice that in the picture with no Vis, there are polygons in the distance around corners which are being rendered, which in the Vis'd picture, these polygons are no longer rendered. Even in this simple map it is not a huge amount of savings, but as your levels get larger and more complex, this will be a large optimization. Vis requires that a .bsp be fully sealed to run. This means that all of your entities must be surrounded by brushes, and cannot trace a line into the [[void]]. QBSP will warn you when a .bsp [[leaks]] like this, and generate a [[pointfile]] which can be loaded in either Quake or Trenchbroom to help you find where you need to seal your level. It should be noted that in general, Vis on a more complex map will be the compiling tool which takes the longest. Vis times are effected by the size of rooms, and the complexity of brushes. Large, open areas and very complex geometry can lead to massive compile times (days or weeks!) even on modern CPUs and are part of the reason why things like this are rare in Quake. When you are just starting out, it is advised to build areas the size and detail seen in stock Quake until you have a feel for how Vis times are effected. See [[Vis]] for more information and common command-line arguments. Summary: Please note that all contributions to Quake Wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Quake Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission! To edit this page, please answer the question that appears below (more info): Who created the Quake Soundtrack (Hint: In three uppercase letters)? Cancel | Editing help (opens in new window) Retrieved from "http://quakewiki.org/wiki/Getting_Started_Mapping"