Map für Capture The Lolly erstellen

In diesem Tutorial möchte ich dir zeigen, welche Dinge du benötigst, um deine Map fit für den Spielmodus Capture The Lolly zu machen. Bevor du aber loslegst solltest du sicherstellen, dass du World of Padman ab Version 1.5 installiert hast. Ältere Versionen unterstützen diesen Spielmodus nicht. Ich setze an dieser Stelle einfach mal voraus, dass du etwas mit der Bezeichnung Capture The Lolly anfangen kannst und weißt, wie dieser Spielmodus in seinen Grundzügen funktioniert.

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 finden kannst, eine Beispiel-Map wop_mapCTL.map zum Spielmodus Capture The Lolly beigelegt haben. Diese Map ist direkt kompilierbar und somit vollständig mit allen Komponenten testbar. Da wir keine Light-Entities gesetzt haben, kompiliere bitte ohne Licht. Während du dieses Tutorial durcharbeitest empfehle ich dir parallel dazu immer wieder mal einen Blick in die Beispiel-Map werfen.

Allgemeine Vorbetrachtungen

Da es sich bei Capture The Lolly um einen reinen Team-Spielmodus handelt, bedarf es einiger Besonderheiten hinsichtlich Aufbau und Layout deiner Map, die du berücksichtigen solltest. Es empfiehlt sich, CTL-Maps in World of Padman symmetrisch aufzubauen, damit beide Teams die gleichen Voraussetzungen vorfinden. Dies mit einem asymmetrischen Layout zu bewerkstelligen ist zwar nicht unmöglich, jedoch ungleich schwieriger. Als eine besondere Form wäre da noch der spiegelsymmetrische Aufbau zu nennen, da sich die beiden Hälften der Map nicht gedreht, sondern gespiegelt zueinander befinden. Das kann für das Gameplay interessant sein, jedoch auch verwirrend, da es zum Beispiel für das eine Team dort rechts herum geht, wo es für das andere Team links herum geht. In jedem Fall ist der Vorteil eines symmetrischen Layouts für dich, dass du eigentlich nur die halbe Map bauen musst und dann einfach duplizieren kopieren und wieder einfügen (!) kannst. Dazu später aber mehr.

Da sich in der Map ein rotes und ein blaues Team gegenseitig bekämpfen, bietet es sich an, die beiden Hälften der Map auch mit Akzenten in den entsprechenden Teamfarben zu versehen, damit sich die Spieler jederzeit schnell orientieren können. Zumindest sollten die jeweiligen Basen mit den Lollis farblich jederzeit eindeutig den Teams zugeordnet werden können. Die Wege zu den Lollis innerhalb der Basen und auch zwischen den Basen selbst sollten immer mit ausreichend Alternativen versehen sein. Der Lolli sollte mindestens über zwei, wenn nicht sogar über drei Wege erreichbar sein. Zwischen den Basen sollten sich mindestens drei Wege befinden. Diese 2:3 oder auch 3:3-Formel hat sich bewährt und alles darunter sorgt bei den Spielern schnell für Frust. Die Entfernungen zwischen den Lollis sollte ein gutes Mittelmaß haben und es sollte unmöglich sein, von einer Basis aus direkt in die gegnerische Basis zu feuern. Das hängt aber auch vom Typ der Map und den verfügbaren Items wie Waffen, Powerups und Holdables ab.

Als letzten Punkt möchte ich noch an die Limits der Quake3-Engine erinnern, die bei CTL-Maps im Liliput-Stil aufgrund der großen und offenen Areale recht schnell erreicht werden können. Hinzu kommen die meist deutlich höhere Anzahl an Items, Spielermodellen, dynamischen Grafikeffekten etc. die die Anzahl der Polygone und Items schnell an das Limit bringen können. Bevor du weiter fortfährst sollte das Brushwork der ersten Hälfte deiner Map im Prinzip schon fertig erstellt sein. Denke daran, dass du Korrekturen und Änderungen später auf beiden Seiten der Map gleichermaßen durchführen musst, daher empfehle ich dir noch damit zu warten, bis du die weiteren Schritte abgeschlossen hast.

Einfügen der Team-Spawnpunkte

Bevor wir zu den Team-Spawnpunkten kommen, muss deine Map mindestens über ein info_player_intermission verfügen, um Spielern den erstmaligen Einstieg in deine Map zu ermöglichenden und um dem Spectator eine schöne Aussicht auf deine Map zu garantieren. Nun zu den Spawnpunkten für die jeweiligen Teams, bei denen nicht nur nach der Teamfarbe, sondern auch nach einer weiteren Eigenschaft unterschieden wird.

