The primary BSP process builds the game spaces, establishes the position of entities, and builds a lighting map of the arena. Altogether, there are four distinct processes that can be run together or separately. The first, the bsp process establishes the data organization of the map. The second phase, the vis process, builds the walls and internal spaces. The third process lights the map, calculating brightness and shadow and the color of the light that falls on every map surface. The fourth and final process is the Bot bsp, which creates the area (.aas) file that the bots use to navigate the map.
The size and complexity of a map and the computer's raw processing speed determine how long it will take a map to compile. Tiny one-room maps that lack detail or numerous lights will compile rapidly. As maps become larger, are broken up into more spaces and have more complex lighting, the speed of compile drops.
Generally speaking, if you have an older, slower processor, you may want to make very small maps.
novis - Only the bsp function is performed. Checks
for map leaks. No light information is created, so the map is seen
at "fullbright". Because there are no shadows to get in the
way, this mode is also good for looking for overlapping brushes,
and texture misalignment.
fastvis - Performs a bsp and a quick version of the vis
process. The entire world is made into a single bsp partition. It's
fast, but when you look in a particular direction, you see every
single detail in that direction. Nothing is blocked. A light map is
created. This mode was used for space maps.
fullvis - the world is subdivided and broken up
into smaller chunks so you can see only what is logically in your
view. A light map is created. This is what is used to check
polygon-in-view counts. Combined with light extra, it is the final
compile for all maps.
entities only - When you add or subtract non-brush model
entities from a map, use this compiler. It's very quick. If you
change the brush components of a brush model entity (like a trigger
or a door), you must do a compile that includes a vis stage (fast
or full). If you are only changing the properties, an entities-only
will do. However,, if a brush model entity also has a md3 model
component, the map must be at least fastvis'd for that entity to
appear in the map.
relight - Use only if no geometry (or light emitting
textures) have been changed. It will rebuild the light map with the
new information.
(nocurves) - This function is always a modifier to
another bsp command. It does (or doesn't do) what it says. The map
is compiled without curves.
(nowater) - This function is always a modifier to another
bsp command. The map is compiled without water, lava, or slime.
(no light) - This function is always a modifier to
another bsp command. No light map is generated. A fast way to check
polycounts. Most often used in conjunction with the novis bsp
command.
(-light extra) - This function is always a modifier to
another bsp command. A finer degree of subdivision is used to
create a more detailed light map. This is generally only done when
the lighting is going through a final fine-tuning because it takes
a long time. Instead of being calculated in 16 unit increments, the
light is calculated in 8 unit increments. This has no effect on
final map size, only on the time needed to compile.