Dieser Artikel ist noch nicht fertig.
Wenn man Warzone 2100 startet, muss dieses von irgendwoher die Daten laden, aus denen später dann das Spiel aufgebaut wird. Es ist leicht vorstellbar, dass es sich dabei um sehr viele Daten verschiedener Typen handelt: Karten, Skripte, künstliche Intelligenzen, Technologiebaum, Sounddateien und so weiter. All diese Daten sind natürlich so organisiert, dass das Spiel zum einen die Daten findet und zum anderen etwas mit ihnen anfangen kann. In diesem ersten Kapitel zum Themenkomplex "Modding für Warzone 2100" werde ich daher über die Datenorganisation von Warzone 2100 informieren.
Sämtliche Daten, aus denen Warzone 2100 das Spiel zusammenstellt, befinden sich in genau zwei Hauptdateien: warzone.wz und mp.wz. Es handelt sich dabei um Zip-Archive, die mit einem alltäglichen Packprogramm problemlos geöffnet und bearbeitet werden können. Im Folgenden werde ich einen Einblick in beide Hauptdateien vornehmen und kurz erklären worum es sich jeweils handelt. Einen tiefergehenden Einblick in die einzelnen Datendateien innerhalb der Hauptdateien gibt es im dritten Kapitel.
warzone.wz enthält unter anderem die drei Feldzüge mitsamt allen Karten, Skripten, Audiodaten und Datendateien, alle Mehrspielerkarten und Modelle aller Einheiten, Waffen, Antriebe und Rümpfe, die es im Spiel gibt.
mp.wz enthält wie der Name schon vermuten lässt nur Dinge, die für den Mehrspielermodus gebraucht werden. Dazu zählen vor allem die in /stats enthaltenen Datendateien, die z. B. den Technologiebaum und alle Einheitenwerte im Mehrspielermodus festlegen.
Nachdem wir nun gesehen haben, dass das gesamte Spiel an sich mehr oder minder aus nur zwei Dateien besteht, liegt die Vermutung nahe, dass man diese Archive bloß editieren bräuchte und die geänderten Archive dann als Mod anbieten könnte. Rein theoretisch wäre dies sogar möglich, in der Praxis jedoch würde eine solche Verbreitung an mehreren Punkten scheitern oder zumindest unnötig kompliziert werden. Näheres dazu gibt es aber erst im Kapitel 2. Man verwendet daher nicht das gesamte Archiv, sondern einen eigenen Nachbau der Ordner- und Dateistruktur des Archivs, der allerdings nur die veränderten Dateien und/oder Ordner bzw. die neu hinzugefügten Dateien und/oder Ordner enthält. Dieses Archiv kann dann verbreitet werden, wobei man vor einer Verbreitung die Kapitel 4 und 5 beachten sollte.
Wo man diese Ordnerstrukturen dann nachbaut, ist allerdings von Betriebssystem zu Betriebssystem unterschiedlich (auch wenn sich eine gewisse Logik dahinter verbirgt) und Gegenstand dieses Abschnitts. Zudem besteht ein Unterschied darin wo man die Daten ablegen muss je nach dem, ob man dem Spiel den Mod als Archiv anbietet oder als Nachbau der Ordner- und Dateistruktur. Auch dies wird in diesem Abschnitt behandelt.
Allgemein lässt sich feststellen, dass es bei modernen Mehrbenutzerbetriebssystemen zwei zugriffstechnisch verschiedene Orte gibt, an denen Moddaten untergebracht sein können. Zum einen wäre da das Warzone 2100-Verzeichnis im Benutzerverzeichnis, das nur vom jeweiligen Benutzer an sich verändert werden kann, sodass zum Beispiel an einem PC, der von der ganzen Familie genutzt wird Vater, Mutter und Kind jeweils andere Mods in ihren Benutzerverzeichnissen haben und Warzone 2100 für alle drei mit anderen Mods starten wird. Zum anderen gibt es dann noch die Möglichkeit das systemweite Verzeichnis von Warzone 2100 nutzen, das unter anderem auch schon die beiden Hauptdateien enthält. Nutzt man das systemweite Verzeichnis, was natürlich Super User/Administratoren-Rechte zum Schreiben benötigt, können Mods für alle Nutzer des Systems zur Verfügung gestellt werden, was unter anderem den Vorteil hat, dass populäre Mods nur einmal heruntergeladen und an die richtige Stelle kopiert werden müssen, was im Endeffekt Arbeit, Zeit und Speicherplatz spart und dafür sorgt, dass jeder Nutzer des Systems mit der gleichen Modversion spielt.
Startet man Warzone 2100 unter GNU/Linux mit "warzone2100 --debug all", so erhält man unter anderem folgende Ausgabe:
wz: Search paths: wz: [/home/nutzer/.warzone2100/] wz: [/usr/games/] wz: [/usr/share/games/warzone2100/mp.wz] wz: [/usr/share/games/warzone2100/] wz: [/usr/share/games/warzone2100/warzone.wz]
Die angegebenen Pfade werden in der angegebenen Reihenfolge durchprobiert bis eine passende Datei gefunden ist. Die beiden Hauptdateien, mp.wz und warzone.wz, sind dabei logischerweise erst sehr weit unten anzutreffen, da Warzone 2100 mit der Suche dann aufhört, wenn alles gefunden wurde. Da beide Hauptdateien vollständig sind, kommen diese zum Schluss, um sicherzustellen, dass alle Dateien vorhanden sind.
Das Praktische an dieser Vorgehensweise ist, dass man einzelne Dateien aus den Hauptdateien herausziehen, bearbeiten und dann im Nutzerverzeichnis ablegen kann und Warzone 2100 diese Datei dann mitsamt all ihren Änderungen berücksichtigt, ohne dass man die beiden Hauptdateien anfassen muss.
Die beiden Hauptdateien werden weiter unten behandelt, weshalb Sie an dieser Stelle noch nicht alles verstehen können müssen, was von den Hauptdateien handelt.
datenorte win xp wz: [C:\Dokumente und Einstellungen\nutzer\Eigene Dateien\Warzone 2100\] wz: [C:\Spiele\Warzone 2100\mp.wz] wz: [C:\Spiele\Warzone 2100\] wz: [C:\Spiele\Warzone 2100\warzone.wz] datenorte win98 :D wz: Search paths: wz: [C:\Eigene Dateien\Warzone 2100\] wz: [C:\Spiele\Warzone 2100\mp.wz] wz: [C:\Spiele\Warzone 2100\] wz: [C:\Spiele\Warzone 2100\warzone.wz]
Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)
Dieses Werk ist unter einer Creative Commons-Lizenz (Namensnennung + nicht kommerziell + Weitergabe unter gleichen Bedingungen) lizenziert.