Difference between revisions of "Map compiling"

From Quake Wiki

(Added links to BJP's and LordHavocs tools as a start. Should each tool/step of the compiling process have its own wiki page or all be on this one?)
 
Line 1: Line 1:
Compiling a map is done in three steps.
+
'''Map Compiling''' is the process of converting a [[level]] from the [[map file]] generated by a [[level editor]] into a [[bsp file]] which is ready to be played in-game.  It generally consists of three steps: QBSP, Light, and Vis.
  
* [[QBSP]]
+
==QBSP==
* [[VIS]]
+
{{Main|QBSP}}
* [[LIGHT]]
+
'''QBSP''' is the first stage of map compilation.  It is the process that reads the map file and generates the bsp, and in doing so calculates all of the geometry and collision data for the level.  It also extracts any needed textures from the [[wad files]] and repackages them into the bsp file.  After this step, the level can be loaded into the game engine.  However, it will not have any lighting or visibility data.
  
 +
==Light==
 +
{{Main|Light (map compiling)}}
 +
'''Light''' is the stage of map compilation that calculates [[lightmaps]] for the level.  Using the light entities from the [[entity lump]] of the bsp file, it precalculates the lighting on every surface in the level, and saves that lighting as lightmaps in the bsp file.
  
----
+
==Vis==
 +
{{Main|Vis}}
 +
'''Vis''' is the stage of map compilation that calculates [[PVS]] data for the level.  With PVS data, the engine need only draw those parts of the level (and those entities) that might be visible from the current player location.  This performance optimization was necessary to allow levels as large and as complex as Quake's on the computers of the day.  And even today, most games use equivalent systems to allow levels, props, and NPCs to be as detailed as possible.
  
 +
==Other Compiling Tools==
 +
In addition to the above three tools, some mappers need additional tools for their specific develompent pipeline.
  
Compiling tools:
+
===Map Converters===
 +
Map converters are used to convert map files from one format to another, so that mappers can use a level editor that does not natively support Quake.
  
 +
===Skip===
 +
Skip tools are standalone programs that can remove [[skip texture|skip textures]] from a level, as skip textures are not supported by any QBSP version.
 +
 +
==Links==
 
* Bengt Jardrup's [http://user.tninet.se/~xir870k/ enhanced versions of TxQBSP/TreeQBSP, RVis, Light]
 
* Bengt Jardrup's [http://user.tninet.se/~xir870k/ enhanced versions of TxQBSP/TreeQBSP, RVis, Light]
 
* LordHavoc's [http://icculus.org/twilight/darkplaces/download.html Hmap2]
 
* LordHavoc's [http://icculus.org/twilight/darkplaces/download.html Hmap2]

Revision as of 09:05, 10 January 2010

Map Compiling is the process of converting a level from the map file generated by a level editor into a bsp file which is ready to be played in-game. It generally consists of three steps: QBSP, Light, and Vis.

QBSP

Main article: QBSP

QBSP is the first stage of map compilation. It is the process that reads the map file and generates the bsp, and in doing so calculates all of the geometry and collision data for the level. It also extracts any needed textures from the wad files and repackages them into the bsp file. After this step, the level can be loaded into the game engine. However, it will not have any lighting or visibility data.

Light

Main article: Light (map compiling)

Light is the stage of map compilation that calculates lightmaps for the level. Using the light entities from the entity lump of the bsp file, it precalculates the lighting on every surface in the level, and saves that lighting as lightmaps in the bsp file.

Vis

Main article: Vis

Vis is the stage of map compilation that calculates PVS data for the level. With PVS data, the engine need only draw those parts of the level (and those entities) that might be visible from the current player location. This performance optimization was necessary to allow levels as large and as complex as Quake's on the computers of the day. And even today, most games use equivalent systems to allow levels, props, and NPCs to be as detailed as possible.

Other Compiling Tools

In addition to the above three tools, some mappers need additional tools for their specific develompent pipeline.

Map Converters

Map converters are used to convert map files from one format to another, so that mappers can use a level editor that does not natively support Quake.

Skip

Skip tools are standalone programs that can remove skip textures from a level, as skip textures are not supported by any QBSP version.

Links