Hammer Editor

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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.

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.

Geschichte[Bearbeiten]

Der Programmierer Ben Morris, bekannt durch das entwickeln des "Doom Construction Kit" einen Leveleditor für Doom, entwickelte 1996 einen Leveleditor für Quake. Ursprünglich sollte der Editor den Namen "The Forge" tragen, da es jedoch schon einen Levelditor mit diesen Namen gab, nannte Morris den Editor "Worldcraft". Nach einer kostenlosen Betaphase des Leveleditors veröffentlichte Morris am 3. Dezember 1996 die kostenpflichtige Vollversion des Worldcraft. Für einen Preis von 34,95 $ konnte man sich die Vollversion des Editor und zukünftige Updates sichern. Der Editor wurde den Käufern auf einer CD per Post zugeschickt.

Am 14 Juli 1997 kaufte Valve Software die Rechte am Worldcraft Editor und stellte Ben Morris für die Entwicklung an Half-Life ein. Nach den Release von Quake 2 erschien am 18 Dezember 1997 die Version 1.6 des Editors mit unterstützung für Quake 2 und Hexen 2.

Ben Morris verließ am 6. März 1998 Valve Software.

Version 2 des Worldcraft Editor wurde am 9 April 1999 von Valve veröffentlicht. Er war kostenlos, funktionierte aber nur mit Half-Life.

Für Version 3.3 des Worldcraft Editors wurde dem Editor ein Facelift spendiert. Im Jahr 2002 veröffentlichte Valve Version 3.4 des Editors und benannte ihn in "Valve Hammer Editor" um. Am 18 April erschien mit Beta Version 3.5 die letzte Version des Hammers die mit der Goldscource Engine kompatibel ist. Die Beta Version 3.5 erschien nur als Update zur Version 3.4 des Hammer Editors.

Am 5 November 2004 erschien Version 4 des Hammer Editor für Half-Life 2. Nach und nach kamen Updates für den Editor und Support für andere Spiele und auf der Source Engine basierende Mods.

Grundlagen[Bearbeiten]

Maps bestehen aus zwei Komponenten: Brushes und Entities:

  • Brushes sind die einfachsten geometrischen Objekte und bilden die grundlegende Architektur jeder Map (Wände, Böden etc.).
  • Entities werden für alles andere verwendet (Lichtquellen, Startpunkte für den Spieler, Soundeffekte, Einstellungen die den Spielverlauf bestimmen sowie detailliertere oder bewegte Objekte, die sich nicht durch Brushes darstellen lassen)

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 (engl. leak';' Leck).

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 128 × 128 Pixel groß – ein Texel, also ein 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 512 × 512 Pixel (4 Pixel pro Unit).

Kompilieren[Bearbeiten]

Die .vmf (Valve Map File) 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:

  • vbsp.exe bestimmt, welche Polygone später im Spiel zu sehen sind, und schneidet alle überschüssigen Flächen aus der Map. Dies funktioniert nur dann korrekt, wenn die Map vollkommen versiegelt ist, also keine Lücken (engl. leaks) entstehen, die es unmöglich machen Außen- und Innenseite der Map zu unterscheiden. Selbst der Himmel ist durch Brushes mit einer speziellen skybox Textur versiegelt. Das Ergebnis ist eine vollkommen optimierte, "ausgehöhlte" Geometrie, deren Außenwände dünn wie Eierschalen wirken und nur vom Inneren den Eindruck solider Architektur erwecken.
  • vvis.exe überprüft, welche Teile der Map zueinander sichtbar sind, damit später im Spiel möglichst wenig Geometrie berechnet werden muss. Dies ist oft - sofern die Map nicht optimiert wurde - der rechenintensivste und längste Teil des Kompilierprozesses. Diesen Prozess kann man jedoch drastisch verkürzen, indem man Brushes, von denen man sowieso weiß, dass sie keinen Geschwindigkeitsvorteil durch Visblocking bringen, oder schlicht einfach zu klein sind, eine Detail-Funktion zuweist. Vvis.exe ignoriert dann einfach die Detailbrushes und berechnet diese nicht. So können Compilezeiten von 3 Stunden auf weniger als 5 Minuten reduziert werden. Hat eine Map Lücken, kann vvis.exe nicht ausgeführt werden.
  • vrad.exe verwendet Radiosity um natürlich wirkende Licht- und Schatteneffekte zu berechnen. Die Beleuchtungsdaten werden in niedriger Auflösung in der .bsp Datei gespeichert. Die Lichteffekte können wegen heutiger Hardwarelimits nicht in Echtzeit berechnet werden und sind daher im Editor nicht sichtbar.

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.

Durch ein kleines Tool (Pjs_GUI-Compilier) wird ermöglicht, dass eine Map ohne den Editor kompiliert werden kann. Dadurch verringert sich die Berechnungszeit für die einzelnen Schritte und erreicht dadurch ein schnelleres Endergebnis.

Weblinks[Bearbeiten]