Aktuell

Aktuelle Artikel

Map für Spray Your Color erstellen

In diesem Tutorial möchte ich dir zeigen, was du benötigst, um eine Map für den Spielmodus Spray Your Color zu erstellen. Bevor du aber loslegst solltest du sicherstellen, dass du World of Padman in der aktuellen Version installiert hast. Ich setze an dieser Stelle einfach mal voraus, dass du etwas mit dem Begriff Spray Your Color anfangen kannst und weißt, wie dieser Spielmodus in seinen Grundzügen funktioniert. Ich muss dich warnen, denn dieses Tutorial wird etwas umfangreicher.

Es sei an dieser Stelle darauf hingewiesen, dass wir in der Datei WoP mapping files.zip, die du im Ordner /XTRAS/editing files deiner WoP-Installation findest, Beispielmaps zum Spielmodi Spray Your Color beigelegt haben. wop_mapSyC.map ist direkt kompilierbar und somit vollständig mit allen Komponenten testbar. Da wir keine Light-Entities gesetzt haben, kompiliere bitte ohne den Light-Stage. wop_mapSyC_onlytele.map beinhaltet hingegen ausschließlich die für Spray Your Color benötigten Komponenten, Sprayroom, Killroom, Teleporter, Tunnel für Hin-und Rückflug und zugehörige Entities. Diese kann von dir direkt in deine existierende Map importiert werden. Bis auf ein paar Anpassungen sollte dir damit viel Arbeit abgenommen sein. Um jedoch alles richtig zu verstehen, solltest du dieses Tutorial trotzdem durcharbeiten und parallel dazu einen Blick in die Beispielmap werfen.

Allgemeine Vorbetrachtungen

Wir selbst ermöglichen den Spielmodus Spray Your Color nur auf Maps, die im Liliput-Stil gehalten sind, da sie sich unserer Meinung nach vom Gameplay her ganz besonders gut dafür eignen. Die großzügigen und offenen Räumlichkeiten dieser Maps lassen es zu, dass man besonders gut von allen Seiten an den Sprayroom-Teleporter herankommt oder auch von größeren Hohen einfach hinein springen kann. Normal große Maps bieten diese Vorteile nur selten. Dieser Spielmodus soll für diese Art von Maps jedoch kein Tabu sein.

Grundsätzlich besteht eine Map für den Spielmodus Spray Your Color aus den folgenden Komponenten:

  1. Hauptbereich: Hier tragen die Spieler ihre Kämpfe aus und sammeln die Farbpatronen auf. Der Bereich kann auch aus mehreren Räumlichkeiten bestehen.
  2. Sprayroom-Teleporter: Das ist das Portal zum Sprayroom. Dieses können die Spieler nur mit Farbpatronen im Gepäck betreten.
  3. Teleportertunnel: Das ist ein Warp-Tunnel für den Hin- und Rückweg zwischen Hauptbereich und Sprayroom.
  4. Sprayroom: Hier stehen die zwei Spraywalls, auf die die Spieler ihre Logos sprühen können.
  5. Killroom: Das ist eine Falle, um Camper unsanft aus dem Sprayroom zu entfernen.

Was du beim Erstellen dieser Komponenten und auch darüber hinaus noch beachten solltest, wird in den folgenden Abschnitten detailliert beschrieben. Als Voraussetzung dafür sollte deine eigentliche Map mit dem Hauptraum schon erstellt sein. Ein info_player_intermission garantiert dem Spectator eine schöne Aussicht auf die Map und ein paar info_player_deathmatch ermöglichen dem Spieler den Einstieg in die Map. Je nach Größe der Map, solltest du zwischen 12 und 16 dieser Spawnpunkte gleichmäßig in deiner Map verteilen, möglichst auch einige in höheren Lagen. Team-Spawnpunkte benötigst du hier weder für die FFA- noch für die Team-Variante von SYC.

Installation des Sprayroom-Teleporters