Mit dem Entity team_blueplayer bzw. team_redplayer legst du die Spawnpunkte in deiner Map fest, an denen ein Spieler das erste Mal deine Map in der gewählten Teamfarbe betritt. Das gilt also nur, wenn das Match startet oder ein Spieler im laufe des Matches neu hinzukommt. Diese Spawnpunkte sollten sich also in einem sicheren Bereich weiter hinten in der Basis des jeweiligen Teams befinden, wo sich der Spieler erst einmal orientieren und mit ein paar Items ausstatten kann.

Team-Spawnpunkte in Capture The Lolly

Team-Spawnpunkte in Capture The Lolly

Mit dem Entity team_bluespawn bzw. team_redspawn legst du die Spawnpunkte in deiner Map fest, an denen ein Spieler erneut die Map betritt, nachdem er das erste Mal das zeitliche gesegnet hat. Diese Respawnpunkte können sich also auch im näheren Umfeld des Lollis oder auch im äußeren Bereich der Basis befinden, wo es auch mal heiß hergehen kann. Auf keinen Fall aber sollten sie sich auf der gegnerischen Seite der Map.

Sollte deine Basis nicht so groß sein, können sich die Spawn- und Respawnpunkte auch jeweils in Paaren gruppiert bei einander befinden. Ich empfehle dir jedoch mindestens acht von jeder Sorte pro Team einzubauen. Die Entities findest du übrigens im Kontextmenü des Radiants unter /team, das du über einen Rechtsklick aufrufen kannst. Die Pfeile an den Entities zeigen die Blickrichtung des Spielers beim Erscheinen an und sollten daher möglichst nicht direkt auf eine Wand zeigen.

Einfügen der Lollis und weiterer Items

Üblicherweise bauen wir in unsere Maps zwei Lollis ein, für jedes Team einen. Theoretisch könntest du auch mehrere je Team einbauen, aber das HUD ist nur für die Anzeige von jeweils einem Lolli pro Team ausgelegt. Die Entities team_CTL_bluelolly und team_CTL_redlolly findest du ebenfalls im Kontextmenü des Radiants unter /team, das du über einen Rechtsklick aufrufen kannst. Du solltest sie so positionieren, dass sie gut und aus mehreren Richtungen aus erreichbar sind und es bietet sich an, den Spawnpunkt der Lollies mit einem kleinen Podest oder einer besonderen Textur hervorzuheben.

Kontextmenü mit Team-Entities im NetRadiant 1.5

Kontextmenü mit Team-Entities im NetRadiant 1.5

Andere Items sollten sich nicht direkt im Umfeld des Lolli-Spawns befinden. Die Holdables BOOMiES (Minen) und BAMBAM (Geschützturm) sind seit WoP 1.5 und hauptsächlich für den Einsatz in Capture The Lolly gedacht, um die taktischen Möglichkeiten im Spiel zu erhöhen. Die BAMBAM kann eine große Auswirkung auf das Gameplay haben, daher sollte sie nicht zu häufig und eventuell auch nur an einer nicht so einfach erreichbaren Stelle in der Map erscheinen. Generell solltest du, im Vergleich zum Spielmodus Spray Your Color, vom Einbau der iMPERiUS absehen, da sie ein zu starkes Ungleichgewicht zwischen den Teams hervorrufen würde. Technisch gesehen geht es aber. Alle anderen Waffen kannst du je nach ihrer defensiven oder offensiven Wirkung weiter hinten in der Basis oder weiter in Richtung Mitte deiner Map anordnen. Es könnte praktikabel sein, den Munitionsvorrat in den jeweiligen Entities der Waffen und Munitionsflaschen in den Basen etwas zu erhöhen und die Respawn-Intervalle kurz zu halten. Gleiches gilt für die Health Station, die durchaus mehrfach auftauchen darf und teilweise in den Basen unserer Maps doppelt vorkommt.

BAMBAM und BOOMiES verbieten

Versucht ein Spieler die seit WoP 1.5 neu eingeführten Holdables BAMBAM und BOOMiES in der Map zu platzieren, wird er feststellen, dass dies nicht überall geht. Um besonders fiese Situationen zu vermeiden, haben wir dafür gesorgt, dass man die Items zum Beispiel nicht auf Jumppads oder an Teleporterausgängen etc. platzieren kann. Diese Regelung gilt jedoch nur in einem bestimmten Umkreis um die entsprechenden Punkte.

