Mapping

General
Mapping - what you need to get started.

How to start
After installing radiant you should put a copy of your game version into your mapping folder, so you have one game version fo mapping. Then extract all the .pk3 in basoa (change the extension to ZIP, then extract) so you can access the folders.

Now your ready to start radiant. The programm will ask for the game you want to map for.

Settings

 * adjust the view to the 3rd option (camera on top left, top view on upper right, front and side view on the bottom
 * adjust the number of undo levels to your liking.(recommended at least 64)

Basic Controls

 * left-click and draw a square to create a brush.
 * you can select a brush by holding SHIFT + click
 * CTRL + SHIFT + left-click to select only one surface of a brush
 * Resize a brush: Q
 * Clipper: X
 * Clipper: invert cutting side (blue side gets deleted): STRG + ENTER
 * Clipper: cut through, without deleting one side: SHIFT + ENTER
 * ESC deselect
 * Texture Browser: T
 * Surface Inspector: S
 * Patch Surface Inspector: SHIFT + S
 * Invert Patch orientation: CTRL +
 * Invert Selection: I
 * Entity Menu: N
 * Entity List: L (very helpfull to find hidden stuff)
 * Map Info: M
 * Console view: O
 * Cap Selector: SHFIT + C
 * Select Edges: E
 * Copy / paste texture and allignment: mark surface, STRG + C, STRG + V
 * Adjust the grid with numbers 1-9, 0 toggles the grid on and off

Tips

 * use common/caulk texture for all textures that are not visible to the player.
 * use common/clip to create invisble brushes the block the player (for example to not get stuck in detailed brushes)
 * use vis blocking brushes for rooms and detail brushes for room interieur
 * always deselect (ESC) before you create new brushes, deselect the ones you just made

Scale

 * Hallways - CPM1,3 type - 128 units wide. 192 units is also common (hallways you will need even larger)
 * Distance between Levels / Floors - Average seems to be about 256 units.
 * Atrium size - 1024 units for smaller/tighter maps
 * Wall thickness - 64 units
 * Player has 32x32x64 as a reference

Compiling

 * use q3map2 meta build, if you don't have lights in your map yet
 * very high quality: -light -fast -patchshadows -bounce 3 -gamma 1.4 -dirty -dirtdepth 32 -dirtscale 3 -filter -samplesize 8

you can also create a .bat file, edit it: "C:\path\to\q3map2.exe" -meta -v "C:\path\to\mapname.map" "C:\path\to\q3map2.exe" -vis -v "C:\path\to\mapname.map" "C:\path\to\q3map2.exe" -light -fast -patchshadows -samples 3 -bounce 8 -gamma 2 -compensate 4 -dirty -v "C:\path\to\mapname.map"
 * non plus ultra: -light -patchshadows -bounce 3 -gamma 1.2 -dirty -dirtdepth 32 -dirtscale 3 -filter -samplesize 8
 * add -flat for comic style (cellshading like / high picmip)

Testing
if you only want to test your .bsp you have to type /sv_pure 0 /devmap

Common erros
cm_loadmap: SV_Brushmodell NULL (0)

this happens if you have phantom brushes, that are not visible in radiant. To solve it,


 * use the brush cleanup tool in the menu


 * and / or: hold shift, draw a box arround all your map -> save selected (to a new map file)

Open the new mapfile, compile it. now it should work.

hit per-surface style limit <4>

not an error, only a warning.

but you should check your lights, make lights that are close to each other have the same settings (color, brightness)

(to be completed...)

Mapping: Tools

 * GTKRadiant 1.5 (stable) Radiant Downloads
 * ZeroRadiant 1.6 (should be stable but still in development)
 * q3map2
 * easygen
 * TextSynh (tool to create tiles) TexSynth Download

.pk3 map files - content overview
a standard .pk3 mapfile consists of
 *  .pk3
 * maps
 *  .bsp ( = the map itself)
 * .aas (= the bot file)
 * models
 * mapobjects
 * 
 * textures
 *  ( = the textures)
 * scripts
 * .shader ( = the shader, lightmap)
 * .arena ( = needed for the Skirmish menu)
 * levelshots
 * .tga /.jpg
 * Readme.txt

files in bold are required.

(to be completed...)

example for an .arena file

 * needed to be able to select the map from the menu (skirmish menu

{ map        " " longname   "my great map" type       "ffa tourney ctf team" bots       "Bones Grunt Daemia" fraglimit  20 timelimit  15 }

example for an. shader file
01 textures/base_support/x_support2 02 { 03         surfaceparm metalsteps 04         surfaceparm trans 05         surfaceparm alphashadow 06         surfaceparm playerclip 07         surfaceparm nonsolid 08         surfaceparm nomarks 09         cull none 10         nopicmip 11      { 12          map textures/base_support/x_support2.tga 13         blendFunc GL_ONE GL_ZERO 14         alphaFunc GE128 15         depthWrite 16         rgbGen identity 17      } 18       { 19          map $lightmap 20         rgbGen identity 21         blendFunc GL_DST_COLOR GL_ZERO 22         depthFunc equal 23      } 24 }

decompiling a .map file into a .bsp
q3map2 -game [game abbreviation] -convert -format map [name of the bsp file].bsp