Kapitel 39 · Doom 3

Hebeplattform

Autor: Fragpoint
Downloads: Beispielmap 32

Wir wollen eine kleine Hebeplattform bauen. Das ist so zusagen die Vorstufe zu meinem nächsten Tutorial, das sich mit der Thematik des Aufzuges beschäftigen wird. Ihr könnt Euch sicher noch an die kleine Plattform erinnern, die wir in der Nähe unserer Treppe erstellt haben. Diese soll die Basis unseres Aufzuges sein.
Wir erstellen zunächst ein paar Fahrschienen, an denen der Lift hinauffahren soll. Diese sind jedoch nur zur optischen Verfeinerung und haben für die Hebeplattform keine weitere Bedeutung.

image284.jpg

Anschließend erstellen wir eine kleine Plattform, über die der Spieler später nach oben befördert wird. Dabei lasse ich Eurer Kreativität freien Lauf. Für die Unkreativen unter Euch habe ich das nachstehende Bild:

image285.jpg

Beachtet dabei bitte, dass die Plattform an der Stelle konstruiert werden muss, wo das Ziel des Aufzuges liegt. Startet der Aufzug im 1. Stockwerk, muss die Plattform im Editor im 2. Stockwerk erstellt werden. Wie ihr seht, habe ich etwas Luft nach oben gelassen, damit der Spieler nicht zerquetscht wird.

Markiert nun den Plattformbrush bzw. alle Brushes, die die spätere Plattform darstellen, die sich bewegen soll. Wählt dann über einen Rechtsklick in die Draufsicht den Punkt „func -> func_plat“ aus.

image286.jpg

Ich möchte zunächst noch kurz auf die Befehl eingehen, die wir dem func_plat zuteilen können (Taste N drücken). Wie wir diese für unser Beispiel anwenden, könnt ihr am Ende der Liste sehen.

KEY: lip
VALUE: Zahlenwerte
Gibt an, wie viel Abstand die Plattform zu Ihrer Ruheposition hat. Dadurch könnt Ihr sie z. B. nicht ganz nach oben fahren lassen, sonder einen Grid vor der nächsten Ebene halten lassen, so dass ein kleiner Absatz zu sehen ist.

KEY: height
VALUE: Zahlenwerte
Gibt an, wie hoch die Plattform insgesamt fährt…..

KEY: speed
VALUE: Zahlenwerte
Gibt die Fahrtgeschwindigkeit unseres Aufzuges an. Die Standardgeschwindigkeit ist für meinen Geschmack zu schnell. Ich empfehle einen Wert von 50.

KEY: dmg oder damage
VALUE: Zahlenwerte
Gibt den Schaden an, die die Plattform beim Spieler verursachen soll, wenn dieser von dem Aufzug eingeklemmt wird. Dies kann zum Beispiel der Fall sein, wenn die Plattform von oben herunterfährt und der Spieler gerade darunter steht.

KEY: no_touch
VALUE: Zahlenwert 1 oder 0
Gibt an, ob sich die Plattform bewegen soll, wenn der Spieler sie berührt, oder ob der Spieler erst durch einen Trigger laufen muss.

KEY: snd_open
VALUE: Pfad/Dateiname
Gibt an, welcher Sound abgespielt werden soll, wenn sich die Plattform „öffnet“, also nach oben fährt.

KEY: snd_close
VALUE: Pfad/Dateiname
Gibt an, welcher Sound abgespielt werden soll, wenn sich die Plattform „schließt“, also nach unten in die Ausgangsposition zurückfährt.

KEY: snd_opened
VALUE: Pfad/Dateiname
Diese Sound (ein Loop) wird abgespielt, wenn sich die Plattform nicht bewegt, also am Ziel- oder Startpunkt hält. Sinnvoll wäre hier ein surrendes Motorengeräusch.

Naja, so weit, so gut. Machen wir erst einmal etwas leichtes, indem wir dem Aufzug eigene Sounds zum Hoch- und Runterfahren zuordnen. Wie wir die Sounds finden und eintragen, haben wir bereits im Türen-Tutorial gelernt. Deshalb tragen wir im vorliegenden Beispiel einfach in Kurzform folgende Werte ein:

KEY: snd_open	VAL: elevator_outer_open
KEY: snd_close	VAL: elevator_outer_close