Der Standort des Sprayroom-Teleporters muss gut überlegt sein. Er sollte etwas exponiert und nicht unbedingt gleich direkt auf dem Boden der Map platziert werden. Er sollte nicht zu leicht, aber auch nicht zu schwer erreichbar sein. In den meisten Maps gibt es mindestens drei Zugänge zum Teleporter, wenn er in einem separaten Bereich steht (z.B. im Ofen in der PadKitchen). Sehr beliebt ist auch die Möglichkeit, irgendwo von oberhalb in den Teleporter springen zu können.

Die Teleporter-Modelle sind in verschiedenen Farben erhältlich und müssen über das Entity misc_externalmodel eingebunden werden. Im GtkRadiant markiert der Mittelpunkt des orangefarbenen Würfels auch gleichzeitig den Standfuß des Teleportermodells und ist daher genau zur Hälfte im darunter liegenden Brush versunken.

padtp_bluepadtp_blue padtp_pinkpadtp_pink padtp_orangepadtp_orange
padtp_purplepadtp_blue padtp_yellow (ist grün!)padtp_yellow

Eine alternative und präzise Methode zur Positionierung ist es in diesem Fall, zuerst das Teleporter-Modell über das Entity misc_model zu platzieren und dann anschließend im Entity-Fenster (Teleporter-Modell markieren und N-Taste drücken) einfach nachträglich den classname in misc_externalmodel abzuändern. Der NetRadiant hingegen zeigt alle misc_externalmodel gleich mit den verknüpften Modellen richtig an, was etwas komfortabler ist.

Sprayroom-Teleporter als misc_externalmodel einbauen

Sprayroom-Teleporter als misc_externalmodel einbauen

Wichtig ist der Key gametype, der mit dem Values spray und sptp (getrennt mit einem Leerzeichen) versehen werden muss. Der Teleporter erscheint dann ausschließlich in den beiden SYC-Spielmodi Free For All und Team. Über den Key angle kann das Modell bei  Bedarf um die Z-Achse gedreht werden.

Über dem misc_externalmodel richtest du einen neuen Brush aus und belegst ihn mit der Trigger-Textur (common/trigger). Dieser muss nun von dir mit der Eigenschaft trigger_teleport versehen und erhält eine Verknüpfung mit einem misc_teleporter_dest, welches sich am Anfang des Teleportertunnels befindet (siehe nächster Abschnitt). Jeder Spieler der später diesen Brush berührt landet im Teleportertunnel. Dazu muss im Entity-Fenster enter_sprayroom ausgewählt sein (spawnflags 2), damit die Engine mitbekommt, dass der Spieler über dieses Portal den Sprayroom betritt.

Sprayroom-Teleport-Trigger einbauen

Sprayroom-Teleport-Trigger einbauen

Wenn du Probleme hast, den Trigger-Brush in der richtigen Größe zu erstellen und in Position zu bringen, kannst du auch erst einmal provisorisch über misc_model das Teleportermodell einbauen, den Trigger-Brush dann daran ausrichten und danach das Modell löschen.

Teleportertunnel erstellen

Den Teleportertunnel (auch Warp- oder Spacetunnel) hatte sich ENTE damals seine Map PadShop ausgedacht. Auch D@ngerzone setzte diese Idee später in seiner Map Dangeroids in Form eine Wurmlochs um und beschreibt die Erstellung des Tunnels ebenfalls in seinem Tutorial. Im Folgenden will ich mich auf die technische Umsetzung für World of Padman im Radianten beschränken. Das Design bleibt ganz allein dir überlassen, aber du solltest dir schon etwas Besonderes ausdenken, um den Flug durch den Tunnel zu einem Erlebnis werden zu lassen.

