Map für Big Balloon erstellen

In diesem Tutorial möchte ich dir zeigen, welche Dinge du benötigst, um deine Map fit für den Spielmodus Big Balloon zu machen. Bevor du aber loslegst solltest du sicherstellen, dass du World of Padman ab Version 1.6 installiert hast. Mit älteren Versionen werden einige der hier beschriebenen Dinge nicht oder nur auf andere Art und Weise funktionieren. Ich setze an dieser Stelle einfach mal voraus, dass du etwas mit der Bezeichnung Big Balloon 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_mapBB.map zum Spielmodus Big Balloon 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. Die Map wop_mapBB_onlyboxes.map beinhaltet hingegen ausschließlich die für Big Balloon benötigten Komponenten und kann von dir einfach direkt in deine existierende Map importiert werden. Darin enthalten sind also die drei Balloon-Boxen mit den Trigger-Brushes und allen notwendigen Entities. 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 Beispiel-Map werfen.

Allgemeine Vorbetrachtungen

Für den Spielmodus Big Balloon bedarf es oft einiger Veränderungen im Brushwork der Map, um ausreichend geschützte Standorte für die Balloon-Boxen zu schaffen. Daher haben wir uns im WoP-Team darauf geeinigt, Maps für Big Balloon als separate Datei abzulegen. Dazu wird die Map unter einem anderen Namen abgespeichert, der am Ende ein BB enthält, also anstelle wop_meinemap.bsp heißt die Map dann wop_meinemapBB.bsp. Dies ist wie gesagt nur dann sinnvoll, wenn sich deine Map im Design für den Spielmodus Big Balloon deutlich von den anderen Spielmodi unterscheidet. Du kannst natürlich auch alle für Big Balloon notwendigen Entities in zum Beispiel die Version deiner Map für Spray Your Color einfügen, da sie nur dann wirklich angezeigt werden, wenn der Spielmodus Big Balloon auch aufgerufen wird. Es bleibt letztendlich dir überlassen.

Bei der Standortwahl der Balloon-Boxen solltest du darauf achten, dass von bestimmten Positionen aus über große Distanzen hinweg keine direkten Schussmöglichkeiten auf die Boxen bestehen, da dies ungeliebtem Camping vorbeugt. Auch eine direkte Sicht von Box zu Box sollte unbedingt vermieden werden. 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. Auch für Powerups und Waffen wirst du dir unter Umständen neue Positionen suchen müssen, da sich diese nicht direkt bei den Balloon-Boxen befinden sollten. Munitionsflaschen hingegen sind in unmittelbarer Nähe durchaus hilfreich. Das Holdable BOOMiES (Minen) ist seit WoP 1.5 mit dabei und auch für Big Balloon einsetzbar, im Gegensatz zur BAMBAM (Geschützturm), die in Big Balloon nicht spawnt.

Bevor du weiter fortfährst sollte deine Map im Prinzip schon fertig erstellt sein. Dazu gehört ein info_player_intermission, um dem Spectator eine schöne Aussicht auf deine Map zu garantieren. Ein info_player_deathmatch ermöglicht dem Spieler den Einstieg in deine Map. Je nach Größe deiner Map solltest du zwischen 12 und 16 dieser Spawnpunkte gleichmäßig in deiner Map verteilen, möglichst weit weg von den Balloon-Boxen und ein paar auch einmal in höheren Lagen. Team-Spawnpunkte brauchst du nicht unbedingt, kannst du aber zum örtlich getrennten Eintritt der Teams in die Map einsetzen, wie das ENTE in der BB-Version seiner PadCrash gemacht hat. Weitere Informationen zu Team-Spawnpunkten findest du im Tutorial Map für Capture The Lolly erstellen.

Üblicherweise bauen wir in unsere Maps drei Balloon-Boxen ein. Theoretisch könnten auch mehr eingebaut werden, aber das HUD ist nur für die Anzeige von drei Boxen ausgelegt. Fangen wir aber erst einmal mit der ersten Box an.

Einfügen einer Balloon-Box

Im ersten Schritt wählst du ein target_balloon einfach per Rechtsklick über das Kontextmenü unter target aus und fügst es somit an der Position des Mauszeigers in der gewählten Radiant-Ansicht in deine Map ein. Dir sollte nun das Modell der Balloon-Box automatisch angezeigt werden. Wenn der Deckel der Box später im Spiel in eine ungünstige Richtung aufklappen sollte, so dass dem Spieler eventuell die Sicht versperrt wird, kannst du die Balloon-Box über den Key angle drehen. Dieser erfordert als Wert die Eingabe einer Dezimalzahl zwischen 0 und 360 (Grad) in das Value-Feld. Die Vorderseite der Box befindet sich dort, wo die beiden Schleifenbänder über den Deckel hängen. Das Scharnier des Deckels befindet daher auf der gegenüber liegenden Seite der beiden Schleifenbänder.

Das Entity target_balloon mit Keys im Entity Inspector

Das Entity target_balloon mit Keys im Entity Inspector

Hinweis: Seit WoP 1.6 muss die Angabe des Pfades zum Modell der Balloon-Box nicht mehr über den Key model im Entitiy target_balloon erfolgen, da die Pfadangabe nun über den Code direkt geregelt wird. Darüber hinaus solltest du bedenken, dass die Balloon-Box nun solide ist und der Spieler nicht mehr durch das Modell laufen oder schießen kann. Ältere Versionen von WoP hingegen brauchen weiterhin die Pfadangabe models/special/ballon.md3.

