Valve Hammer Editor, formerly known as Worldcraft and commonly named Hammer, is Valve Software's map creation program for their game engine, Source. Versions prior to 4 supported exclusively Goldsrc, Source's predecessor. It is freely available to anyone who has purchased a Source based game, as a part of the Source SDK.
The current version for use with Source is 4.0, however an alpha of Hammer 5 (for Source 2) was released as part of the DOTA 2 Workshop Tools Alpha, featuring an overhauled UI, WYSIWYG viewport, new file formats, support for more advanced displacement meshing, and much more.
The Hammer editor is used by level designers to create new maps for Source-based games. It is used to create geometry and to place objects (entities) in the game world. It can also be used to script events in maps, such as Overwatch Soldiers ambushing the player, via manipulation of entities.
The current version of Hammer, 4.0, supports both Source engine and GoldSrc games. However, placing an entity used in only one engine can cause errors. Those that create maps for GoldSrc usually use version 3.5, which is the last version that only supports GoldSrc games.
In order to create a map for a certain game, Hammer must have a special file, called a .fgd file, associated with it. This file tells Hammer what entities the game uses so that it will let the user select them. The .fgd files for official Valve games using the Source engine already come prepackaged into Hammer with the Source SDK, but for the GoldSrc games, the user must add them manually.
Hammer can also be used to compile maps so that they can be played in a game. To do this, Hammer runs the map through three (four in 3.5 and earlier) .exe programs; vbsp.exe, which renders the geometry, vvis.exe, which renders what geometry appears where, and vrad.exe, which renders the lighting. Versions 3.5 and earlier included an additional program, qcsg.exe, which renders the basic outline of the map for vbsp.exe to fill in. In 4.0, this has been merged with vbsp.exe.
The compilation process in Hammer 5 has been simplified drastically, due to Source 2's use of on-the-fly visibility calculation and a deferred lighting model. As a result, much of the compilation process is no longer required - VBSP, VVIS and VRAD have been replaced by Resource Compiler. Hammer 5 makes use of the Qt Framework for it's UI, allowing for much flexibility in the position of windows and buttons, as well as the rebinding of hotkeys.
Behind the scenes
- Hammer originally started out as a paid Quake level editor named "Worldcraft". During the development of Half-Life, Valve hired Ben Morris, the creator of Worldcraft, and purchased the rights to own the program. They then developed it into the Valve Hammer Editor.
- When Hammer was still an independent product, the developer planned on allowing Hammer to edit Unreal maps. This never came into fruition because Worldcraft was purchased by Valve before Unreal came out.
- Hammer's first name was "The Forge", but it was changed because the level editor for the Marathon game series is named "Forge".
- Old versions of Hammer also supported Quake and Quake II. This is because of the similarities between the GoldSrc, Quake and Quake II engines.
- With some manipulation, it is possible to make Quake maps in Hammer 3.3.
- When first launched, the Hammer featured in the playable Half-Life 2 Beta plays a 3 seconds MIDI intro of the song "U Can't Touch This" by MC Hammer (named "hamrtime.mid"), an obvious play on the name of the artist, and the infamous sentence featured in the song, "Stop... Hammer time!".
- The icon used for obsolete entities consists of what presumably is the head of a Valve developer pasted on the bust of Fonzie from the TV sitcom Happy Days, with his trademarks thumb up and leather jacket.
- The Valve Developer Community - official wiki dedicated to editing the Source engine
- Zoner's Half-Life Tools - alternatives to the compiling tools included with the original Hammer
- TWHL - a large, active mapping community with support for both GoldSource and Source engines