Grundlage für den Tunnel ist ein 256x256x5000 Units (Breite x Höhe x Länge) großer Brush, der über die Hollow-Funktion ausgehöhlt wird. Nach Beseitigung der Überschneidungen der entstandenen Teilbrushes sollte der Tunnel innen 256 Units breit und hoch und mit einer Textur versehen sein. Innerhalb dieser Röhre baust du am besten auf die gleiche Weise eine zweite Röhre der gleichen Länge ein, die einen Innenmaß von ca. 168 Units aufweisen sollte und belegst diese komplett mit der Playerclip-Textur (common/clip). Im Zwischenraum dieser beiden langen Röhren kannst du dann dein Design umsetzen, welches jedoch nicht in die innere Röhre hineinragen darf, um die Flugbahn des Spielers nicht zu behindern. Den Boden-Brush der inneren Röhre markierst du erneut und belegst ihn komplett mit der Nodrop-Textur (common/nodrop). So können keine Items im Tunnel liegen bleiben, falls doch mal jemand einen Teleporter-Frag erleiden sollte. Zum Schluss erstellst du noch einen ausreichend dicken Brush, der beide Röhren genau in der Mitte in zwei Hälften teilt und belegst ihn vollständig mit der Playerclip-Textur. Die eine Hälfte ist nun für den Hinflug zum Sprayroom gedacht und die andere für den Rückflug.

Schritt 1: Teleoptertunnel-Röhren erstellen

Schritt 1: Teleoptertunnel-Röhren erstellen

Alle jetzt zu erstellenden Bestandteile befinden sich nur noch innerhalb der inneren Tunnelröhre. Der Hinflug geht vom Anfang zur Mitte des Tunnels, daher platzierst du an der Ausgangsposition das misc_teleporter_dest des Sprayroom-Teleporters aus (siehe vorheriger Abschnitt) und richtest die Spawn-Blickrichtung des Spielers entsprechend aus (siehe Pfeil im misc_teleporter-dest). Direkt über dem misc_teleporter_dest erstellst du jetzt einen Brush, in den der Spieler dann direkt hineingespawnt werden soll. Dieser Brush wird mit der Trigger-Textur versehen und bekommt die Eigenschaft trigger_push. Ziel des Triggers ist ein target_position, welches sich recht nahe am oberen Brush der inneren Röhre und genau am ersten Viertel des Tunnels, also mittig zwischen Tunnelanfang und Tunnelmitte befindet. Je weiter es zur Tunnelmitte hin positioniert wird, desto schneller und weiter fliegt der Spieler später durch den Tunnel. Das solltest du später ein bisschen austesten.

Schritt 2: Einstieg über misc_telepoter_dest, trigger_push und target_position

Schritt 2: Einstieg über misc_telepoter_dest, trigger_push und target_position

Um diese Beschleunigung mit einem Sound noch ein bisschen aufzuwerten, versiehst du den Hinflug-Tunnel noch mit einem target_speaker, der wieder durch ein Trigger ausgelöst wird. Dazu platzierst du einen Brush im Tunnel, der möglichst gut den Querschnitt der inneren Röhre in einem Bereich ausfüllt und versiehst ihn mit der Trigger-Textur und der Eigenschaft trigger_multiple. Verknüpfe beide miteinander (Strg+K). Im Entity-Fenster des target_speaker sollte activator mit einem Haken versehen sein (spawnflags 8). Seit WoP 1.6 verwenden wir das ogg-Format für Sounds, daher findest du die Tunnelsounds nun unter sounds/world/. Es stehen dir drei Sounddateien tunnel_01.ogg bis tunnel_03.ogg zur Verfügung. Der Pfad für noise sollte dann z.B. so ausschauen: sounds/world/tunnel_03 (ja, ohne wav-Endung ist jetzt richtig).

Schritt 3: Sound über trigger_multiple und traget_speaker

Schritt 3: Sound über trigger_multiple und traget_speaker

