Der Hammer Editor (ehemals Worldcraft) von Valve ist ein Level-Editor zum Erstellen eigener Spielszenarien (Maps) für den Ego-Shooter Half-Life und deren Mods (darunter der bekannte Online-Shooter Counter-Strike) sowie in einer neueren Version für Half-Life 2 bzw. Spiele, die die von Valve entwickelte Source Engine nutzen. Zudem ist der Editor auch für das kürzlich erschienene Rätselspiel Portal verwendbar.
Dank der einfachen Bedienung ist der Umgang auch für weniger erfahrene Benutzer relativ leicht zu erlernen. Im Internet findet man eine große Mapping-Szene vor, die Tutorials, Texturen, vorgefertigte Elemente, sogenannte Prefabs und natürlich auch eine große Anzahl von fertigen Maps anbietet. Die Ansprüche an die Mapper sind hier sehr groß und eine sowohl spielerisch als auch optisch gute Gestaltung ist meist die Voraussetzung dafür, dass die Map einen gewissen Bekanntheitsgrad erlangt.
Maps bestehen aus zwei Komponenten: Brushes und Entities:
Während in anderen Level-Editoren, wie etwa dem UnrealEd, eine Methode angewandt wird, bei der Räume quasi aus einer unendlichen Masse "herausgeschnitten" werden, verwendet der Hammer Editor ein System bei dem die Brushes in einem vollkommen leeren Raum (engl. void) platziert werden. Da aber das Innere der Map zur Gänze von dem ihn umgebenden Leerraum versiegelt werden muss, führt dies oft zu Problemen beim Kompilieren.
Als Längenmaße werden World Units als Einheit verwendet, wobei dieser ca. einem Zoll entsprechen. Sie werden, wie in der digitalen Welt üblich, in binären Schritten angegeben (1, 2, 4, 8, 16, 32, 64, 128, 256, 512,...). Eine Spielfigur ist im Spiel ca. 72 (64+8) Units groß. Eine durchschnittliche Wand ist 128 Units hoch. Bei dieser Höhe passen die meisten Texturen (flache Bilder, etwa das einer Ziegelmauer, die auf Brushes projiziert werden können, um ihnen Struktur zu verleihen) perfekt zur Mauergröße. Texturen sind in Half-Life meistens 128x128 Pixel groß - 1 Texel, also 1 Pixel einer Textur, entspricht einer World Unit. In Half-Life 2 bzw. der Source Engine werden schärfere Texturen verwendet, die Auflösung beträgt meist 512x512 Pixel (4 Pixel pro Unit).
Die .vmf (Valve Map Format) Dateien, die im Hammer Editor bearbeitet werden können, unterscheiden sich von den .bsp (Binary Space Partition) Dateien, die später vom Spiel gelesen werden. Der Vorgang, in dem .vmf Dateien in .bsp Dateien umgewandelt werden, heißt Kompilieren und muss ausgeführt werden, bevor die Map im Spiel geladen werden kann.
Hammer führt dazu automatisch drei externe Programme aus (vbsp.exe, vvis.exe und vrad.exe), die nacheinander folgende Aufgaben erledigen und das Ergebnis in die .bsp Datei schreiben:
Dieser Prozess ist extrem komplex und kann, abhängig von der Größe der Map und der Geschwindigkeit des verwendeten Computers, mehrere Stunden in Anspruch nehmen. Schlecht optimierte Maps können den Kompilierprozess noch weiter verlangsamen oder sogar zu einem Systemabsturz führen. Die Aufgabe des Mappers besteht aber im Grunde nur darin, zu komplexe oder kleinteilige Brush-Architektur zu Detailbrushes zu editieren, damit die Kompilierprogramme beim Strukturieren der Map-Geometrie keine Probleme haben.