Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 21

Thema: Tutorials und Dokumentationen für Colonization-Modder

  1. #1
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376

    Idee Tutorials und Dokumentationen für Colonization-Modder

    Bild


    Tutorials und Dokumentationen für Colonization-Modder

    Eine Übersicht der Tutorials und technischen Dokumentationen, die es für Colonization-Modder gibt. Die meisten deutschsprachigen Anleitungen wenden sich an Modder, die ihre Projekte technisch auf TAC 2.03_final, die Communitymod des Civforum, aufsetzen möchten. Englischsprachige Anleitungen beziehen sich dagegen immer auf die Vanilla-Version. Da Colonization technisch auf Civ4 aufbaut, wird die Liste ergänzt um einige ausgewählte Civ4-Anleitungen, die ganz oder in wesentlichen Teilen auch Hilfen für Colonization geben. Diese Civ4-Anleitungen sind speziell gekennzeichnet.

    Dieser Thread bleibt der Übersichtlichkeit halber geschlossen. Bitte benutzt für seine Diskussion den Kleine-Fragen-Thread. Dort könnt ihr auch herzlich gerne auf interessante Tutorials oder Erklärungen hinweisen, die in unserer Zusammenstellung fehlen. Möchtet ihr vielleicht ein eigenes Tutorial schreiben oder einen bestehenden Beitrag verbessern? Dann erstellt euren Text im Kleine-Fragen-Thread, er wird dann hierhin verschoben.




    Grundlagen des Moddings

    Start eines Mod-Projekts
    "Wie starte ich auf der technischen Basis von TAC 2.03_final ein Modprojekt?"
    • Woraus besteht eine Mod?
    • Was passiert beim Start einer Mod?
    • Wie lege ich meinen Mod-Ordner an?
    • Wie starte ich meine Mod?
    • Welche Colonization-Dateien sind für Modder besonders wichtig?
    • Wie organisiere ich meine Arbeit? Dreizehn Empfehlungen für Modder


    Artikel "Tipps zum Modden (TAC)" in der CivWiki
    Einstiegstipps für TAC-Modder. Unter anderem zu
    • Cheatcodes
    • Leeren des Caches
    • Start vom Desktop
    • Automatische Spielstände
    • Computergegner übernehmen
    • Automatisches Spielen (Autoplay)


    Gratis-Tools für Modder
    Hinweise auf Freeware-Programme, die beim Modden nützlich sind, z.B. den Texteditor Notepad++ zum Bearbeiten von xml- und python-Dateien, Nif-Skope zum Betrachten von 3-D-Modellen und IrfanView zum Betrachten von DDS-Bildern

    HOW TO: Design a Mod
    "This article will focus on the design aspects of making a mod, not the technical challenges. The goal is that readers will gain some insight into common pitfalls, how to avoid them and that our mods will be improved by it."




    Karten

    Karteneditor ("Weltenbauer") - Grundlagen
    Einführung in die wesentlichen Funktionen des "Weltenbauers", des spieleigenen Karteneditors, mit dem sich recht einfach eigene Szenarienkarten für Colonization erstellen lassen. Erläutert wird auch, wie man die erzeugte Karte anschließend mit einem Texteditor verbessern sollte.

    Videotutorial für Kartenbauer
    In einem Videotutorial wird gezeigt, wie man im Weltenbauer Szenarienkarten selber erschafft und für sich und andere User spielbar macht. Als Beispiel wird eine Karte für Werewolves gebaut, das offizielle TAC-Szenario. Werewolves baut auf TAC auf, ist aber technisch eine eigenständige Mod und bietet in vielerlei Hinsicht eine eigenständige Spielwelt. Nicht alle, aber die meisten Erklärungen des Tutorials gelten auch dann, wenn man Karten für das "normale" TAC bauen möchte.

    Schriftliche Kurzfassung des Videotutorials

    Tutorial zum Karteneditor "MapView" Teil 1 und Teil 2
    In diesem zweiteiligen Tutorial wird erläutert, wie sich das Tool "Mapview", das Greyhound für Civilization 4 entwickelt hat, für Colonization nutzen lässt. Mit Hilfe von MapView ist es möglich, auf komfortable Weise reale Landkarten im jpg-Format in eine Szenarienkarte für Colonization zu konvertieren, in der die Küstenverläufe authentisch wiedergegeben werden. Das Platzieren der Höhenzüge, Terrainarten, Features und Flüsse sollte man anschließend auf herkömmliche Weise im spieleigenen Weltenbauer besorgen.




    DLL-Modding

    Einsteiger-Leitfaden zur Erzeugung einer DLL für Colonization




    XML-Modding

    XML-Modding - Grundlagen

    XML-Modding - Ordner Text

    XML-Modding - Ordner GameInfo

    XML-Modding - Ordner Civilizations

    XML-Modding - Ordner Buildings

    XML-Modding - Ordner Units

    XML-Modding - Ordner Terrain

    XML-Modding - Ordner Art

    XML-Modding - Ordner Audio

    XML-Modding - Ordner Events

    XML-Modding - Ordner BasisInfos

    Texteditor und Sonderzeichen
    In Spieltexten sollten deutsche Sonderzeichen (z.B. Umlaute und der Buchstabe 'ß') durch Code ersetzt werden, um Fehlermeldungen zu vermeiden. Beim Texteditor Notepad++ kann man das nachträgliche Umwandeln dieser Sonderzeichen automatisieren, indem man dazu ein Makro aufzeichnet. Es gibt dazu eine Anleitung und eine Liste der wichtigsten Code-Ersetzungen.

    The Danger of Comments in CIV4CivilizationInfos.xml
    Wichtige Warnung davor, in xml-Dateien exzessiv Kommentare einzufügen

    Erklärung der Leader-Diplomatiewerte
    "Hier werden Informationen zu den einzelnen Tags der Civ4LeaderHeadInfos.xml in zusammengefasst und auch für Laien möglichst verständlich präsentiert. Soweit möglich, werden die passenden Einzelpostings zu den Tags mit verlinkt, dort finden sich noch mehr Informationen, teils mit dll-Codestellen."

    Rundenzahl erhöhen
    CivWiki-Artikel zur Erhöhung des Rundenlimits

    Schnellere Bewegung auf Straßen
    CivWiki-Artikel zu: "Wie kann ich die Bewegung von Einheiten auf Straßen beschleunigen?"

    Siegmeldung entfernen
    CivWiki-Artikel zu: "Hat man bei Civ4 oder Colonization den Sieg erreicht, erscheint eine weiße Textmeldung, die sich auf die Spielwelt legt und den Erfolg verkündet. Diese Meldung verschwindet nicht, wenn man die Partie fortsetzt. Das wird häufig als störend empfunden. Es ist möglich, den Text durch die unaufwändige Änderung einer xml-Datei komplett zu entfernen."

    Explanation of GlobalDefines.xml
    Erklärung eines Teils der Einträge in der GlobalDefines.xml (der wichtigsten xml-Datei fürs Balancing)

    Stärke und Zusammensetzung der Königsarmee - Grundlagen (nur für TAC)
    CivWiki-Artikel zu den Berechnungsgrundlagen für Stärke und Zusammensetzung der Königsarmee, sowohl bezogen auf die Startarmee als auch für die Aufrüstung im weiteren Spielverlauf

    xml-Balancingschrauben der Königsarmee (nur für TAC)
    In der GlobalDefinesAlt.xml von TAC sind die relevanten Einträge mit erklärenden Kommentaren versehen.

    Stärke und Zusammensetzung der Königsarmee - Grundlagen (nur für Vanilla)
    CivWiki-Artikel zu den Berechnungsgrundlagen für Stärke und Zusammensetzung der Königsarmee, sowohl bezogen auf die Startarmee als auch für die Aufrüstung im weiteren Spielverlauf

    How to change REF Starting Size and Growth (nur für Vanilla)




    Python

    How To Make Python Action Buttons (für Civ4)
    "What is a python action button? It's simple- a button you can press on the unit's control panel (the buttons like move, sleep, skip turn, kill, etc) that does something in-game."




    Events und Quests

    Programmieren von Events und Quests

    Eventbaukasten (teils deutsch, teils englisch, leider nicht vollständig an die finale TAC-Version angepasst)
    --> enthalten im Dokumentationsordner von TAC




    Hinzufügen neuer Spielelemente

    Einfügen einer neuen Zivilisation in 10 Schritten

    Einfügen einer neuen Einheit in 5 Schritten

    Adding a new yield/resource to Col
    Adding a new Tradable Yield
    Hier finden sich Anleitungen, wie man dem Spiel eine zusätzliche Ware hinzufügt. Achtung: Während man beim bloßen Austausch einer Ware lediglich xml-Dateien editieren und neue Grafiken erstellen muss, sind beim Erhöhen der Anzahl der Waren dll- und python-Kenntnisse erforderlich.




    Grafiken

    Game Font Editor for Civilization IV (für Civ4)
    Download und Anleitung eines Tools, mit dem sich komfortabel die Gamefonts-Datei für Icons verändern lässt

    Alternative Hintergrundgrafiken
    CivWiki-Artikel zu: "Wie binde ich alternative Hintergrundgrafiken ein?"

    Getting Civ4 Units into Civ4Col

    How to Add New Buildings to the City Management Screen

    Creating a City Artstyle/City Set

    Packen von Grafikdateien

    Tipps zum Erstellen von Achievementbildern in Gimp
    Im Achievements-Thread von TAC gibt es Tipps, wie man Screenshots aus dem Spiel mit dem Bildbearbeitungsprogramm Gimp aufhübschen kann. Diese Tipps finden sich verteilt im Thread ab dem oben verlinkten Beitrag.

    [Tutorial] Texturierung eines Gebäudes

    [Tutorial] dds-Dateien mit Mipmaps

    How to create flags for civ4 - for dummys (für Civ4)
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Writing Bull (06. April 2014 um 01:37 Uhr)

  2. #2
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    Start eines Mod-Projekts
    Wie starte ich auf der technischen Basis von TAC 2.03_final ein Modprojekt?


    Woraus besteht eine Mod?
    Eine Mod ist ein Ordner mit Dateien, der - bei Installation auf dem vorgeschlagenen Standardpfad - nicht im Hauptverzeichnis von Colonization, sondern im Ordner "Eigene Dateien" (oder "my documents" o.ä.) platziert ist. Alle Colonization-Dateien, die durch die Mod verändert werden sollen, werden in ihrem neuen Zustand dort als Kopien mit demselben Dateinamen und in derselben Ordnerstruktur wie im Hauptverzeichnis des Programms platziert. Zusätzlich kann eine Mod weitere, neue Dateien enthalten, die vom Modder mit den anderen Moddateien verknüpft wurden.

    Was passiert beim Start einer Mod?
    Startet man Colonization mit einer Mod, dann lädt das Programm alle unveränderten Dateien aus dem Hauptverzeichnis und zudem die veränderten und neuen Dateien aus dem Mod-Ordner.

    Wie lege ich meinen Mod-Ordner an?
    Du erstellst eine Kopie des Ordners "TAC 2.03_final" in dessen Verzeichnispfad. Dann benennst du ihn um und gibst ihm den Namen deiner Mod. Dann öffnest du den neuen Ordner und löschst, falls dort vorhanden, die Dateien TAC 2.03_final.ini und TAC 2.03_final.ini.bak. Diese Dateien wurden vom Programm automatisch angelegt, als Colonization in der Vergangenheit mit TAC gestartet wurde. Wenn du diese Dateien löschst, verhinderst du, dass es möglicherweise beim Start deiner Mod zu einem Fehler kommen kann.

    Wie starte ich meine Mod?
    Mods, die lediglich im Ordner "Eigene Dateien" verankert sind, startet man, indem man im Hauptmenü des Spiels auf "Erweitert" klickt und dann auf "Mod auswählen". Alternativ lassen sich diese Mods auch durch eine Desktop-Verknüpfung starten. Im Hauptmenü kann man die Mod später wieder deaktivieren. Spätestens, wenn man das Spiel beendet, wird die Mod automatisch deaktiviert. Das ist ähnlich wie beim Autofahren mit dem Ein- und Ausschalten der Scheibenwischer. Wichtig: Du solltest dir als Modder angewöhnen, routinemäßig beim Starten von Colonization den Cache zu leeren, den Speicher des Programms.

    Welche Colonization-Dateien sind für Modder besonders wichtig?
    Am zugänglichsten sind die xml-Dateien. xml-Dateien sind Masken, in denen man komfortabel Balancingschrauben neu justieren kann. Du findest sie im Pfad ...\Sid Meier's Civilization IV Colonization\mods\MODNAME\assets\xml. Zur Veränderung von xml-Dateien braucht man lediglich einen Texteditor, um die Werte von Tags (= Einträgen) zu editieren. Kenntnisse einer Programmiersprache sind nicht nötig. Die Reihenfolge und das Format der Einträge dürfen dabei nicht verändert werden, sonst kommt es zu Fehlern. Um solche weitergehenden Veränderungen vornehmen zu können, muss man in der Regel die DLL-Quelldateien verändern und eine neue DLL kompilieren. Im folgenden muss man dann oft noch das Schema dieser xml-Dateien in den entsprechenden xml-Spezialdateien anpassen. Für weitere Änderungen bieten sich die Dateien an, die in Python programmiert wurden. Um Grafiken zu verändern, wirst du im Pfad ...\Sid Meier's Civilization IV Colonization\mods\MODNAME\assets\art fündig. Achtung: In TAC wird der größte Teil der veränderten Grafiken gepackt in der Datei Art_Pak_TAC.FPK ausgeliefert. Um sie für eine Bearbeitung zu entpacken, benötigst du das Freeware-Tool PakBuild.

    Wie organisiere ich meine Arbeit? Dreizehn Empfehlungen für Modder
    1. Hab Geduld mit dir. Um eine Idee umzusetzen, brauchst du fast immer viel mehr Zeit, als du anfangs geglaubt hast.
    2. Bevor du um Hilfe fragst, versuch das Problem erst einmal in Ruhe alleine zu lösen.
    3. Wenn du auf dem Weg zu deinem Ziel auf ein sehr großes Hindernis stößt, dann geh nicht mit dem Kopf um die Wand, sondern such einen alternativen technischen Weg, dein inhaltliches Ziel zu erreichen.
    4. Wenn du auch auf diese Weise nicht zum Ziel kommst, dann frag dich, ob du dir dein Ziel etwas weniger ehrgeizig, aber technisch leichter umsetzbar stecken könntest.
    5. Hab Geduld mit anderen. Wenn du eine Frage im Forum stellst, wirst du nicht immer sofort eine befriedigende Antwort bekommen. Denn anderen Moddern geht es meist so wie dir: Sie konzentrieren sich gerade auf ihre eigenen Projekte.
    6. Fang mit einem sehr kleinen Projekt an, um deine ersten Erfahrungen zu machen, und werde ganz langsam ehrgeiziger.
    7. Überleg dir bei jedem neuen Spielelement, ob es deine Mod wirklich besser macht oder ob du bloß durch den Umfang deiner Mod beeindrucken möchtest.
    8. Flüchtigkeitsfehler gehören zum Modden dazu. Setz deine Idee in möglichst kleinen Schritten um. Teste nach jedem Schritt in der Spielwelt und im Ingame-Lexikon sorgfältig, ob alles fehlerfrei läuft.
    9. Erstell nach jedem dieser kleinen Schritte eine Sicherungskopie deiner Arbeit.
    10. Führe sorgfältig eine Changelog-Datei, in der du dir für jeden Schritt notierst, was du verändert hast.
    11. Wenn du dir Dateien aus dem Internet herunterlädst, um sie vielleicht mal zu verwenden, dann suche gezielt nach Material, dessen Nutzung und Veränderung für nicht-kommerzielle Zwecke erlaubt ist, und notiere dir für jede einzelne Datei immer den Link der Webseite, von der du sie dir geholt hast.
    12. Respektiere die Arbeit anderer Modder, aber auch von Künstlern außerhalb der Modder-Community. Gib in den Credits an, von wem du was verwendest.
    13. Vergiss nicht, deinen Usern die neuen Spielfeatures auch zu erklären - ansonsten hättest du auf die Veröffentlichung auch verzichten können.
    Geändert von Writing Bull (23. Februar 2013 um 02:08 Uhr)

  3. #3
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    Karteneditor ("Weltenbauer") - Grundlagen
    Die Erklärungen beziehen sich auf die Mods des TAC-Projekts, sind aber weitgehend auch für Vanilla gültig.


    Grundlegende Funktionsweise

    Der Karteneditor ("Weltenbauer") ist bereits in der Vanilla-Version enthalten, wir haben ihn bei TAC nicht verändert. Den Weltenbauer kann man nach Start einer Partie mit "Strg + W" aufrufen. Rechts oben gibt es verschiedene Rubriken. Ein Klick in die entsprechende Rubrik ruft links oben ein weiteres Auswahlfenster auf, bei dem man Kartenelemente wählen und dann in der Karte durch Linksklick platzieren kann. Ein folgender Rechtsklick auf das Geländefeld löscht das platzierte Element wieder. Bitte beachte, dass es bei manchen Elementen wichtig ist zu definieren, welcher Partei sie angehören sollen; dafür gibt es rechts oben ein Drop-Down-Menü der Zivilisationen. Möchtest du eine bestehende Siedlung im Weltenbauer direkt editieren, solltest du im Menü "Siedlungsmodus" auf die Stadt klicken. Dann lässt sich z.B. die Zahl der Einwohner regulieren. Mit Linksklick setzt man Gebäude, mit erneutem Klick entfernt man sie.

    Flüsse platzieren

    Klickt man rechts oben auf "Gelände", findet man links oben einen Befehlsbutton zum "Ziehen" von Flüssen.

    1. Mit links zieht man Flüsse von der Quelle Richtung Mündung.
    2. Zieht man dabei die Maus eine senkrechte Reihe von Geländefeldern runter, erzeugt sie einen Fluss rechts von diesen Feldern.
    3. Zieht man dabei waagerecht, wird der Fluss unterhalb erzeugt.
    4. Mit der rechten Maustaste löscht man Flüsse.
    5. Am Kartenrand darf man nicht ziehen, sonst stürzt CivCol ab.


    Mit dem Flusstool kommt man zu Beginn schwer zurecht. Typische Fehler, die gemacht werden: Es gibt Flüsse, die von einem Meer quer über den Kontinent in ein anderes Meer fließen, Flüsse, die eine Quelle haben, aber im Nichts versickern, Flüsse, die verkehrt herum fließen. An dem Flusstool haben sich schon viele Kartenbauer anfangs ihre Zähne ausgebissen - aber: Übung macht auch hier den Meister!

    Bugs

    Der Karteneditor hat drei Vanillabugs:
    • Zieht man einen Fluss am Rand der Karte, stürzt der Editor ab
    • Auf Karten mit einer großen Zahl von Geländefeldern stürzt der Editor manchmal unvermittelt ohne erkennbaren Anlass ab
    • Speichert man eine Karte mit einer großen Zahl von Geländefeldern als ColonizationWBSave ab, wird dabei manchmal eine defekte Datei erzeugt. Der Fehler tritt auf kleinen Karten nicht auf.


    Tipp: Du solltest insbesondere große Karten öfters und unter anderen Kartennamen speichern, dann das Programm verlassen, die erzeugte Datei in den Ordner PublicMaps schieben, das Programm wieder starten und die letzte Sicherung als Szenario kurz zwei, drei Runden probespielen, um die Stabilität der Datei zu überprüfen.

    Speicherformate und Speicherorte

    Zum Speichern klickst du bei geöffnetem Weltenbauer rechts oben auf den Befehlsbutton "Speichern". Damit erzeugst du eine Datei im Format ColonizationWBSave. Wichtig: Verlässt du den Weltenbauer (über den Befehlsbutton "Beenden") und speicherst erst dann, erzeugst du keine Savedatei der Karte, sondern einen gewöhnlichen Spielstand.

    Falls du in einer Testpartie deine Karte überprüfen möchtest, dann speichere deine Karte zuerst im Weltenbauer als ColonizationWBSave-Datei ab und schau dir die Karte dann in der Spielwelt an. Solange es zu keinem Rundenwechsel kommst, kannst du jederzeit in den Weltenbauer zurückkehren und weitere Veränderungen deiner Karte vornehmen. Sobald aber ein Rundenwechsel erfolgt ist, solltest du ins Hauptmenü wechseln und deine ursprüngliche Karte wieder laden, bevor du sie weiter veränderst.

    Nachbearbeitung im Texteditor

    Wenn du Colonization verlassen hast, findest du die ColonizationWBSave-Datei im Pfad ...\My Games\Sid Meier's Civilization IV Colonization\Saves\WorldBuilder. Kopiere sie in den Ordner PublicMaps des TAC-Verzeichnisses und benenne sie um, um beim späteren Start von Colonization Verwechslungen zu vermeiden. Du kannst die ColonizationWBSave-Datei jetzt mit einem Texteditor deiner Wahl bearbeiten und verändern. Empfehlung: Als besonders komfortabel hat sich der kostenlose Texteditor Notepad++ erwiesen.

    Gleich anfangs findest du den Link auf einen Texteintrag. Bsp. aus unserer Südamerikakarte:
    PHP-Code:
    BeginGame
        Description
    =TXT_KEY_WORLDBUILDER_TAC_SOUTH_AMERICA_DESC
        ModPath
    =
    EndGame 
    Hier hast du die Möglichkeit, für dein Szenario einen kurzen Beschreibungstext zu verfassen, der dann beim Programmstart bei der Auswahl der Karte angezeigt wird. Der TXT_KEY verweist auf diesen Text und sorgt für die Verknüpfung zwischen Karte und Text. Diesen TXT-Eintrag kannst du in einer beliebigen xml-Datei im TAC-Ordner ... assets/xml/text definieren. Such in diesem Ordner mal nach TXT_KEY_WORLDBUILDER_TAC_SOUTH_AMERICA_DESC und schau dir die korrekte Formatierung dort ab.

    Es gibt mehrere Einstellungen, die du nach Verlassen des Karteneditors ggf. verändern solltest. Du hast z.B. die Möglichkeit, dein Kartenszenario mit zufällig verteilten Bonusressourcen und/oder zufällig platzierten Ureinwohnersiedlungen anzubieten. Diese Optionen sind nach Schließen des Karteneditors nicht aktiviert, das heißt, diese Standorte sind fix. Vergleiche die von dir erzeugte Datei mit einer TAC-Szenario-Datei und kopiere dir, falls erwünscht, die entsprechenden Einstellungen.

    Bei jeder Fraktion steht eine Liste der Namen, die dem Spieler bei Gründung einer Siedlung vorgeschlagen werden. Nachdem man eine Karte im Weltenbauer abgespeichert hat, steht in der Datei bei sämtlichen Siedlungsnamen dieser Vorschlagsliste der Default-Platzhalter %s. Du musst im Texteditor deine Wunschnamen eintragen. Am einfachsten ist es dabei, sich an den Namensvorschlägen zu orientieren, die in den anderen TAC-Karten (z.B. in TAC America v.1.05) stehen. Achtung: Sobald du die Karte im Weltenbauer erneut öffnest und abspeicherst, wird die Namensliste vom Programm wieder zurückgesetzt.

    Noch Fragen? Videotutorial gibt Antworten

    In einem Videotutorial werden die Funktionsweise des Weltenbauers und die begleitenden Arbeiten mit dem Texteditor ausführlich vorgeführt. Als Beispiel wird eine Karte für Werewolves gebaut (eine andere Mod des TAC-Projekts). Nicht alle, aber die meisten Erklärungen des Tutorials gelten auch dann, wenn man Karten für TAC 2.03_final oder allgemein für Colonization bauen möchte. Zum Nachlesen gibt es eine schriftliche Kurzfassung des Videotutorials.

    Ergänzender Tipp: Konvertierung realer Landkarten

    Mit Hilfe des Tools "Mapview" ist es möglich, auf komfortable Weise reale Landkarten im jpg-Format in eine Szenarienkarte für Colonization zu konvertieren, in der die Küstenverläufe authentisch wiedergegeben werden. Das Platzieren der Höhenzüge, Terrainarten, Features und Flüsse sollte man anschließend auf herkömmliche Weise im spieleigenen Weltenbauer besorgen. Für Mapview gibt es ein detailliertes Tutorial (Teil 1 und Teil 2).
    Geändert von Writing Bull (24. März 2013 um 10:42 Uhr)

  4. #4
    hat den Blues Avatar von Elwood
    Registriert seit
    05.11.07
    Beiträge
    4.352
    DLL-Modding

    VORBEMERKUNG: Bei der Installation von allen hier nötigen Programmen und den Orten der damit bearbeiteten Dateien sollten Leerzeichen in den Pfaden vermieden werden, das kann zu Fehlern führen! Änderungen an der CvGameCoreDLL.dll können das Spiel/euren Mod RICHTIG zerlegen, also kann die "olle Kamelle" von den Sicherheitskopien nicht heiß genug aufgewärmt werden: Macht von allem, an dem ihr Veränderungen vornehmt, Sicherheitskopien !
    Hier einige Hinweise zum Erstellen der CvGameCoreDLL.dll für Colonization. Hier geht es darum, was ihr braucht, um diese zu öffnen, zu bearbeiten und wieder einzupacken (zu kompilieren), sprich, hiermit kann auch ein völliger Laie ohne C++ - Kenntnisse (so wie ich ) lernen, an das Herz des Spiels heran zu kommen. Hier wird euch aber NICHT erklärt, wie ihr darin dann programmiert, dafür braucht es weitere Kenntnisse. Etwas Frustrationstoleranz schadet sicher nicht, aber es ist wirklich machbar, und zwar, kurz gesagt, in folgenden Schritten:

    1. Erstellen einer Programmierumgebung
    2. Füttern der Umgebung mit den nötigen Dateien:
      • Die CvGameCoreDLL von Colonization 2 findet ihr im Hauptverzeichnis, ihr braucht den ganzen Ordner! Wenn ihr TaC modden wollt, braucht ihr zusätzlich den CvGameCoreDLL-Ordner von TaC. Ihr findet ihn als zip-Datei unter TAC 2.03_final\TAC Dokumentation\Dokumentation DLL. Kopiert den Inhalt des CvGameCoreDLL-Ordners von TaC über den von Vanilla. (Zum Verständnis: Die CvGameCoreDLL existiert sozusagen zweimal, einmal als Ordner voller Dateien (= Bausatz für den Kern, den wir brauchen) und einmal als eine Datei namens CvGameCoreDLL.dll (= der zusammengebastelte Kern, auf dessen Basis das Spiel läuft, zu finden unter G:\Colonization II\Assets). Dieser wird nach dem erfolgreichen Kompilieren durch den neuen ersetzt.
      • Das makefile für Colonization könnt ihr hier bei den Civfanatics herunterladen. Nicht wundern, es wird nicht explizit als Colonization-makefile ausgewiesen, ist aber das richtige! Beachtet bitte auch weiter unten im Thread Post#16 ... der wird euch evtl. etwas Ärger ersparen.
    3. Öffnen der CvGameCoreDLL
    4. Alles ändern, einbauen, programmieren, was ihr wollt (... was hier wie gesagt nicht erklärt werden kann )
    5. Zuschnüren (kompilieren) und ins Spiel wieder einbauen (alten Kern überschreiben).


    Nicht alle Tutorien, die im Folgenden verlinkt werden, gehen auf jeden dieser Schritte ein, und alle sind an und für sich auf Civ4 ausgerichtet, was aber an den generellen Abläufen (Prorammierumgebung einrichten etc.) idR. nichts ändert. WICHTIG ist aber, dass sämtliche in den Tutorials verlinkte GameCore-Dateien und makefiles sich auf BtS (Civ4 inkl. des AddOn Beyond the Sword) beziehen und nicht benötigt werden! Ihr braucht den CvGameCoreDLL-Ordner und das makefile, die unter Punkt 2 (s. Liste oben) aufgeführt sind.
    -----------------

    Hier kommen die Tutorials, ich habe diejenigen grün unterlegt, die mir persönlich (!) am meisten gebracht haben. Letztlich weiß man aber nie, wo man hängen bleibt, und jedes Tutorial geht auf das ein oder andere mehr oder weniger ein, also schadet es nie, viele davon zu konsultieren, wenn es hakt.

    Tutorials, Anleitungen, Support auf Deutsch:
    • deepwater hat hier im Civforum eine knappe und gute Anleitung verfasst.
    • Thomas Pi hat hier im civforum ebenfalls ein Tutorial eingestellt, er arbeitet mit CodeBlocks statt MicrosoftVisual.
    • koma 13 aus unserem TaC-Team hat mir geduldig in einigen PN geholfen, wenn ich Probleme hatte. Als Ergänzung gebe ich seine Hinweise hier in den Spoiler, sie sind für sich allein sicherlich nicht ausreichend, aber eine wertvolle Ergänzung, da Colonization bezogen.
      Achtung Spoiler:

      1) Kopie des CvGameCoreDLL-Ordners (der aus deinem Col2-Programm-Verzeichnis) erstellen. Damit hast du dann die Vanilla-Quellen.
      2) Da dann die TAC-Quellen reinkopieren (und vorhandene Dateien überschreiben).
      3) Im Hauptverzeichnis deines DLL-Ordners alle VS-Projekt-Dateien löschen, so daß nur noch folgende Dateien übrig sind:
      *.h
      *.cpp
      *.inl
      CvGameCoreDLL.rc
      Makefile
      rmf.bat
      slashdel.bat
      Die 3 Verzeichnisse (bin, Boost-1.32.0 und Python24) werden benötigt, also nicht löschen.
      Damit solltest du eine solide Basis haben, um die DLL kompilieren zu können.

      Auch enthält das dort mit enthaltene makefile keine Adressierung auf den Colonization Ordner, wie es bei den bts-core Sachen der Fall ist, dort sieht es so aus:

      Code:
      #### Paths ####
      TOOLKIT=C:\Program Files\visual_toolkit\Microsoft Visual C++ Toolkit 2003
      PSDK=C:\Program Files\windows_platform_sdk\WindowsSDK
      CIVINSTALL=G:\Civilization IV\Beyond the Sword
      GLOBALBOOST=$(CIVINSTALL)\CvGameCoreDLL\Boost-1.32.0
      GLOBALPYTHON=$(CIVINSTALL)\CvGameCoreDLL\Python24
      ## Uncomment to have newly compiled dlls copied to your mod's Assets directory
      #YOURMOD=$(CIVINSTALL)\Mods\MyMod

      bei dem von Writing Bull verlinkten nur so:

      Code:
      #### Paths ####
      TOOLKIT=C:\Program Files\visual_toolkit\Microsoft Visual C++ Toolkit 2003
      PSDK=C:\Program Files\windows_platform_sdk\WindowsSDK
      ## Uncomment to have newly compiled dlls copied to your mod's Assets directory
      #YOURMOD=C:\Users\Danny\Documents\My Games\beyond the sword\MODS\MyMod
      Ist das in Ordnung, oder muss ich da was ergänzen?
      Das kannst du machen, wie du möchtest.

      Bei der ersten Variante greift die makefile auf den Boost- und Python-Ordner direkt im Colonization-Verzeichnis zu. Das hat den Vorteil, daß du diese beiden Ordner im Projektverzeichnis löschen kannst. Das spart ein wenig Speicher auf deiner Festplatte, mehr nicht.

      Bei der zweiten Variante (TAC makefile) holt er sich die beiden Ordner (Boost, Python) direkt aus dem Projektverzeichnis, daß du bei der Projekterstellung angegeben hast.
    • Commander Bello bearbeitete auch als Laie erfolgreich die DLL, er schildert seine Erfahrungen, die er mit einigen der hier verlinkten Anleitungen gemacht hat, in diesem Thread. Sehr nützlich, da es explizit um Colonization geht!
    • Im Civ4-Modding-Bereich des Forums gibt es einen großen Thread zu allen Fragen, die man rund um die DLL haben kann. MMn der geeignete Ort, um Fragen zu posten.


    Es folgen englische Anleitungen von den Civfanatics:

    • Refar hat ein pdf-Tutorial zusammengestellt, das bebildert ist und eine gute Schritt-für-Schritt-Einführung darstellt. Er fasst dabei Informationen aus den Tutorials von Kael und Chazcon zusammen. Ihr findet es im Anhang dieses Posts.
    • Tutorial von Asaf
    • Tutorial von Xienwolf, sehr, sehr umfangreich und ausführlich, es erläutert auch den Zusammenhang von xml/python/dll, einzelne Dateien und ihre Funktionen und noch viel mehr!
    • Tutorial von Kael
    • Tutorial von Chazcon
    Angehängte Dateien Angehängte Dateien
    Geändert von Elwood (15. Februar 2013 um 23:47 Uhr)
    Geschichten zum Lesen ...

    Der seltsame Fall des William Penn | Col II --- TaC-Mod | abgebrochen
    Wahnsinn mit Methode? | Col II --- TaC-Mod | beendet | SdM April 2012
    Visiting Vvardenfell | TES III Morrowind | pausiert
    Es war einmal (noch) kein Portugal | Civ IV --- PAE-Mod | beendet
    Pack die Thermohose ein ... | Icewind Dale --- Trials of the Luremaster | läuft
    NEU: [RL] ... wie Gott nach Frankreich - Elwoods ??? | Modellbaubericht | läuft

  5. #5
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Grundlagen


    Grundprinzip des xml-Moddings

    xml-Dateien sind Masken, in denen man komfortabel Balancingschrauben neu justieren kann. Dabei benutzt man einen Texteditor, um die Werte von Tags (= Einträgen) zu editieren. Wichtig: Die Reihenfolge und das Format der Einträge darf nicht verändert werden, sonst kommt es zu Fehlern. Um solche weitergehenden Veränderungen vornehmen zu können, muss man in der Regel die DLL-Quelldateien verändern und eine neue DLL kompilieren. Im folgenden muss man dann oft noch das Schema dieser xml-Dateien in den entsprechenden xml-Spezialdateien anpassen.

    Übergeordnete Dateien

    GlobalDefines:
    In dieser Datei im Hauptverzeichnisses des Programms gibt es Stellschrauben für Balancingeinstellungen von besonderer Wichtigkeit. Achtung: Modder sollten diese Datei nicht verändern und nicht verschieben. Möchte man Änderungen an diesen Einträgen vornehmen, benutzt man stattdessen ...

    GlobalDefinesAlt:
    Modder erstellen diese Datei als Variante der GlobalDefines und platzieren dort diejenigen Tags der GlobalDefines, deren Werte man durch veränderte Werte überschreiben möchte. Außerdem kann man dort neue Einträge für neue Features anlegen, sofern man diese in der DLL verankert hat.
    Geändert von Writing Bull (17. Februar 2013 um 02:20 Uhr)

  6. #6
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Text


    Ob Spielelemente, Bildschirmmenüs, Befehlsbuttons oder Colopädieartikel: Fast alle Komponenten des Spiels sind mit Texteinträgen im Format TXT_KEY verknüpft. Im Ordner Text werden alle diese Texteinträge aufgelistet und mit den Texten "befüllt", die im Spiel angezeigt werden sollen. Achtung: In welcher Datei des Ordners Text ein TXT_KEY definiert wird, ist - im Gegensatz zu anderen xml-Ordnern - unerheblich. Aber: Jeder TXT_KEY sollte im Ordner nur einmal auftauchen. Taucht er mehrfach auf, zieht sich das Programm einen beliebigen dieser gleichnamigen Einträge. Das führt zwar zu keinen ernsthaften Programmfehlern, aber der Modder verliert rasch den Überblick.

    In Spieltexten sollten deutsche Sonderzeichen (z.B. Umlaute und der Buchstabe 'ß') durch Code ersetzt werden, um Fehlermeldungen zu vermeiden. Beim Texteditor Notepad++ kann man das nachträgliche Umwandeln dieser Sonderzeichen automatisieren, indem man dazu ein Makro aufzeichnet. Es gibt dazu eine Anleitung und eine Liste der wichtigsten Code-Ersetzungen.
    Geändert von Writing Bull (17. Februar 2013 um 01:30 Uhr)

  7. #7
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner GameInfo


    CIV4CivicInfos:
    Hier werden die Regierungsformen definiert, die nach der Erklärung der Unabhängigkeit zur Wahl stehen.

    CIV4DiplomacyInfos:
    Hier werden Einstellungen zu den "Gesprächen" in den animierten Diplomatiefenstern getroffen. Diese Gespräche finden zwischen dem Spieler einerseits und den KI-gesteuerten Leadern, dem König oder den Häuptlinen eines Ureinwohnerdorfes statt. Bestimmten Gesprächssituationen lassen sich in dieser Datei Texte zuweisen. Dabei werden auch die Anzahl der "zugelosten" Textvarianten bestimmt und ob es fraktionsspezifische Textvarianten geben soll.

    CIV4EraInfos:
    Diese Datei ist vor allem von Bedeutung, um die allgemeine Hintergrundmusik zu definieren, die das Programm abspielt, sofern der Spieler nicht zu dicht auf die Siedlungen einer Fraktion zoomt.

    CIV4FatherInfos:
    Hier werden die Gründerväter definiert. Dabei werden u.a. ihre Porträtbilder, Namen und historische Hintergrundbilder zugewiesen. Im Eintrag FatherCategory wird festgelegt, zu welcher Kategorie von Gründervätern der einzelne Gründervater gehört. In FatherPointCosts wird justiert, wieviele und welche GV-Punkte man braucht, um den Gründervater freizuschalten. Achtung dabei: Welche konkreten Punktwerte in einer Partie tatsächlich nötig sind, hängt zudem von der Spielgeschwindigkeit und dem Schwierigkeitsgrad ab. In FreeUnits kann eingestellt werden, dass ein GVer als Bonus einmalig Gratiseinheiten spendiert. Komplexere Boni werden im Eintrag Trait dadurch festgelegt, dass man den GV mit einem Trait, also einer Eigenschaft, verknüpft. Wichtig: Diese Traits muss man anschließend in der CIV4TraitInfos.xml definieren.

    CIV4FatherPointInfos:
    Hier werden die Kategorien der GV-Punkte definiert. Dabei wird festgelegt, durch welche Spielhandlungen eine Europäer-Fraktion GV-Punkte erwirbt und in welcher Höhe.

    CIV4GameOptionInfos:
    Hier werden die in der DLL verankerten Spieloptionen aufgelistet, die der Spieler ein- oder ausschalten kann, wenn er eine Partie nicht über das Schnellstartmenü definiert. bDefault legt fest, ob eine Option standardmäßig aktiviert oder deaktiviert ist. bVisible legt fest, ob eine Option im Menü überhaupt angezeigt wird. Wird sie es nicht, gilt automatisch die Einstellung bei bDefault. Startet man eine Partie im Schnellstartmenü, stehen diese Optionen nicht zur freien Auswahl, es gilt dann immer die bDefault-Einstellung.

    CIV4GameSpeedInfo:
    Hier wird festgelegt, welche Spielgeschwindigkeiten bei Partiestart zur Auswahl stehen, in welcher Weise sie das Spiel beeinflussen und wieviel Kalenderzeit bei einem Rundenwechsel verstreichen soll.

    CIV4GoodyInfo:
    In dieser Datei werden die im Spiel verfügbaren Goodys aufgelistet und definiert. Goodys sind die Ereignisse, die vom Programm automatisch ausgelöst werden können. Das kann zum einen geschehen, wenn eine europäische Einheit das erste Mal ein Ureinwohnerdorf betritt und den Befehl "Mit dem Häuptling sprechen" ausführt. Zudem kann das geschehen, wenn eine europäische Einheit auf ein Geländefeld mit einem Improvement zieht, das als Trigger für Goodys dient.

    CIV4HandicapInfo:
    Hier werden die Schwierigkeitsgrade definiert, die bei Start einer Partie jeder beteiligten Fraktion zugewiesen werden. Egal, ob eine Fraktion vom Menschen oder der KI gesteuert wird: Mit welchen Boni oder Mali sie spielen soll, wird bei Partiestart durch die Zuweisung eines Schwierigkeitsgrades festgezurrt. Achtung: Im Einzelspielermodus kann bei Partiestart vom Spieler lediglich der Schwierigkeitsgrad seiner eigenen Frakton verändert werden. Die KI-Fraktionen spielen immer mit dem Schwierigkeitsgrad Kundschafter.
    Im Eintrag Goodies wird definiert, welche positiven und negativen Goodys im Lostopf sind, wenn ein Goody-Ereignis getriggert wird und das Programm zufällig bestimmt, welches es sein soll. Werden hier dieselben Goodys mehrfach aufgeführt, steigt die Wahrscheinlichkeit, dass sie zugelost werden, entsprechend an.
    Bei TAC wird in dieser Datei zudem noch definiert, wie hoch der maximale Steuersatz zu Partiestart ist, wie hoch eine Geldforderung des Königs im Verhältnis zur Staatskasse seiner Kolonialfraktion ist, wie stark die Königsarmee ist, in wievielen Wellen sie im Unabhängigkeitskrieg anlandet und wie sich die Königsarmee in Bezug auf diese Wellen aufteilt.

    CIV4Hints:
    Hier werden die Texte zugewiesen, die beim Laden der Spielwelt und in der damit verknüpften Kategorie der Colopädie angezeigt werden.

    CIV4VictoryInfo:
    Hier werden die Siegbedingungen definiert, die bei Start einer Partie anwählbar sind. Startet man eine Partie im Schnellstartmenü, sind immer die Siegbedingungen aktiviert, die im Eintrag bDefault auf "1" gestellt sind. Sind mehrere Siegbedingungen aktiviert, gilt in der Regel, dass eine Partie vom Spieler oder einem europäischen KI-Konkurrenten gewonnen ist, sobald eine Bedingung erfüllt ist. Genauere Erläuterungen finden sich in der CivWiki in den Artikeln zu den Siegbedingungen bei Vanilla und den Siegbedingungen bei TAC.

    CIV4WorldInfo:
    Hier werden die Weltgrößen definiert, mit denen Zufallskarten und Szenarienkarten verknüpft werden können. iDefaultPlayers gibt die Anzahl der KI-Fraktionen bei dieser Kartengröße an, iDefaultNativePlayers gibt an, wieviele davon Ureinwohnerfraktionen sind. Achtung: Diese Werte legen nur fest, wieviele und welche KI-Gegner dem Spieler vorgeschlagen werden. Eröffnet man eine Partie über das Schnellstartmenü, lässt sich das nicht ändern. Startet man eine Partie dagegen über das normale Startmenü, kann man viele Spieleinstellungen manuell variieren, u.a., gegen wieviele KI-Fraktionen man spielen möchte und welche das sein sollen.
    Geändert von Writing Bull (17. Februar 2013 um 10:41 Uhr)

  8. #8
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Civilizations


    CIV4CivilizationInfos:
    Hier legt man die Fraktionen an, die im Spiel vorkommen sollen. Technisch gibt es drei Typen von Fraktionen: die Kolonialfraktionen (z.B. CIVILIZATION_ENGLAND), die mit jeweils mit einer von ihnen verknüpften Königsfraktionen (z.B. CIVILIZATION_ENGLAND_EUROPE) und die Ureinwohnernationen. Jede dieser drei Typen hat typische Zusammenstellungen der xml-Werte. Tipp: Um eine neue Zivilisation anzulegen, kopiert man praktischerweise den xml-Block einer bereits bestehenden Zivilisationen desselben Typs, benennt ihn um und verändert dann punktuell die Einträge, in denen sich die neue von der alten Fraktion unterscheiden soll. Achtung: Zu "wilde" Änderungen können dazu führen, dass die KI beim Führen der neuen Fraktion Probleme bekommt und es z.B. beim Ausführen einer vordefinierten KI-Strategie zu schweren Bugs kommen kann.
    • Tags des Typs TXT_KEY_ verweisen auf die Texteinträge, mit denen die Fraktion verknüpft sein soll
    • ArtDefineTag weist ihr ein Grafikprofil in CIV4ArtDefines_Civilization.xml zu
    • bPlayablebestimmt, ob diese Fraktion vom Spieler geführt werden kann
    • Im Eintrag bEurope steht bei Kolonialfraktionen und Königsfraktionen der Wert "1", bei Ureinwohnerfraktionen der Wert "0"
    • Im Eintrag bNative steht bei Ureinwohnerfraktionen der Wert "1", bei Kolonialfraktionen und Königsfraktionen der Wert "0"
    • Die Namensliste der Städte benutzt das Programm, um dem Spieler bei Siedlungsgründung einen Namen vorzuschlagen bzw. die KI wissen zu lassen, wie eine von ihr gegründete Siedlung heißen soll
    • Die Namenslisten der Schiffe und der Generäle benutzt das Programm als Lostöpfe zur Benennung neu dazukommender Einheiten (nur bei TAC)
    • Bei Buildings führt man Gebäude auf, über die diese Fraktion entweder gar nicht verfügen können soll oder nur in fraktionsspezifischen Varianten
    • Bei Units führt man Einheiten auf, über die diese Fraktion entweder gar nicht verfügen können soll oder nur in fraktionsspezifischen Varianten
    • Bei Professions kann man Berufe eintragen, die dieser Fraktion nicht zur Verfügung stehen
    • Bei FreeUnitClasses trägt man die Starteinheiten der Fraktionen ein:
      • Bei Kolonialfraktionen wird hier angegeben, welche Einheiten auf dem Startfeld im Meer platziert sein sollen
      • Bei Königsfraktionen wird durch die relative Gewichtung der aufgeführten Einheitentypen zueinander justiert, wie deren Gewichtung im Expeditionskorps aussehen soll (die zahlenmäßige Größe wird nationenübergreifend in der GlobalDefines.xml bzw. GlobalDefinesAlt.xml justiert)
    • Bei FreeBuildingClasses trägt man die Gratisgebäude ein, die bei dieser Fraktion bei Gründung einer neuen Siedlung automatisch neu entstehen sollen
    • Bei TeachUnitClasses wird bei Ureinwohnerfraktionen eingetragen, welche Ausbildungsberufe den Europäern in den Ureinwohnersiedlungen angeboten werden. Die Zahlenwerte bei iWeight regeln durch ihre relative Gewichtung, wie häufig welche Ausbildungsberufe bei der Kartengenerierung zu Partiestart den Ureinwohnerdörfern zugelost werden.
    • Bei FreeYields trägt man die Warenerträge ein, die in jeder dieser Siedlung gratis entstehen
    • Bei Leaders trägt man die Oberhäupter ein, mit denen diese Fraktion in einer Partie verknüpft sein kann
    • Soll die Fraktion ein König sein, trägt man in DerivativeCiv die dazugehörige Kolonialfraktion ein


    CIV4LeaderHeadInfos:
    Hier listet man alle Oberhäupter auf, weist ihnen Texteinträge zu und legt ihre Diplomatiewerte fest, die das KI-Verhalten der Anführer bestimmen. Außerdem kann man sie mit Traits verknüpfen.

    CIV4TraitInfos:
    Hier listet man die Traits auf, mit denen Oberhäupter und Gründerväter verknüpft sein können. Bei jedem Trait legt man die Boni und die Texteinträge fest, die mit ihnen verknüpft sind.

    CIV4UnitArtStyleTypeInfos: (nur bei TAC)
    Hier legt man optional Einheiten-Grafikprofile an, mit denen man eine Fraktion verknüpfen kann. Dadurch ist es möglich, einer Einheit einen nationenspezifischen Look zuzuweisen.
    Geändert von Writing Bull (25. März 2013 um 01:40 Uhr)

  9. #9
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Buildings


    CIV4BuildingClassInfos:
    Colonization unterscheidet technisch bei Gebäuden zwischen BUILDING und dem Oberbegriff BUILDINGCLASS. In dieser Datei hier definiert ihr die BUILDINGCLASS und legt fest, welches BUILDING dessen Standardgebäude ist. In der Regel gibt es in jeder BUILDINGCLASS nur ein einziges BUILDING. Mods können diese Zweiteilung aber nutzen, um für Fraktionen spezifische Gebäudevarianten zu erstellen. Beispiel aus Vanilla: In der BUILDINGCLASS_STABLE gibt es zwei Gebäude, BUILDING_STABLE (Stall) und BUILDING_NATIVE_STABLE (Pferdeweide). Das BUILDING_STABLE ist in dieser Datei hier als Standard-Gebäude für diese Gebäudeklasse definiert und steht dadurch automatisch allen Zivilisationen zur Verfügung, bei deren Defintion in der CIV4CivilizationInfos diese Gebäudeklasse nicht komplett gesperrt wurde. Bei den Ureinwohner-Fraktionen wurde in dieser Datei allerdings eingetragen, dass ihnen in dieser BUILDINGCLASS das BUILDING_NATIVE_STABLE zugewiesen ist.

    CIV4BuildingInfos:
    • Hier werden die BUILDINGs definiert, also die Gebäude im engeren technischen Sinne.
    • BuildingClass bestimmt, zu welcher BUILDINGCLASS das Gebäude gehören soll
    • SpecialBuildingType bestimmt, zu welcher Gebäudereihe (SPECIALBUILDING) das Gebäude gehören soll und bestimmt damit indirekt, ob dort eine Ware produziert werden kann und welche es ist
    • ArtDefineTag verknüpft das Gebäude mit einem Grafikprofil
    • YieldCosts definiert die Baukosten
    • In iProfessionOutput wird justiert, wieviele Waren pro Runde dort von einer Standardeinheit (UNIT_COLONIST) produziert werden
    • iMaxWorkers gibt die Zahl der Arbeitsplätze in diesem Gebäude an
    • Mit iHealRateChange kann man einstellen, ob das Gebäude verwundeten Einheiten, die die Stadt bewachen, einen Heilbonus geben soll und wie hoch er ist
    • Mit iDefense kann man einstellen, ob das Gebäude Einheiten, die die Stadt bewachen und die grundsätzliche Fähigkeit zur Nutzung von Defensivboni besitzen, einen Verteidigungsbonus geben soll und wie hoch er ist
    • iYieldStorage gibt an, ob dieses Gebäude die Lagerkapazität der Stadt erhöht und um wieviel
    • In BuildingClassNeededs kann man eintragen, welche anderen BUILDINGCLASSes in der Stadt vorhanden sein müssen, damit dieses neue Gebäude errichtet werden kann
    • iAICitySize gibt die Bevölkerungszahl einer Siedlung an, die notwendig ist, damit eine KI-Siedlung dieses Gebäude bauen kann (nur bei TAC)


    CIV4SpecialBuildingInfos:
    Hier werden die im Spiel verfügbaren Gebäudereihen (SPECIALBUILDING) aufgelistet
    Geändert von Writing Bull (20. Februar 2013 um 19:12 Uhr)

  10. #10
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Units


    CIV4BuildInfos:
    Hier werden für Pioniere die Befehle definiert, ein Geländefeld zu verändern. Dazu zählen die Befehle, eine Modernisierung zu errichten, eine Straße zu bauen oder ein Wald-Feature durch Rodung zu entfernen. Man kann justieren, wieviele Runden die Umsetzung des Befehls dauert, ob und wieviel Gold bei Erteilen des Befehls gezahlt werden muss und ob durch das Entfernen eines Wald-Features eine bestimmte Menge Holz im Lager der nächstgelegenen Siedlung entstehen soll. Ferner weist man dem Befehl ein Befehls-Icon zu und optional ein Tastaturkürzel.

    CIV4ProfessionInfos:
    Hier werden die Berufe definiert, die Einheiten ausüben können.
    • Bei YieldProduced stellt man ein, ob und welche Ware eine Einheit mit diesem Beruf erzeugt, und bei YieldConsumed, welche andere Ware dabei als Rohstoff dient und verbraucht wird.
    • Steht bei bWorkPlot der Wert "1", kann in diesem Beruf eine Einheit die bei YieldProduced eingetragene Ware als Ressource aus dem Geländefeld gewinnen, das sie bearbeitet.
    • Steht bei bCitizen der Wert "1", handelt es sich um einen Beruf, der nur von dem Bürger einer Stadt ausgeübt werden kann und im Siedlungsbildschirm zugewiesen wird. Steht der Wert auf "0", handelt es sich um einen Beruf, der nur außerdem des Siedlungsbildschirms von einer "selbständigen" Einheit ausgeübt werden kann.
    • bWater: Soll ein Beruf eine Ware von einem Wasserfeld gewinnen können, muss zusätzlich zu bWorkPlot auch hier der Wert "1" eingetragen sein.
    • Für selbständige Einheiten kann man unter YieldEquipedNums einstellen, ob und welche Ausrüstung eine Einheit zum Ergreifen dieses Berufs benötigt.
    • Ferner trägt man für selbständige Einheiten unter iCombatChange ein, ob der Beruf der Einheit zusätzliche Stärkepunkte gibt.
    • Für selbständige Einheiten kann man unter bNoDefensiveBonus einstellen, ob eine Einheit bei Ausübung des Berufs die Fähigkeit verliert, Verteidigungsboni durch Geländemerkmale oder Stadtwälle zu nutzen.
    • Selbständigen Einheiten kann man unter FreePromotions Gratis-Beförderungen spendieren, die sie solange haben, wie sie diesen Beruf ausüben.
    • Im Eintrag bUseLbD erlaubt man durch den Wert "1", dass eine Einheit bei Ausübung dieses Berufs zu einer höherwertigen Einheit durch Learning by Doing (LbD) aufsteigen kann. iLbDLearnLevel legt dabei fest, wie rasch das geschieht (nur bei TAC, weitere Erläuterungen dazu in der TAC-Wiki sowie in der GlobalDefinesAlt.xml in den mit "LbD" gekennzeichneten Kommentaren und Tags)


    CIV4PromotionInfos:
    Hier werden die Beförderungen definiert. Diese Beförderungen können Einheiten bestimmte Kampf-, Heil-, Sichtweite- oder Bewegungsboni geben. Die Möglichkeit, einer Einheit eine Beförderung zuzuweisen, wird in der Regel dadurch freigeschaltet, dass eine Einheit Erfahrungspunkte im Kampf erwirbt. Beförderungen werden in der Regel im Eintrag Button mit einem Icon verknüpft. Im Eintrag UnitCombats wird festgelegt, für welche Truppenklassen (z.B. Schießpulvereinheiten, Schiffe) diese Beförderung überhaupt zur Verfügung steht. Achtung: Der Begriff "Einheit" wird in diesem Zusammenhang anders als gewöhnlich in Colonization verwendet und steht hier ausnahmsweise für das Gesamtpaket Einheit/Beruf. Im Eintrag PromotionPrereq kann als zusätzliche Voraussetzung dafür, dass eine Beförderung von einer Einheit erworben werden kann, eine andere Beförderung eingetragen werden (z.B. Veteran I als Voraussetzung für Veteran II). Wichtig: Beförderungen können in dieser xml-Datei nur für Truppenklassen freigeschaltet, nicht aber nur für spezifische Einheiten. Möglich ist aber, Berufen automatische Gratisbeförderungen zuzuweisen. Diese Gratisbeförderungen erscheinen ohne Icon, dafür wird im Eintrag bGraphicalOnly der Wert "0" eingetragen. Eine Einheit genießt die Boni dieser Gratisbeförderung immer nur solange, wie sie einen Beruf ausübt, der mit dieser Beförderung verknüpft. Beispiel für diese Art von mit Berufen verknüpfte Gratisbeförderungen ist die PROMOTION_CAVALRY bei Werewolves.

    CIV4UnitClassInfos:
    Colonization unterscheidet technisch bei Einheiten zwischen UNIT und dem Oberbegriff UNITCLASS. In dieser Datei hier definiert ihr die UNITCLASS und legt fest, welche UNIT deren Standardeinheit ist. In der Regel gibt es in jeder UNITCLASS nur eine einzige UNIT. Allerdings gibt es auch Ausnahmen. Durch diese Unterscheidung wird technisch möglich gemacht, dass für Fraktionen spezifische Einheitenvarianten erstellt werden können. Beispiel: In der UNITCLASS_SHIP_OF_THE_LINE gibt es zwei Einheiten, UNIT_SHIP_OF_THE_LINE und UNIT_MAN_O_WAR. Die UNIT_SHIP_OF_THE_LINE ist in dieser Datei hier als Standard-Unit für diese Einheitenklasse definiert und steht dadurch automatisch allen Zivilisationen zur Verfügung, bei deren Defintion in der CIV4CivilizationInfos diese Einheitenklasse nicht komplett gesperrt wurde. Bei den Königs-Fraktionen wurde in dieser Datei allerdings eingetragen, dass ihnen in dieser UNITCLASS die UNIT_MAN_O_WAR zugewiesen ist.

    CIV4UnitInfos:
    Hier werden die UNITs definiert, also die Einheiten im engeren technischen Sinne.
    • Der Eintrag bFound legt fest, ob sie Siedlungen gründen können
    • Der Eintrag bNoDefensiveBonus legt fest, ob sie im Freien die Defensivboni von Stadtwällen und Geländemerkmalen nutzen können
    • Die drei Einträge bLbD... regeln, ob und welche Weise diese Einheiten am Feature Learning by Doing teilnehmen (nur bei TAC)
    • Der Eintrag UnitAIs weist Einheiten, die von der KI gesteuert werden, eine an anderer Stelle definierte KI-Strategie zu
    • Im Eintrag Builds wird bestimmt, welche Arbeiten die Einheit im Beruf Pionier durchführen kann
    • Beim Eintrag PrereqBuilding kann man bei von Zimmermännern baubaren Einheiten festlegen, welche Gebäude in einer Stadt vorhanden sein müssen, damit dort diese Einheit produziert werden kann
    • YieldCosts gibt für diesen Fall die Baukosten an
    • iEuropeCost legt fest, zu welchem Einstiegspreis diese Einheit im Europahafen gekauft werden kann
    • iEuropeCostIncrease legt fest, um wieviel teurer der Kauf jeder weiterer dieser Einheiten ist
    • Die Zahlenwerte bei iImmigrationWeight regeln in ihrem relativen Verhältnis zueinander, wie wahrscheinlich welche Einheit vom Programm als nächste für die Warteschlange der Einwanderer auf dem Europahafenkai ausgelost wird
    • iMoves justiert, wieviele Bewegungspunkte eine Einheit pro Runde hat
    • iCombat weist einer Einheit ihre Stärkepunkte für den Kampf zu
    • Bei YieldModifiers kann man einer Einheit einen prozentualen Produktionsbonus für eine Ware spendieren
    • Bei YieldChanges kann die Produktionsgeschwindigkeit auf andere Weise beeinflussen: Die Zahlenwerte geben an, wie hoch der Produktionsbonus bzw. -malus pro Runde ist im Vergleich zum Standard und mit Bezug auf die Stückzahl produzierter Warenmengen pro Runde
    • Je höher der Zahlenwert bei iNativeLearnTime, desto langsamer wird eine Einheit bei der Ausbildung in einem Ureinwohnerdorf zu einem Experten
    • ProfessionMeshGroups weist einer Einheit die Grafikmodelle zu, die sie in Abhängigkeit zu bestimmten Berufen in der Spielwelt haben soll
    Geändert von Writing Bull (03. März 2013 um 13:45 Uhr)

  11. #11
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Terrain


    CIV4BonusInfos:
    Hier wird festgelegt, welche Bonusressourcen im Spiel verfügbar sind und wie sie balanciert sind. TerrainBooleans: Auf diesen Terrains kann die Bonusressource bei Generierung einer Zufallskarte dann entstehen, wenn es auf dem Feld kein Terrain gibt. FeatureBooleans: Auf diesen Features kann die Bonusressource auf Zufallskarten entstehen. FeatureTerrainBooleans: Unter den im vorigen Eintrag genannten Features muss das hier aufgeführte Terrain sein, damit der Bonus auf Zufallskarten entstehen kann. Mit bFlatlands kann man einstellen, ob eine Bonusressource im Flachland erscheinen kann, mit bHills, ob sie auf Hügeln erscheinen kann. Achtung: Bei der Erstellung von Szenarienkarten kann man die Bonusressourcen wahlweise nach diesen Einstellungen zufällig generieren lassen oder stattdessen alle Bonusressourcen fix platzieren. Im zweiten Fall spendieren die Bonusressourcen aber nur dann Zusatzerträge, wenn sie auf den "richtigen" Geländefeldern stehen. Bei TAC findet sich im Ordner TAC Dokumentation der pdf-Text Bonusressourcen bei TAC, der die Einstellungen bei TAC übersichtlich dokumentiert.

    CIV4FeatureInfos:
    Hier werden die Features definiert, die in Karten auf Terrains "draufgesetzt" sein können. Zu den Features zählen Waldarten, aber z.B. auch Polareis oder (bei TAC) Vulkane und Tornados. Auf jedem Terrain kann immer nur 1 Feature platziert sein. Es ist auch möglich, dass auf einem Terrain kein Feature sitzt. Ist der im Eintrag iMovement vermerkte Wert größer als "1", dann verbraucht eine Einheit, die auf ein Feld mit diesem Feature zieht, entsprechend mehr Bewegungspunkte.

    CIV4ImprovementInfos:
    Hier werden die Improvements definiert, eine Kategorie von Geländemerkmalen, die auf Terrains und Features draufgesetzt werden können. Zu den Improvements zählen insbesondere die Modernisierungen, die Pioniere im Kulturgebiet ihrer Fraktion bauen können. Unter YieldIncreases kann eingetragen werden, welcher Ertragsbonus durch eine Modernisierung spendiert werden soll. Ist bei einem Improvement im Eintrag bGoody der Wert "1" eingetragen, dient das Improvement als Trigger für Goody-Ereignisse und wird zerstört, sobald eine europäische Einheit auf das Geländefeld zieht.

    CIV4TerrainInfos:
    Hier werden die Terrains definiert, die unterste Ebene jedes Geländefeldes. Jedes Geländefeld hat immer genau ein Terrain. Im Eintrag Yields wird eingestellt, welche Erträge ein Geländefeld spendieren kann, wenn es im Stadtbildschirm von einer Einheit mit dem passenden Beruf bewirtschaftet wird. Das zentrale Stadtfeld wird immer automatisch bewirtschaftet. RiverYieldIncreases gibt an, ob ein an das Geländefeld angrenzender Fluss die Erträge steigern soll. bFound gibt an, ob auf diesem Terrain eine Siedlung gegründet werden kann. iMovement gibt an, wieviele Bewegungspunkte eine Einheit verbraucht, wenn sie auf ein Feld mit diesem Terrain zieht.

    CIV4YieldInfos:
    Hier werden die Yields, die Waren, definiert.
    • Type führt die technische Bezeichnung der Ware auf. Diese technischen Bezeichnungen sind ebenfalls in der DLL-Datei aufgeführt. Achtung: Findet das Programm eine in der DLL aufgelistete Ware nicht in den xml-Dateien oder gibt es dort eine Ware, die nicht in der DLL verankert ist, ist Colonization nicht mehr spielbar.
    • Description verweist auf den Texteintrag, in dem der Warenname definiert ist
    • Civilopedia verweist auf den Texteintrag, in dem der Hintergrundtext in der Colopädie definiert ist
    • bCargo erlaubt es durch den Eintrag des Wertes "1", die Ware in den Slots von Transporteinheiten zu befördern. Mit dem Wert "0" werden virtuelle Waren wie Hämmer, Kreuze, Freiheitsglocken und Bildungspunkte gekennzeichnet, die weder gelagert, noch befördert oder gehandelt werden können.
    • iBuyPriceLow und iBuyPriceHigh markieren eine Spanne, aus der bei Start einer Partie zufällig der Stückpreis bestimmt wird, zu dem man eine Ware im Europahafen verkaufen kann
    • iBuyPriceMin gibt den garantierten Mindestpreis an, zu dem man eine Ware im Europahafen immer verkaufen kann (vor Abzug der Steuern)
    • iSellPriceDifference gibt an, um wieviel teurer es ist, eine Ware im Europahafen einzukaufen statt sie dort dem König zu verkaufen
    • iNativeBuyPrice gibt den ungefähren Preis an, zu dem Ureinwohner in ihren Dörfern die Ware ankaufen. Steht dort der Wert "1", haben die Ureinwohner grundsätzlich kein Interesse am Kauf.
    • iNativeSellPrice gibt den ungefähren Preis an, zu dem Ureinwohner in ihren Dörfern die Ware an eine europäische Fraktion und deren Transporteinheit verkaufen. Steht dort der Wert "1", haben die Ureinwohner grundsätzlich kein Interesse am Verkauf.
    • Bei iHillsChange lässt sich einstellen, wieviele Einheiten eines Rohstoffs pro Runde auf einem Hügelfeld gewonnen werden können. Minuswerte erzeugen einen Malus. Steht dort der Wert "0", hat hügeliges Terrain keinen Einfluss auf die Erzeugung einer Ware.
    • Der Eintrag iPeakChange funktioniert in entsprechender Weise für Berge.
    • iLakeChange gibt an, wieviele Einheiten eines Rohstoffs pro Runde auf einem Binnensee-Feld gewonnen werden können. (Ein Binnensee ist eine im Landesinneren gelegene, nicht mit dem Ozean verbundene Wasserfläche, die eine bestimmte Anzahl von Feldern nicht übersteigt.)
    • iCityChange gibt an, wieviele Einheiten einer Ware pro Runde auf dem zentralen Stadtfeld gratis erzeugt werden.
    • iTextureIndex und iWaterTextureIndex zeigen einer Ressorce, die auf einem Geländefeld erzeugt wird, welche Symbolbilder sie für die Anzeige der Geländeerträge verwenden soll. Diese Bilder finden sich in der Grafikdatei resource_icons_64ea.dds (im Pfad ... assets/art/interface/symbols). Die Zahl gibt an, in welcher Spalte der Grafikdatei die passenden Symbolbilder liegen. Die erste Spalte wird dabei als Null gezählt.
    • Icon verknüpft die Ware mit ihrem 2D-Bild in den Warenleisten im Stadtbildschirm und im Europahafen
    • Button verknüpft die Ware mit ihrem 2D-Bild in der Colopädie
    Geändert von Writing Bull (04. März 2013 um 10:13 Uhr)

  12. #12
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Art


    In den Dateien des Typs CIV4ArtDefines (z.B. CIV4ArtDefines_Bonus) legt man Grafikprofile an. In ihnen ist z.B. definiert, mit welchen Icons und welchen 3D-Modellen das Grafikprofil verknüpft ist. Mit dem Wert fScale kann man skalieren, wie groß das 3D-Modell in der Spielwelt erscheinen soll. Mit dem Wert fInterfaceScale kann man skalieren, wie groß das Modell auf Zusatzbildschirmen erscheint (z.B. wie groß ein Gebäude in seinem Colopädieeintrag sowie im Stadtbildschirm in der Anzeige des aktuellen Bauprojekts erscheint).
    Geändert von Writing Bull (17. Februar 2013 um 10:44 Uhr)

  13. #13
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Audio


    In diesen xml-Dateien legt man Audioprofile an, z.B. für den Soundtrack oder Geräusche. Wenn man an anderer Stelle z.B. eine neue Einheit oder eine neue Zivilisation anlegt, kann man dieses neue Spielelement von dort aus mit dem Audioprofil seiner Wahl verknüpfen.
    Geändert von Writing Bull (17. Februar 2013 um 10:46 Uhr)

  14. #14
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner Events


    CIV4AchieveInfos: (nur bei TAC)
    Hier legt man die Achievements (Bildergeschichten) an, definiert ihren Trigger und weist ihnen ein Bild sowie die passenden Texteinträge zu.

    CIV4EventTriggerInfos:
    Hier werden die Trigger für Events definiert

    CIV4EventInfos:
    Hier werden die Events selber definiert, ihre Mali und Boni festgelegt und auf die mit ihnen verknüpften Texte verwiesen

    Hinweis: In Vanilla beschränken sich die Events auf das Tutorial. In TAC wird das Eventsystem dagegen für die Einführung von vielen Zufallsereignissen und Quests benutzt. Es gibt ein Tutorial zum Bau von Events bei TAC. Eine detaillierte Dokumentation der Funktionsweise der Events, eine Anleitung zum Bau von Events sowie eine Dokumentation der in TAC enthaltenen Events finden sich bei TAC im Ordner TAC Dokumentation.
    Geändert von Writing Bull (17. Februar 2013 um 12:23 Uhr)

  15. #15
    Talking Bull Avatar von Writing Bull
    Registriert seit
    01.10.08
    Beiträge
    21.376
    XML-Modding - Ordner BasisInfos


    CIV4BasicInfos:
    Hier kann man definieren, welche Artikel in der Colopädie in der Rubrik Spielkonzepte angelegt werden und mit welchen Überschriften und Texten sie verknüpft sind.
    Geändert von Writing Bull (17. Februar 2013 um 10:47 Uhr)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •