Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Difference between revisions of "Map compiling"

From Quake Wiki

(revert to before vandalism)
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''Map Compiling''' is the process of converting a [[level]] from a [[map file]], which 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]].
+
'''Map Compiling''' is the process of converting a [[level]] from a [[Quake file formats|map file]], which generated by a [[level editor]], into a [[Quake file formats|bsp file]], which is ready to be played in-game.  It generally consists of three steps: [[QBSP]], [[Light (map compiling)|Light]], and [[Vis]].
  
 
==QBSP==
 
==QBSP==
 
{{Main|QBSP}}
 
{{Main|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.
+
'''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 file|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 (everything will be fully bright) or visibility (the game might run slowly) 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==
 
==Vis==
Line 13: Line 9:
 
'''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.
 
'''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==
+
==Light==
In addition to the above three tools, some mappers need additional tools for their specific develompent pipeline.
+
{{Main|Light (map compiling)}}
 
+
'''Light''' is the stage of map compilation that calculates [[lightmap|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.
===Map Converters===
 
A number of games based on [[id software]]'s technology use map files as their level source format, but these files differ in format from game to gameMap 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 all surfaces textured with a [[skip texture]] from a level, so that they are not rendered in-game.  This requires a seperate tool because skip textures are not supported by any QBSP version.
 
  
==Links==
+
==See Also==
* Bengt Jardrup's [http://user.tninet.se/~xir870k/ enhanced versions of TxQBSP/TreeQBSP, RVis, Light]
+
* [[Mapping tools]]
* LordHavoc's [http://icculus.org/twilight/darkplaces/download.html Hmap2]
+
* http://www.gamers.org/dEngine/quake/Qbsp/
 +
* http://web.archive.org/web/20070716175443/http://www.visi.com/~jlowell/tqu/utils.html

Latest revision as of 14:38, 3 September 2023

Map Compiling is the process of converting a level from a map file, which 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[edit]

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 (everything will be fully bright) or visibility (the game might run slowly) data.

Vis[edit]

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.

Light[edit]

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.

See Also[edit]