Als nächstes wollen wir bestimmen, wie hoch der Aufzug insgesamt fahren darf. In unserem Fall ist das besonders wichtig, da der Spieler sonst an der Decke zerquetscht werden würde. Wie Ihr der Befehlsliste entnehmen könnt, benötigt man zum Festlegen der Fahrhöhe den Befehl height. Wir nehmen dazu folgende Eintragung vor:

image287.jpg

Doch wie bin ich an diese Zahl gekommen? Dazu müssen wir zunächst eine Veränderung an den Einstellung des Doom3-Radiants vornehmen, geht dazu auf "Edit -> Preferences".

image288.jpg

Und aktiviert im anschließend erscheinenden Menue folgenden Eintrag:

image289.jpg

Dadurch werden Euch die Größen der Brushes angezeigt – also die Bemaßung. Zeichnet als Hilfsmittel einen Brush, der die gleiche Höhe hat, wie der Weg, der von unserer Aufzugsplattform zurückgelegt wird. Also zwischen Plattform und Startpunkt.

image290.jpg

Nun Könnt Ihr in einer der Ansicht erkennen, dass der Z-Wert (die Höhe des Brushes) mit einem Wert von 208 angezeigt wird. Dies ist die Streckenlänge, die unser Aufzug zurücklegen muss. Bei Euch kann natürlich ein ganz anderer Wert auftreten. Ändert daher ggf. den von uns bereits eingetragenen height-Wert entsprechenden Eurer Streckenlänge ab. Jetzt könnt Ihr Eure Map kurz testen und bewundern.

Nun soll es auch Leute geben, die einen Aufzug haben wollen, der nach unten fährt. Da es zwischenzeitlich schon zu Performance-Problemen in unserem großen Raum kommen kann. Erstellen wir in unserem Spiegelraum einen Aufzugsschacht. Dieser kann ruhig etwas enger sein.

image291.jpg

Anschließend erstellen wir eine Plattform. Die wir am Grund des Loches anbringen. Diese machen wir wie gehabt zu einer func_plat, lesen den height-Wert bis zur Oberfläche ab und tragen diesen als negative Zahl ein. In meinem Fall wäre das -344. Ja, richtig, das Minus ist wichtig, wenn der Aufzug nach unten Fahren soll (- = nach unten).

image292.jpg

Naja, ist halt ein ziemlich dunkles Loch. Wäre schön, wenn das etwas beleuchtet wäre. Wir könnten jetzt mehrere Lights setzen, damit der Schacht schön ausgeleuchtet wäre. Einfacher ist es aber, ein Licht zu erstellen, das zusammen mit der Plattform hinunterfährt und stets nur die gerade sichtbaren Bereiche beleuchtet.
Erstellt dazu ein ganz normales Light. Ich habe als Lichtstärke 100 und als Farbe ein intensives Rot gewählt. Das Light setzen wir mit einem kleinen Abstand oberhalb der Stelle, an der unsere Plattform später starten wird. Es sollte dabei ungefähr im Oberkörperbereich des Spielers alles ausgeleuchtet werden.

image293.jpg

Pfiffige Mapper erinnern sich jetzt sicher noch an das Tutorial über die schwingende Lampe. Darin haben wir das Light-Entity mit den Lampe über den Befehl bind verbunden. Auch hier müssen wir dem Licht klar machen, dass es sich gefälligst zusammen mit dem Aufzug zu bewegen hat. Schaut dazu bei Eurer Plattform nach, welchen Namen (name) er vom Editor zugeteilt bekommen hat und merkt ihn Euch (in meinem Fall lautet er func_plat_2):

image294.jpg

Wählt den Aufzug nun ab und markiert das Light. Tragt dort folgenden Befehl ein:

image295.jpg

Wenn Ihr jetzt ins Spiel geht, könnt Ihr sehen, dass der der Aufzugschacht während der Fahrt stets ausgeleuchtet wird.

image296.jpg

Dummerweise bleibt die Plattform unten und kehrt nicht wieder zurück. Dies kann man umgehen, indem man ziemlich am Ende des Schachtes ein trigger_multiple erstellt und es über Strg-K mit der Plattform verbindet. Fährt der Spieler nun hindurch, kehrt die Plattform auf der Stelle wieder um. Zeitlich lässt es sich leider nicht beeinflussen, dass der Aufzug noch eine kurze Zeit an der Stelle verharren soll.