Was? Ihr kennt BUILD von Duke Nukem 3D noch nicht? Dann wird es aber höchste Zeit, das ihr es kennenlernt bzw. damit umgehen könnt! In diesem Text versuche ich, mir alles auch noch so schwierige, euch zu vermitteln, damit ihr in Zukunft auch eure eigenen Levels für Duke Nukem 3D gestalten könnt. Ich habe diese Dokumentation in folgende Lektionen eingeteilt, die nach und nach vervollständigt werden:

Anhang:

A) Die wichtigsten Sectoreffectoren
B) Die wichtigsten Sprites
C) Die wichtigsten Sector Tags
D) Liste der Sounds


1. Lektion: Was ist BUILD?

BUILD ist ein einfach zu bedienender Leveleditor für Duke Nukem 3D, der meist mit Duke Nukem 3D mitgeliefert wird. Highlights des Programmes sind:

  1. Editor ist in Vollversion von Duke Nukem 3D integriert
  2. ein spitzen WYSIWYG-Editor (What You See Is What You Get-Editor)
  3. 2D und 3D Ansicht des Levels (Wechsel mit ENTER auf Nummern Block)
  4. einfache Bedienung (nur einige Türen sind etwas kompliziert)

 

 

2. Lektion: Grundbestandteile eines Levels
    (GRUND.MAP)

Ein Level besteht aus folgenden Bestandteilen:

[FrontPage-Komponente "Ergebnisse speichern "]

Was sind ...?

Points: Points sind Punkte, aus denen Linien gemacht werden, um zum Beispiel einen Sektor zu erzeugen
Lines: Lines sind reine Verbindungslinien bzw. Abgrenzungen der einzelnen Sektoren
Sektoren: Sektoren sind im Prinzip Räume, die sich in den Eigenschaften (z.B.: Höhe, Tiefe, Helligkeit, usw.) von den anderen unterscheiden.
Sprites: Sprites sind kleine Bildchen, die im Raum beliebig positioniert werden können. Besondere Sprites sind zum Beispiel der SectorEffector, mit dem sich Wellen, Lichteffekte, usw. erzeugen lassen.

Folgendes Level findet ihr in GRUND.MAP:

1 ... Points
2 ... Lines
3 ... Sprite
4 ... deine Position
Alle Lines ergeben einen Sektor

 

 

3. Lektion: Mein erster Sektor
    (FIRSTSEC.MAP)

Schritt 1:
Als erstes starten wir den Editor, der sich theoretisch im DN3D Verzeichnis befinden müßte, indem wir BUILD eingeben und ENTER drücken. Nun erscheint als erstes eine kleine Copyright-Meldung auf dem Bildschirm, die uns nicht weiter interessieren sollte. Wir überspringen diesen Text, indem wir irgend eine Taste auf unserem Keyboard drücken. Nun sehen wir die übliche Oberfläche von BUILD.

Schritt 2:
Um unseren ersten Sektor zu zeichnen, drücken wir einfach einmal die Leertaste, und bewegen die Maus an die Stelle, wo die erste Wand unseres Sektors enden soll. Wenn dies geschehen ist, drücken wir wieder die Leertaste, und unsere erste Wand ist fest an dieser Stelle verankert. Nicht wundern, falls die Wand nicht dort beginnt beziehungsweise endet, wo der Mauscursor stand. Dies hängt nur mit der Gridgröße zusammen (Größenänderung mit "g"). Als nächstes sehen wir eine weitere Wand. Bei weiteren drücken der Leertaste kommt die nächste Wand. Um das zeichnen des Sektors zu beenden, verbinde einfach das Ende der letzten Wand mit dem Anfangspunkt der ersten Wand. BUILD macht nun daraus automatisch einen weiteren Sektor.

Schritt 3:
Wenn wir jetzt in den 3D-Mode von BUILD wechseln müßte eigentlich der im 2D-Mode gezeichnete Sektor in 3D dargestellt werden. Falls nicht, nicht verzweifeln! Setzt dann einfach die Position des Spielers, indem ihr mit der Maus innerhalb des Sektors geht, und die rechte Maustaste drückt. Nun dürfte dieses Problem auch erledigt sein. Dies war der erfolgreiche Abschluß unseres ersten Sektors.