Einfügen einer Balloon-Zone

Im zweiten Schritt erstellst du einen einfachen Brush mit einem Durchmesser von ca. 300 Units und einer Höhe von 192 Units, den du so positionierst, dass sich das zuvor erstellte target_balloon nun im Mittelpunkt auf dessen Grundfläche befindet. Nun wandelst du diesen einfachen Brush in ein Prisma mit einer achtseitigen Grundfläche um, indem du im Hauptmenü des Radiants auf Brush/Prism… klickst, bei Arbitrary sides eine Wert von 8 eingibst und mit OK bestätigst. Es empfiehlt sich vorher die Draufsicht (XY-Fenster) des Radiants aktiviert zu haben, da sonst eventuell nicht die Grundfläche sondern eine der Seitenflächen des Brushes in ein Achteck umgewandelt wird. Anschließend belegst du das so erstellte Prisma vollständig mit der common/trigger Textur. Abschließend gibst du ihm die Eigenschaft trigger_balloonzone, die du ihm einfach per Rechtsklick über das Kontextmenü unter trigger zweisen kannst.

Das Entity trigger_balloonzone mit Keys im Entity Inspector

Das Entity trigger_balloonzone mit Keys im Entity Inspector

Verknüpfung von Balloon-Zone und Balloon-Box

Jeder Spieler, der im Spiel in den Brush mit dem Entity trigger_balloonzone „eintaucht“, kann den Aufstieg oder die Zerstörung des Ballons bewirken. Damit das funktioniert, musst du in einem dritten Schritt die Entities trigger_balloonzone und target_balloon noch miteinander verknüpfen. Wähle dazu zuerst das Entity trigger_balloonzone und dann das Entity target_balloon aus und drücke die Tastenkombination Strg + K. Die Reihenfolge der Auswahl muss dabei unbedingt beachtet werden.

Auf diese Weise ordnet der Radiant dem Entity trigger_balloonzone automatisch den Key target und dem Entitiy target_balloon den Key targetname mit dem gleichen Wert (hier: balloon3) zu. Alternativ zu der oben beschriebenen Methode mittels Tastenkombination kannst du die beiden Entities auch manuell miteinander verknüpfen, in dem du für die Keys target beim Entity trigger_balloonzone und targetname beim Entity target_balloon direkt eingibst und für beide den gleichen Wert definierst. Den hier angegebenen Wert balloon3 kannst du auch selbst definieren und irgendetwas dafür eingeben. Wichtig ist nur, dass beide Entities den gleichen Wert erhalten und das er einmalig in der ganzen Map ist.

Definition der Positionsnachricht

Damit dem Spieler im Spiel bei Eroberung oder Verlust einer Balloon-Box deren Position in Form einer Nachricht im HUD angezeigt werden kann, muss noch ein vierter Schritt erfolgen. Dazu wählst du jetzt nur das Entity trigger_balloonzone, also den Brush mit der achtseitigen Grundfläche, aus und weißt ihm dem Key message mit einer selbst definierte Positionsnachricht im Value-Feld zu. Diese Positionsnachricht sollte in Englisch und schnell erfassbar sein, z.B. hier: Balloon on the blue platform. Du solltest beachten, dass die von dir definierte Nachricht durch das Spiel je nach Situation ergänzt wird, z.B. Balloon on the blue platform is under attack by the RED team oder Balloon on the blue platform is captured by the BLUE team. Entsprechend sollte deine Nachricht aufgebaut sein und ein Anfügen der hier in fett hervorgehobenen Satzteile ermöglichen.

Das Entity trigger_balloonzone mit dem Key message im Entity Inspector

Das Entity trigger_balloonzone mit dem Key message im Entity Inspector

Zwei weitere Ballons

Um die zwei noch fehlenden Ballons einzufügen, kannst du die ersten Balloon-Anordnung, bestehend aus den Entities trigger_balloonzone und target_balloon, 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 zwischen trigger_balloonzone und target_balloon ebenfalls korrekt dupliziert wird. Würdest du stattdessen die Balloon-Anordnung 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 den Ballons kommen. Das nachträglich manuell zu korrigieren ist nicht so einfach. Du kannst auch einfach unsere Beispiel-Map wop_mapBB_onlyboxes.map über das Hauptmenü unter File/Import importieren. In jedem Fall, vergiss nicht die Positionsansagen der drei Balloon-Zonen jeweils individuell anzupassen.

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. 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_boomies (spawnflags 2) anhaken, um den Einsatz der BOOMiES zu verhindern. Die Option item_bambam kannst du für den Spielmodus Big Balloon ignorieren, da die BAMBAM in diesem Spielmodus generell nicht spawnt. Jeder  Spieler, der sich innerhalb dieses Brushes aufhält, kann die BOOMIES nicht platzieren.

Map in Big Balloon 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 Big Balloon setzen, da deine Map sonst automatisch im Spielmodus Free For All starten wird. Dies machst du durch die Eingabe des Befehls /g_gametype 8 in der Konsole. Jetzt kannst du deine Map durch die Eingabe von /devmap meineBBmap 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 8
/devmap meineBBmap