Valve Hammer Editor, formerly known as Worldcraft and now commonly called Hammer, is Valve Software's map creation program for their first-person shooter computer game Half-Life and for all of its mods, sequels, and expansions, as well as all games using the Source engine. Old versions of Worldcraft also supported Quake and Quake II. There are currently two versions- version 3.5, a beta version, supports only Half-Life and its mods, but can be run without Steam. The current version, version 4.0, supports Half-Life 2 for the Source engine as well as Half-Life, but requires Steam to be operating. It is accessed via a download of the Source SDK.
Prior to the release of the
Source engine, the Editor used only brushes (blocks) called primitives to create architecture. These primitives were in the shape of blocks, cylinders, arches, wedges, and spikes, though through the process of
vertex manipulation much more complex brushes could be created. Prefabricated items were also provided to allow frequently used structures to be placed easily into a level. Version 4.0 includes
displacement maps for making realistic and smooth terrain and geography. There has also been the addition of prefabs specific to
Half-Life 2 and new primitives such as a sphere or a
torus. Since the new primitives are simply pre-grouped sets of simpler primitives, they can be used in older games that are not based on the
Source engine. However, some features of version 4.0, such as
displacement maps, are not compatible with older games. Many level designers who work with both pre and post-
Source engine games usually keep an install of 3.5 to avoid using unsupported features in earlier games. Recently a new feature has been added to Hammer which allows the user to compile maps using HDR, a technology which allows for more realistic in-game lighting.
In addition to brushes, entities are used in creating a level. There are three major types of entity:
- A logical entity controls engine functions, and can be lights, counters, or data managers.
- A brush entity is built from converting a brush into an entity, and usually function depending on their size and location. These include triggers, water (in older versions; the Source engine handles water automatically,) and brushes desired to produce certain visual effects.
- A model entity is a logical entity with an attached model, intended to have interaction with the player. These largely consist of detailed "props" such as chairs and radios, or NPCs.
Files and compiling
Valve Hammer Editor version 4.0 saves a level file in
.vmf format by default. Before this, it saved a level file in the binary, proprietary
.rmf or text-based, human-readable
.map format. The .vmf format is a simple file that contains all the information about a level in a format vaguely similar to an
XML file. It originated because of
Half-Life's reliance on the
Quake engine, and has remained as a result.
Valve includes compiling tools with the
Source SDK -
vbsp,
vvis, and
vrad. The following list is largely true for both formats, but is intended as a reference for
Source engine levels.
- First, a level is passed through the bsp program. This program uses the brushes to create the architecture of the level. It also places all entities where they should go based on the level design. This program writes the initial .bsp (Binary space partitioning) file.
- Second, the level passes through the vis (Visible Information Set) processor, which determines what polygons are rendered and what lights appear where. Since Half-Life 2 uses portal based rendering to determine what is visible at any given time, this program creates the portals by dividing the map into convex regions with visibility data, like Quake-based engines do at a per-polygon level.
- Finally, the level passes through the rad program. This program computes the lighting of the map, including pseudo-radiosity for Source maps, resulting in more natural-looking lighting. If there is a leak in the level, only standard lighting will be computed - radiosity will not be simulated, resulting in faker/harsher lighting. If the mapper doesn't run the rad application, the level will appear as full-bright (without shadows or lighting of any kind, with every texture being fully lit). It is possible to re-create this effect on all maps, even if the vrad program has been run or if there is not a leak on the map, by typing sv_cheats 1 at the console screen and mat_fullbright 1 after that. (These are Source-specific CVARs, and the whole procedure is considered cheating on multiplayer games.)
- With earlier versions of VHE (up to 3.5) and games for the GoldSource engine, there were four steps in the compilation. BSP is preceded by CSG (constructive solid geometry), which parses the brushes, places entities, and sets up the general framework of the level for the BSP pass which generally only performed space partitioning. In the Source engine and VHE 4.0, the CSG process has effectively been merged into BSP.
See also
External links
Game modification tools | Half-Life | Half-Life 2
Half-Life#Valve Hammer Editor | Valve Hammer Editor | Valve Hammer Editor | Valve Hammer Editor