Leider kann nicht ausgeschlossen werden, dass im Teleportertunnel Spieler aneinander geraten oder sonst irgendwie behindert werden. Das Resultat ist dann meist ein Spieler, der vor dem Ende es Tunnels zu Boden fällt. Damit er den restlichen Weg nicht zum Tunnelausgang laufen muss, baust du am besten direkt über dem Nodrop-Brush einen zusätzlichen Brush mit ein paar Units Höhe, der jedoch nur vom Tunnelanfang bis zur Tunnelmitte reichen darf. Diesen Brush versiehst du nun mit der Trigger-Textur und der Eigenschaft trigger_push. Das zugehörige target_position, verknüpft über Strg+K, positionierst du dann kurz vor der Tunnelmitte, inmitten eines weiteren Trigger-Brushes. Dieser wird von dir direkt vor dem Playerclip-Brush in der Tunnelmitte gesetzt und mit der Eigenschaft trigger_teleport versehen. Das zugehörige misc_teleporter_dest, verknüpft über Strg+K, sollte sich dann direkt in deinem Sprayroom befinden (siehe folgender Abschnitt).

Schritt 4: Ausgang über trigger_teleport, trigger_push und target_position für den Fall eines Falles

Schritt 4: Ausgang über trigger_teleport, trigger_push und target_position für den Fall eines Falles

Die Tunnelhälfte für den Hinflug zwischen dem Hauptbereich der Map und dem Sprayroom ist jetzt fertig. Der Spieler gelangt also über den Sprayroom-Teleporter (trigger_teleport > misc_teleporter_dest) in die Tunnelhälfte für den Hinflug, wird nach vorn beschleunigt (trigger_push > target_position), löst dabei einen Sound aus (trigger_multiple > target_speaker) und landet bestenfalls am Ausgang in der Tunnelmitte (trigger_teleport > misc_teleporter_dest) und verlässt ihn Richtung Sprayroom. Sollte das mal nicht klappen, so sichert ein zusätzlicher Brush am Boden den Vortrieb bei ungewollter Bodenberührung (trigger_push > target_position). Im falle von Teleport-Frags beseitigt ein zusätzlicher Nodrop-Brush am Boden Items, die die Spieler sonst verlieren würden.

Die zweite Tunnelhälfte für den Rückflug vom Sprayroom zum Hauptbereich ist im Prinzip genauso aufgebaut wie die erste, nur musst du dir den ganzen Aufbau wie an der Tunnelmitte gespiegelt vorstellen. Damit ändert sich also die Flugrichtung im Tunnel um 180°, so dass der Spieler diesmal vom anderen Tunnelende aus zur Tunnelmitte fliegt. Der einzige Unterschied besteht darin, dass der trigger_teleport in der Tunnelmitte, der den Spieler wieder in den Hauptbereich der Map entlässt, mindestens sechs misc_teleporter_dest zugewiesen bekommt (haben alle die gleiche Bezeichnung für targetname). Werden diese an guten Stellen in der Map und nicht zu nahe am Sprayroom-Teleporter verteilt, kann ein Campen an diesen Stellen durch Spieler verhindert werden. Der Spieler aus dem Sprayroom erscheint dann per Zufall an einem dieser Spawnpunkte.

Schritt 5: Tunnelhälfte für den Rückflug analog zum Hinflug

Schritt 5: Tunnelhälfte für den Rückflug analog zum Hinflug

Das hier beschriebene Teleporter-Design hat sich als sehr praktikabel herausgestellt. Trotzdem kann man so einen Tunnel auch anders umsetzen. In der TashMap wurde der Teleportertunnel direkt in den Sprayroom integriert. Die beiden Hälften sind dabei nun nicht mehr in einer Reihe angeordnet, sondern parallel. Die Tunnelkonstruktion wurde auf die innere Röhre reduziert, da der Sprayroom selbst die äußere Hülle und gleichzeitig das Design darstellt. Deine Phantasie ist also keine Grenzen gesetzt.

Sprayroom erstellen