Vorsicht:
Position in BUILD ist nicht Spielerposition im Spiel! Um dies zu realisieren, erst die Rollen/Scroll Lock-Taste drücken.

 

 

4. Lektion: Ein schönerer Sektor als in Lektion 3 und anderes
    (BETTER3.MAP)

Wenn wir uns den Sektor aus einmal im 3D-Mode ansehen, erscheint uns das doch ziemlich einfach, oder? Aber keine Angst, in dieser Lektion erfahrt ihr alles, um euren ersten Sektor etwas zu "verschönern" (andere Höhe, andere Texturen auf jeder Wand, eine Stadt im Hintergrund, und so wweiter.). Nun ja, aber wie stellen wir dies an?

Schritt 1:
Als erstes müßte man in den 3D-Mode wechseln (Enter auf Nummernblock), der in BUILD eines der wichtigsten Funktionen ist. Nun befinden wir uns in unserem Sektor und wissen nicht, wie wir zum Beispiel die Höhe verändern.

Höhenänderung:
Die Höhe zu verändern, ist eines der leichtesten Dinge in BUILD. Wir gehen mit dem Mauszeiger einfach auf die Decke des entsprechenden Sektors, und drücken entweder die Bild nach oben oder die Bild nach unten Taste. Bild nach oben-Taste erhöht unseren Sektor und demzufolge wird der Sektor bei der Bild nach unten-Taste niedriger. Wenn wir aber statt auf die Decke, auf den Boden unseres Sektors zeigen, kann der Boden erhöht bzw. erniedrigt werden. Mit dieser Funktion lassen sich Stufen in Duke3D erstellen.

Texturenänderung:
Um die Texturen auf den Wänden zu verändern, zeigt man einfach mit dem Mauszeiger auf die entsprechende Wand und drückt einfach einmal die Taste "V". Nun färbt sich der Bildschirm schwarz, und alle bisher genutzten Texturen sind zu sehen. Mit den Cursortasten kann man ein kleines Rechteck steuern. Über Enter wird die gerade markierte Texture auf der entsprechenden Wand aktiv. Falls bei euch nur eine Texture erscheint, liegt dies daran, das ihr erst eine Texture (nämlich die Standardtexture Mauer) in eurem Level habt. Um zwischen allen verfügbaren Texturen zu wählen, drückt ihr einfach noch ein zweites mal die "V"-Taste. Nun habt ihr alle verfügbaren Texturen vor euch.

Größenänderung der Texturen an Wänden:
Was? Ihr meint die Texturen an der Wand sind zu groß? Kein Problem! Um die Texturen in der Größe zu verändern, geht mit dem Mauszeiger auf die entsprechende Wand und drückt einfach die Taste "4" bzw. "6" auf dem Nummernblock für Änderung der Texturegröße von links nach rechts oder die Taste "8" bzw. "2" auf dem Nummernblock für Größenänderungen in der Höhe der Texture. Um eine Texture auf der Wand zu verschieben, muß einfach, wie immer, mit dem Mauszeiger auf die entsprechende Texture gezeigt werden, und Shift-"4" bzw. "6" auf dem Nummernblock, für Links- bzw. Rechtsverschiebung, oder Shift-"8" bzw. "2" auf dem Nummernblock, für Oben- bzw. Untenverschiebung, gedrückt werden.

Größenänderung der Texturen auf Böden und Decken:
Durch dieselbe Methode lassen sich auch die Texturen der Decken und Böden verändern. Hier existieren jedoch bloß zwei Stufen der Vergrößerung bzw. Verkleinerung. Um die Texturegrößen der Decken bzw. der Böden zu ändern muß jeweils bloß die Taste "E" gedrückt werden.

