Valve Hammer Editor
From Wikipedia, the free encyclopedia
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.1, 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.
Contents |
[edit] Level design with Hammer
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, and 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.
[edit] 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 static 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.
[edit] See also
[edit] External links
- VERC Collective, information on editing Valve games
- Valve Developer Community, a wiki dedicated to editing the Source engine
- AMMAHLS, alternatives to the compiling tools included with the Source SDK