Der Sprayroom sollte optisch das Herzstück deiner Map bilden. Es ist der Raum, in den die Spieler hineinkommen, um zu Punkten, also ehre diesen Moment mit einem aufwendigen Design. Die Größe des begehbaren Bereiches im Sprayroom sollte ca. 768x768x1200 Units nicht überschreiten. Das soll nicht heißen, dass du den Sprayroom selbst nicht auch größer machen kannst. ENTE hat zum Beispiel in der PadGarden einen deutlich größeren Sprayroom (Raketensilo) gebaut, nur der begehbare Bereich hat die oben angegebenen Abmessungen.

Als Einstiegspunkt für den Spieler zum Sprayroom benötigst du das  misc_teleport_dest, welches ja mit dem trigger_teleport aus dem Hinflug-Teil des Teleportertunnels verknüpft ist (siehe vorheriger Abschnitt). Ist der Spieler erst einmal drin, sollte er ohne große Behinderung und Umwege direkt zu den beiden Spraywalls gelangen können. Die Spraywalls müssen gerade für den Teammodus von SYC besonders schnell den Teamfarben Rot und Blau zugeordnet werden können, daher ist ein entsprechende Farbgebung der Spraywall selbst von großem Vorteil.

Damit der Spieler sein Logo sprühen und dabei auch Punkten kann, bedarf es eines zusätzlichen Brushes, der ca. 4 Units dick sein sollte und genau den zu besprühenden Bereich der Spraywall abdeckt. Dieser Brush wird komplett mit der Caulk-Textur (common/caulk) belegt und mit der Eigenschaft func_static versehen. Die Teamzugehörigkeit der Spraywall wird über den Key spraywall definiert, gefolgt von der Zahl 1 oder 2 als Value.

  • spraywall 1 – erzeugt eine Spraywall für das rote Team
  • spraywall 2 – erzeugt eine Spraywall für das blaue Team
Spraywall erstellen und Teamfarbe zuordnen

Spraywall erstellen und Teamfarbe zuordnen

Die letzte Komponente ist das Ausgangsportal aus dem Sprayroom. Dazu erstellst du am besten zwischen den Spraywalls einen ausreichend großen Trigger-Brush, der mit der Trigger-Textur und der Eigenschaft trigger_teleport versehen ist. Dieser Trigger muss mit dem misc_teleporter_dest im Rückflug-Teil Teleportertunnels verknüpft sein. Als Besonderheit muss im Entity-Fenster beim trigger_teleport der Haken bei leave_sprayroom gesetzt sein (spawnflags 4). So weiß die Engine, dass der Spieler den Sprayroom wieder verlassen hat und tauscht die Spraypistole gegen die Waffen des Spielers zurück.

Sprayroom über trigger_teleport verlassen

Sprayroom über trigger_teleport verlassen

Killroom erstellen

Der Killroom ist eine sehr wichtige Komponente, um den unbelehrbaren Campern im Sprayroom hoffentlich Feuer unter dem Hintern zu machen. Überlege dir dazu eine entsprechende Falle oder Vorrichtung. Deiner Kreativität wollen wir dabei keine Grenzen setzen.

Ist der Killroom an sich gebaut, setzt du an eine geeignete Stelle ein misc_sprayroomtl_teleporter. Das ist dann der Spawnpunkt für die besonders ausdauernden Sprayroom-Besucher. Die Aufenthaltsdauer beträgt standardmäßig 30 Sekunden, bevor man in den Killroom teleportiert wird. Du kannst diesen Wert jedoch durch den Eintrag des Keys maxsprayroomtime im worldspawn, gefolgt von einer Zahl für die Sekunden als Value, beeinflussen.

Verweildauer im Sprayroom mit maxsprayroomtime setzen

Verweildauer im Sprayroom mit maxsprayroomtime setzen

Damit hast du alle Komponenten für eine Spray-Your-Color-Map erfolgreich erstellt.

  1. NetRadiant 1.5 installieren und einrichten Kommentar hinterlassen
  2. Map für Big Balloon erstellen Kommentar hinterlassen
  3. Einbindung von Waffen, Markern und Ammo Kommentar hinterlassen
  4. Katalog: WoP Soundeffekte Kommentar hinterlassen