Farbenänderung der Texturen:
Um die Farbe der Texture mit einem Hieb zu ändern, drückt die Taste "P", wobei der Mauszeiger immer auf die entsprechenden Wand zeigen sollte, und gebt eine Zahl ein. Die Zahlen stehen jeweils für folgende Farben:

0 Standard
1 Blau
2 Rot
7 Gelb
8 Grün

Es existieren zwar auch andere Farben, aber diese sind nur durch probieren zu bekommen.

Schattierung von Wänden, Decken und Böden:
Um die Schattierung zu ändern, muß nur die Taste "+" beziehungsweise "-" auf dem Nummernblock gedrückt werden. Ersteres erhellt die entsprechende Komponente und zweitens verdunkelt sie. Wichtig ist nur, daß der Mauszeiger, wie immer, auf die entsprechende Komponente zeigt.

Ausrichtung von Texturen:
Um eine Boden- bzw. Deckentexture relativ zu einer bestimmten Linie auszurichten, müßt ihr nur die entsprechende Linie im 2D-Mode markieren (blinkt, wenn markiert) und die Taste ALT-"F" drücken.

Stadt im Hintergrund:
Ihr kennt sicherlich das erste Level von Duke3D, was einen interessanten Effekt beinhaltet: Der Hintergrund ist eine Stadt. Um auch solche Hintergründe zu bekommen geht man am besten folgendermaßen vor:
Als erstes zeigt man mit dem Mauszeiger auf eine Decke oder einen Boden. Danach drückt man einfach zweimal die Taste "V". Nun muß nur noch der passende Hintergrund herausgesuchen werden (Texturenummer 89 / "LA"). Ist dies geschehen, sieht es auf der entsprechenden Fläche ziemlich düster aus. Kein LA im Hintergrund, nichts! Um LA in den Hintergrund zu bekommen wird nun einfach einmal die Taste "P" gedrückt, wodurch ein anderer Modus (Parallax Floors and Ceilings) für die Fläche aktiviert wird. Nun haben wir LA im Hintergrund.

Änderung der Lotagnummer einer Wand:
Die Lotagnummer einer Wand wird verändert, indem die entsprechende Wand im 2D-Mode markiert wird (blinkt) und die Tasten ALT+"T" gedrückt werden. Danach einfach die neue Nummer eingeben und mit Enter bestätigen. Damit wurde diese gesetzt.

Änderung der Hitagnummer einer Wand:
Um die Hitagnummer einer Wand zu verändern, muß die entsprechende Wand im 2D-Mode markiert (blinkt) und die Tasten ALT+"H" gedrückt werden. Jetzt, wie immer, die neue Hitagnummer eingeben und mit Enter bestätigen.

Änderung der Lotagnummer eines Sektors:
Die Lotagnummer eines Sektors wird verändert, indem der der Mauszeiger im 2D-Mode in den entsprechenden Sektor bewegt und die Taste "T" gedrückt wird. Als nächstes neue Nummer eingeben und und bestätigen (Enter). Damit sollte diese gesetzt sein.

Änderung der Hitagnummer eines Sektors:
Die Hitagnummer eines Sektors wird verändert, indem der der Mauszeiger im 2D-Mode in den entsprechenden Sektor bewegt und die Taste "H" gedrückt wird. Auch hier die neue Nummer eingeben und ebenfalls mit Enter bestätigen.

Aus eins mach zwei: Splitting von Wänden:
Um eine Wand zu splitten, muß diese markiert werden (blinkt) und die Einfügen-Taste gedrückt werden. Jetzt sollte die entsprechene Wand in zwei Wände geteilt sein.

Aus eins mach zwei: Splitting von Sektoren:
Um einen Sektor zu splitten, muüssen an den entsprechenden Stellen der Wände weitere Points (Einfügen-Taste) eingefügt werden. Nun müssen diese beiden nur noch durch drücken der Leertaste miteinander verbunden werden. Die neu entstandene Line färbt sich in den meisten Fällen automatisch rot. Eine rote Linie zeigt, daß es sich um eine reine Trennlinie handelt, welche zwei Sektoren voneinander trennt, falls diese sich in Höhe und anderen Eigenschaften von der Umgebung unterscheidet. Eine weiße Linie hingegen zeigt, daß es sich um eine Trennwand handelt.

