Map kompilieren und starten im GtkRadiant
Last Updated on 7. January 2022 by Victor Karp
Den Playerspawn setzen
Jede Map braucht mindestens einen Spawnpoint, an dem Spieler das Level betreten können. Andernfalls bricht Quake 3 den Ladevorgang mit der Fehlermeldung “Couldn’t find a spawn point” ab.
Um einen Spawnpoint zu setzen, klicke mit der rechten Maustaste in einen der 2D Viewports und wähle info -> info_player_deathmatch aus dem Kontextmenü aus. Verschiebe ihn so, dass er nicht im Boden steckt, da ein spawnender Spieler sich ansonsten nicht bewegen kann. Wenn dein Grid dafür zu groß und ungenau ist, passe die Gridgröße mit den Zifferntasten an.
Spawnpoints gehört zur Klasse der Entities. Der kleine Pfeil zeigt die Blickrichtung des Spielers an. Oben in der Toolbar gibt es einen Button, mit dem du den Playerspawn in 90° Schritten um die Z-Achse drehen kannst. Je nach Radiant sieht das Icon dafür etwas anders aus, es ist aber immer das Icon ganz rechts.
Die Map compilen
Um die Map spielen zu können, musst du sie zuerst compilen.
Wähle dazu oben in der Werkzeugleiste den Eintrag Build -> Q3MAP2: (single) BSP -meta aus, was den Compilevorgang startet.
- Unter Windows erscheint kurz die Kommandozeile und zeigt den Fortschritt an. Wenn sie sich schließt, ist der Compiler fertig
- Unter Linux siehst du den Fortschritt im Terminal, wenn du den Radiant aus einem Terminal heraus gestartet hast. Wenn du die Zeile “Connection closed.” lesen kannst, ist der Compiler fertig.
- Unter beiden Betriebssystemen kannst du auch mit O die Konsole öffnen und dir den Fortschritt dort ansehen, wenn du vorher unter Edit -> Preferences -> Settings -> Build -> Enable Build Proces Monitoring aktiviert hast. Wenn du die Zeile “Connection closed.” lesen kannst, ist der Compiler fertig.
Du musst deine Map erneut compilen, sobald du Änderungen daran gemacht hast. Das Spiel lädt immer nur den zuletzt kompilierten Stand.
Die Map starten
Du kannst das Level jetzt im Spiel über die Konsole starten. Starte dazu Quake 3 und öffne mit Zirkumflex (^) die Konsole. Benutze Shift + Escape, wenn du ioquake3 verwendest).
Dort tippst du nacheinander die beiden folgenden Befehle ein:
/sv_pure 0
/devmap name_deiner_map
/sv_pure 0 erlaubt es, Maps zu starten, die sich nicht innerhalb einer pk3 Datei, sondern im maps Ordner befinden.
/devmap erlaubt im Unterschied zu /map das Benutzen von Cheats.
Eine Verknüpfung zum Starten der Map
Dieser Abschnitt gilt nur für Windows.
Du kannst zum Starten der Map eine Verknüpfung anlegen, damit du nicht jedes Mal die Konsole öffnen musst. Erstelle dazu eine Kopie der Quake 3 Verknüpfung und gibt ihr den Namen deiner Map. Öffne dann mit einem Rechtsklick auf die Verknüpfung die Eigenschaften.
Im Feld Ziel steht in etwa Folgendes:
"C:/Programme/Quake III Arena/quake3.exe"
Hänge an die Verknüpfung diese Zeile an: +sv_pure 0 +devmap name_deiner_map
Das sieht dann z.B. so aus: "C:/Programme/Quake III Arena/quake3.exe" +sv_pure 0 +devmap q3tutorial07
Der Zweck der Caulk Textur
Im vorigen Tutorial habe ich gesagt, es hätte einen bestimmten Sinn, neue Brushes erstmal mit der Caulk Textur zu belegen und dann nur die Bereiche zu texturieren, die man später auch wirklich braucht. Hier die Erklärung:
1. Es spart bei größeren und komplexeren Maps Zeit beim Kompilieren (also dem Umwandeln der Editordatei im .map Format in das vom Spiel lesbare .bsp Format).
2. Du kannst mit der Tastenkombination Shift+6 oder über View -> Filter -> Caulk Brushoberflächen ausblenden, die mit dieser Textur belegt sind. Das schafft später Übersichtlichkeit und lässt dich manche Fehler schneller finden.
3. Beim Compilen entfernt der Compiler automatisch alle Oberflächen, die man niemals sehen kann, weil sie zum Void gerichtet sind. Dadurch bleibt nur die “Innenseite” deiner Map übrig. Bei dem Raus aus diesem Tutorial sind das die sechs Oberflächen (Faces) der Wände, des Bodens und der Decke. Außerdem löscht der Compiler auch solche Oberflächen, die auf anderen aufliegen und niemals sichtbar sind, wie z.B. die Unterseite einer Kiste, die ohne Zwischenraum auf dem Boden steht. Wenn wir unsere sechs Brushes komplett texturieren und nicht nur die Innenseiten, kann der Compiler nichts ausblenden, falls die Map ein Leak hat.
Sind jedoch alle unnützen Flächen gecaulked, werden diese auch trotz eines Leaks nicht dargestellt und du sparst Compilingzeit, weil weniger berechnet werden muss.
Du kannst den Unterschied selbst testen, indem du alle Seiten aller Brushes in der Testmap mit Texturen belegts. Compile und starte die Map, öffne die Konsole und aktiviere mit /noclip
den Flugmodus.
Wenn du aus dem Raum herausfliegst, kannst du sehen, dass nur noch die Innenseite der Wände existieren, weil alle unnötigen Flächen vom Compiler gelöscht wurden. Entferne dann als Vergleich die Decke des Raumes, compile neu (du wirst diesmal ein Leak haben) und starte die Map. Der Compiler kann diesmal nicht automatisch alle unnötigen Oberflächen entfernen.
Zwei Räume verbinden
Im nächsten Tutorial lernst du, wie du einen Türdurchgang zwischen zwei Räumen erstellen kannst.
Besuche die Quake 3 Mapping Tutorial Hauptseite für weitere Tutorials.