Kapitel 1: Datenorganisation

Warzone 2100 sucht an verschiedenen Orten nach Spieldaten, die für das unmodifizierte Spiel in .wz-Archiven organisiert sind. Ziel dieses Artikels ist es die Art und Weise wie die Spieldaten in Warzone 2100 organisiert sind zu erläutern und darauf aufbauend die Grundlagen zur Funktionsweise eines Mods zu liefern.

.wz-Archive

Ein .wz-Archiv ist ein ZIP-Archiv mit der Dateiendung „wz“ statt „zip“. Solche Dateien lassen sich daher auch mit all jenen Programmen verarbeiten, die auch ZIP-Archive öffnen können. Das Spiel besteht derzeit aus genau zwei .wz-Archiven: base.wz und mp.wz.

base.wz enthält sämtliche Daten, die vom Spiel an sich benötigt werden wie Grafiken für die grafische Oberfläche, Audiodateien und Texturen. Zudem befinden sich die Daten für die Feldzüge mitsamt allen Karten, Skripten und so weiter in der base.wz. Ebenfalls befinden sich sämtliche Mehrspielerkarten in der base.wz.

mp.wz enthält all jene Daten, die zwar im Mehrspielermodus benötigt werden, aber sich von denen des restlichen Spiels unterscheiden. Dazu zählen etwa Modelle von Rümpfen und Waffen, die in den Feldzügen nicht vorkommen, sowie sämtliche Eigenschaften sämtlicher Technologien für den Mehrspielermodus. Da der Technologiebaum des Mehrspielermodus von den Feldzügen, dem schnellen Spiel und dem Tutorial getrennt ist, haben Änderungen am Mehrspielertechnologiebaum keinen Einfluss auf die anderen Spielmodi.

Das Endziel der Entwickler ist es nur noch genau ein .wz-Archiv für das gesamte Spiel zu haben, sodass mp.wz komplett entfällt, und die für die Mehrspielermodus benötigten Dateien gesondert, das heißt in eigenen Verzeichnissen, aufbewahrt werden.

zurück zum Seitenanfang


Datenorte

Bei jedem Programmstart sucht das Spiel an verschiedenen Orten nach nutzbaren Daten. Die Standarddateien base.wz und mp.wz sind dabei unter den Orten, die am Ende abgesucht werden. Um „Orte“ handelt es sich bei den beiden .wz-Archiven, weil das Spiel die Inhalte dieser Dateien erkennt und mp.wz und base.wz wie Verzeichnisse behandelt. Findet das Spiel nun bestimmte Daten an Orten, die vor den .wz-Archiven abgesucht werden, so werden genau jene Dateien aus den .wz-Archiven ignoriert.

Wo sich die abgesuchten Datenorte befinden ist zwar von Betriebssystem zu Betriebssystem unterschiedlich, es lässt sich aber dennoch sagen, dass zuerst das Warzone-2100-Verzeichnis im Nutzerverzeichnis und dann das systemweite Installationsverzeichnis durchsucht werden. Die Idee dahinter ist, dass verschiedene Benutzer am selben Computer dieselbe Warzone-2100-Installation mit denselben Spieldaten verwenden können, aber jeder Benutzer für sich eigene Erweiterungen/Veränderungen in Form von Karten oder Mods vornehmen kann, ohne dass andere Benutzer durch diese beeinträchtigt würden.

Eine Ausgabe der abgesuchten Orte lässt sich anzeigen, indem man Warzone 2100 mit „--debug all“ startet und in der Fehlerausgabe (beziehungsweise in der stderr.txt) dann nach Zeilen mit „[printSearchPath]“ Ausschau hält. Diese geben die verwendeten Datenorte in der abgesuchten Reihenfolge an.

GNU/Linux

Windows XP

Datenorte sollten auch für nachfolgende Windowsversionen gültig sein.

Windows 98

zurück zum Seitenanfang


Aufbau eines Mods

Ein einfacher Mod besteht aus einer Datei, die in den Spieldaten enthalten ist, aber sich an einem Datenort befindet, den Warzone 2100 zuerst untersucht. Es muss lediglich darauf geachtet werden die Verzeichnisstruktur der Spieldaten auch entsprechend nachzubauen.

Beispielsweise soll die Masse des EMP-Geschützes – nur Mehrspielermodus, da es diese Waffe im Einzelspielermodus nicht gibt – in einem Mod verändert werden. Dazu muss zuerst die entsprechende Datei in der mp.wz gefunden werden (mp.wz/stats/weapons.txt). Nun wird ein Verzeichnis „stats“ im Nutzerverzeichnis erstellt und anschließend die weapons.txt aus der mp.wz dorthin extrahiert.

Da Warzone 2100 das Nutzerverzeichnis zuerst absucht, wird es dort die weapons.txt finden und damit die weapons.txt aus der mp.wz ignorieren. Nun kann die weapons.txt verändert werden. Der genaue Aufbau der weapons.txt (und anderer Dateien) wird in späteren Kapiteln erklärt. Das EMP-Geschütz hat den internen Namen „EMP-Cannon“, sodass nach diesem Ausdruck gesucht wird. In derselben Zeile in der weapons.txt finden sich dann viele durch Kommata abgetrennte Werte. Beim fünften Wert handelt es sich um die Masse, die in einer nicht definierten Einheit angegeben wird. Verändert man nun diesen Wert, speichert die Datei und startet Warzone 2100, so wird man feststellen, dass das EMP-Geschütz entsprechend leichter/schwerer geworden ist.

Die Verwendung der einzelnen Dateien im Nutzerverzeichnis erlaubt einfaches und unkompliziertes Editieren der entsprechenden Spieldaten. Will man den Mod aber als Mod verteilen, so ist es sinnvoll dies in Form eines ZIP-Archivs zu tun, das dann die Endung .wz erhält. Die Verzeichnisstruktur muss auch im Archiv selbst (wie auch in der base.wz und der mp.wz) gewahrt bleiben. Ein so erstellter Mod kann dann auch über die Kommandozeile über seinen Dateinamen aktiviert werden, unabhängig davon, ob er an einem von Warzone 2100 standardmäßig durchsuchten Datenort liegt oder nicht. Liegt der Mod als .wz-Datei in einem der standardmäßig durchsuchten Datenorte, so wird dieser behandelt als wäre der Inhalt des Archivs an dessen Stelle. Dies ist auch der Grund, weshalb diese .wz-Datei nicht in der Liste der durchsuchten Orte auftaucht.

zurück zum Seitenanfang

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

Dieses Werk ist unter einer Creative Commons-Lizenz (Namensnennung + nicht kommerziell + Weitergabe unter gleichen Bedingungen) lizenziert.


Valid XHTML 1.0 TransitionalValid CSS!Impressum