Aus zwei mach eins: Joining von Sektoren:
Um zwei Sektoren wieder zusammenzufügen, muß im 2D-Mode einmal auf den ersten Sektor gegangen und die Taste "J" gedrückt werden. Danach einfach auf den zweiten Sektor gehen und ein weiteres mal die "J"-Taste drücken. Nun verschwindet die Trennlinie zwischen den zwei einzelnen Sektoren und beide Sektoren wurden zu einem Sektor zusammengefügt.

Löschen von Wänden:
Um Wände zu löschen, muß das Ende der zu löschenden Linie angefaßt werden und dieses auf einen anderen Point gezogen werden. Schon ist die Wand verschwunden!

Verschieben mehrerer Lines beziehungsweise einzelner Sektoren:
In BUILD kann mehr als nur ein Point markiert werden, sondern auch mehrere. Um dies zu realisieren, muß während des Bewegens der Maus die Rechte Shift-Taste gedrückt werden. Wenn nun die Maus bewegt wird, wird auf dem Bildschirm von der Startposition aus ein Rechteck aufgezogen. Wird die rechte Shift-Taste wieder losgelassen, so blinken alle markierten Points. Nun muß nur einer der blinkenden Points mit der linken Maustaste angefaßt und die Maus bewegt werden. Dadurch bewegen sich alle markierten Points mit. Um die Markierung zu löschen, einfach ein zweites mal die Rechte Shift-Taste drücken. Auf diese Art und Weise können auch einzelne Sektoren ohne großes Risiko verschoben werden. Um gesamte Sektoren zu verschieben, ohne die blinkenden Points zu sehen, statt der Rechten Shift-Taste einfach die Rechte Alt-Taste drücken. Nun wird der gesamte markierte Sektor gefüllt und er kann ebenfalls ohne Risiko, mit allen Sprites, und so weiter. verschoben werden. Der einzige Unterschied zur Markierung mit der rechten Shift-Taste besteht darin, daß nur gesamte Sektoren markiert werden können. Dies ist teilweise sehr hilfreich bei großen Projekten.

Löschen von Sektoren:
Um Sektoren zu löschen, muß der Mauszeiger auf den entsprechenden Sektor zeigen. Als nächstes nur noch die Tastenkombination Ctrl beziehungsweise Strg+Del/Entf drücken und schon ist der Sektor gelöscht. Vorsicht!! BUILD besitzt keine Undo-Funktion!!

 

 

5. Lektion: Sprites hinzufügen und ändern deren Eigenschaften

Schritt 1:
Um Sprites in das Level einzufügen, muß nur mit der Maus auf die entsprechende Position gezeigt werden und die Taste "S" gedrückt werden. Dieses Verfahren funktioniert im 2D-Mode genauso, wie im 3D-Mode. Auf dem Bildschirm erscheint im 3D-Mode jedoch immer nur ein und derselbe Sprite! Wie wird nun ein anderer Sprite, zum Beispiel ein Monster eingefügt? Dies ist sehr simpel: Einfach die Taste "V", wie bei den Texturen drücken. Nun erscheint ein Bildschirm, mit allen bisher genutzten Sprites. Um alle Sprites zu Gesicht zu bekommen einfach, wie bei der Auswahl der Texturen, ein zweites mal die Taste "V" drücken. Nun erscheint derselbe Bildschirm mit allen Sprites, wie bei den Texturen. Dies ist ein sehr interessanter Aspekt in Duke3D. Ich kann nämlich Texturen als Sprites und umgekehrt verwenden. Die Monster befinden sich ziemlich weit am Ende der aufgeblendeten Liste.

Größenänderung der Sprites:
Um die Größe der Sprites zu ändern, muß genauso vorgegangen werden, wie bei der Größenänderung der Texturen von Wänden.