Darüber hinaus wird es in deiner Map sicherlich Bereiche geben, in denen du den Einsatz dieser Items ganz bewusst einschränken willst, wie zum Beispiel an besonders kritischen Stellen in deiner Map oder in den Basen der jeweiligen Teams. Um dir als Leveldesigner ein bisschen mehr Kontrolle darüber zu geben, haben wir den Trigger trigger_forbiddenitems eingeführt. Dazu musst du in dem entsprechenden Bereich deiner Map einen Brush erstellen, der die Größe der verbotenen Zone einnimmt. Diesen Brush belegst du vollständig mit der Textur common/trigger. Danach musst du den Brush auswählen und per Rechtsklick über das Kontextmenü mit der Eigenschaft trigger_forbiddenitems versehen. Danach kannst du für diesen Brush im Entitiy-Inspektor item_bambams (spawnflags 1), item_boomies (spawnflags 2) oder beide Optionen (spawnflags 3) anhaken, um den Einsatz von BAMBAM, BOOMiES oder von beidem Items gleichzeitig zu verhindern. Jeder  Spieler, der sich innerhalb dieses Brushes aufhält, kann diese Items gemäß deiner Vorgaben nicht einsetzen.

trigger_forbiddenitems mit Key spawnflags 3

trigger_forbiddenitems mit Key spawnflags 3

Erstellen der zweiten Maphälfte

Du hast sicherlich schon bemerkt, dass in den Entities häufig „red“ und „blue“ zur Unterscheidung der Teams auftauchen. Dies solltest du dir zunutze machen und auch auf die Bezeichnungen deiner Texturen und Shader übertragen. Diese solltest du, da wo sinnvoll, von vornherein jeweils in einer blauen und einer roten Variante erstellen. Zwar bietet der Radiant viele Möglichkeiten, z. B. über den Textur-Browser und die Funktion Find/Replace in selektierten Brushes Texturen schnell zu finden und zu ersetzen, jedoch gehe ich häufig anders vor.

Wenn die eine Hälfte der Map, zum Beispiel für das blaue Team, fertig und getestet ist, speichere ich sie zweimal ab. Einmal mit „blue“ und einmal mit „red“ im Namen. Dann öffne ich die MAP-Datei mit „red“ im Namen in einem Texteditor (z. b. Notepad++) und ersetze überall „blue“ mit „red“. Danach öffne ich die MAP-Datei mit „red“ im Namen und prüfe, ab alles soweit korrekt angepasst ist und nichts übersehen wurde. Ich importiere dann über das Hauptmenü unter File/Import im Radiant die blaue in die rote Map oder umgekehrt, drehe sie, richte sie aneinander aus und speichere sie unter einem neuen Namen ab. Möglicherweise überflüssig doppelt vorhandene Entities wie z.B. das info_player_intermission lösche ich dann nachträglich manuell. Der Vorteil dieser Vorgehensweise ist, dass schwerwiegende Korrekturen und notwendige Anpassungen dann stets nur auf einer der Maphälften vorgenommen werden müssen und der Vorgang dann recht zügig wiederholt werden kann.

Falls du deine Maphälfte direkt im Radianten verdoppeln willst, solltest du das Brushwork mit den zugehörigen Entities entsprechend selektieren und mittels der Tastenkombinationen Strg+C kopieren und über Strg+V einfügen. Dadurch müssten alle Entities so dupliziert werden, dass die korrekte Zuordnung zum Beispiel zwischen target und targetname ebenfalls korrekt dupliziert wird. Würdest du stattdessen die Maphälfte durch drücken der Leertaste einfach klonen, wären die geklonten Entities Bestandteile der alten Entities und es würde zu unsinnigen Verknüpfungen zwischen beiden Maphälften kommen. Das nachträglich manuell zu korrigieren ist nicht so einfach. Trotzdem müsstest du jetzt die Teamentities in der neuen Maphälfte manuell den anderen Team zuordnen. Für Texturen und Shader geht das, wie bereits erwähnt, auch recht schnell über den Textur-Browser und die Funktion Find/Replace in selektierten Brushes.

Textur-Browser mit der Funktion Find/Replace

Textur-Browser mit der Funktion Find/Replace

Map in Capture The Lolly starten

Nachdem du deine Map kompiliert hast, möchtest du sie sicherlich auch mal testen. Damit WoP deine Map mit allen Texturen usw. auch außerhalb einer PK3-Datei starten kann, musst du WoP erst einmal auf unpure setzen. Dazu öffnest du in WoP die Konsole mit der Tastenkombination Shift+Esc, gibst /sv_pure 0 ein und bestätigst mit der Taste Enter. Sofern du deine Map noch nicht in das Create-Menü eingebunden hast, musst du sie gleichfalls aus der Konsole heraus starten. Zuvor musst du jedoch noch den Spielmodus auf Capture The Lolly setzen, da deine Map sonst automatisch im Spielmodus Free For All starten wird. Dies machst du durch die Eingabe des Befehls /g_gametype 6 in der Konsole. Jetzt kannst du deine Map durch die Eingabe von /devmap meineCTLmap in der Konsole starten. Du kannst die Konsole jederzeit mit der Tastenkombination Shift+Esc auch wieder schließen, falls notwendig.

Kurz noch einmal alle Konsoleneingaben zusammengefasst.

/sv_pure 0
/g_gametype 6
/devmap meineCTLmap