Farbänderung der Sprites:
Um die Farbe der Sprites zu ändern, gehe wie in zur Farbänderung von Wänden Decken und Böden vor. Die Farbkonstanten sind genau dieselben. Bei einigen Monstern hat die Farbänderung eine Änderung des Monstercharakters zu Folge.

Schattierung der Sprites:
Die Schattierung der Sprites erfolgt nach dem selben Schema, wie die Schattierung der Wände, Decken und Böden in ( "+" / "-").

Drehen von Sprites:
Sprites werden gedreht, indem der Mauszeiger auf diesen zeigt und die Taste "F" gedrückt wird.

Ändern der Lotagnummer eines Sprites:
Um den Lotag eines Sprites zu ändern einfach den Sprite im 2D-Mode markieren und die Tasten ALT+"T" drücken. Jetzt die neue Lotagnummer des Sprites eingeben und diese mit Enter bestätigen. Nun sollte diese damit geändert sein.

Ändern der Hitagnummer eines Sprites:
Um den Hitag eines Sprites zu ändern einfach den Sprite im 2D-Mode markieren und die Tasten ALT+"H" drücken. Darauffolgend die Hitagnummer angeben und mit Enter bestätigen.

Kopieren von Sprites:
Um Sprites zu kopieren, muß nur auf dem entsprechenden Sprite die Tab-Taste gedrückt werden. Wird nun ein neuer Sprite mittels der Taste "S" eingefügt, befindet sich an dieser Stelle eine komplette Kopie des gewünschten Sprites.

Verschieben von Sprites:
Sprites werden verschoben, indem der Mauszeiger auf den entsprechenden Sprite zeigt und nun die Linke Maustaste gedrückt wird. Nun kann die Maus bewegt werden. Der Sprite bewegt sich immer mit. Nicht vergessen, daß mehr als ein Sprite mit der rechten Shift-Taste markiert werden kann! Das Verschieben von Sprites funktioniert nur im 2D-Mode!

Löschen von Sprites:
Um einen Sprite zu löschen mit dem Mauszeiger darauf gehen, und die Del/Entf-Taste drücken.

 

 

13. Lektion: Begriffe, um die man nicht herumkommt

Points: Points sind Punkte, aus denen Linien gemacht werden, um zum Beispiel einen Sektor zu erzeugen
Lines: Lines sind reine Verbindungslinien bzw. Abgrenzungen der einzelnen Sektoren.
Sektoren: Sektoren sind im Prinzip Räume, die sich in der Höhe usw. von den anderen unterscheiden.
Sprites: Sprites sind kleine Bildchen, die im Raum beliebig positioniert werden können. Besondere Sprites sind zum Beispiel der SectorEffector, mit dem sich Wellen, Lichteffekte, usw. erzeugen lassen (wobei der Trend immer mehr dahin geht, richtige 3D-Figuren zu verwenden, anstatt nur kleine Bildchen, die sich aller 45° ändern -> wie zum Beispiel in "Quake").
Texture: Texturen, sind kleine Bildchen, die auf Wände, Böden bzw. Decken gelegt werden, um die ganze Umgebung etwas realistischer zu gestalten. Diese werden vom jeweiligen Programm vergrößert bzw. verkleinert um ein näherkommen an die Wand (speziell in 3D-Programmen wie DOOM XX, Duke3D, Quake, Wolfenstein3D, ...) zu simulieren.
Grid: Beim Grid wird über unsere Oberfläche so etwas ähnliches wie ein Gitternetz gelegt, wobei jedes Quadrat seine Positionsdaten besitzt. Nun können wir Linien nur von diesen Positionen aus ziehen bzw. nur an diesen Positionen kann eine Linie enden.
Lotag: Funktionsnummer einer Komponente, anhand der entsprechenden Komponente eine Aufgabe usw. zugewiesen wird.
Hitag: Unterfunktionsnummer einer Komponente beziehungsweise zusätzliche Daten zur Funtionsnummer
Sector Tag: Lotagnummer eines Sektors