Ich möchte eine kleine Änderung vorschlagen, die aus meiner Sicht die Spielbarkeit deutlich erhöht. Mir passiert es regelmäßig, daß eine Stadt mit Nahrungsdefizit und Nahrungsimporten plötzlich einen Kolonisten freisetzt, weil es nichts mehr zu essen gibt. Beispiel:
* Stadt hat 110 Nahrung und verbraucht 8 pro Runde.
* Dann kommt ein Konvoi und liefert 100 Nahrung ab. Die Stadt hat nun 210 Nahrung.
* Im Rundenwechsel verbraucht die Stadt 8 Nahrung und erzeugt aus den übrigen 202 Nahrung einen Kolonisten. Der Nahrungsbestand im Lager ist nun zwei.
* Bis zur nächsten Nahrungslieferung setzt die Stadt nun jede Runde einen Kolonisten frei, weil es nicht genug zu essen gibt. Das ist in höchstem Maße lästig.
Ich habe im Kode gestöbert und entdeckt, daß die Dll anscheinend noch den Kode aus Civ enthält, der es erlaubt, beim Wachstum einer Stadt einen gewissen Mindestbestand an Nahrung übrig zu behalten (Nahrungslager). Die Änderung läßt sich mit simplen Änderungen an Xml-Dateien umsetzen:
1. In der Datei Assets/XML/Buildings/CIV4BuildingInfos.xml wird für das Basislager eingetragen:
2. In Assets/XML/GlobalDefines.xml wird eingetragen:Code:<iFoodKept>100</iFoodKept>
(Wobei ich nicht sicher bin, ob Eingeborenenstädte auch ein Basislager haben. Nötigenfalls muß man die erste Einstellung auch noch für ein Gebäude machen, das auch alle Dörfer enthalten.)Code:<Define> <DefineName>BASE_CITY_GROWTH_THRESHOLD</DefineName> <iDefineIntVal>300</iDefineIntVal> </Define>
Folge:
* Wachstum findet erst bei 300 Nahrung statt.
* Es werden weiterhin 200 Nahrung verbraucht, so daß beim Wachstum immer 100 Einheiten übrig bleiben.
Die Werte sind natürlich beliebig veränderbar, indem man auf beide Zahlen denselben Wert addiert. Die einzig konkrete Änderung am Spielablauf ist, daß eine Stadt das erste Mal erst hundert Nahrungspunkte später wächst.
(Ich habe das noch nicht ausprobiert.)
--
Die Kür wäre allerdings, wenn man die zurückzuhaltende Grenze einfach über die Import- Exporteinstellung selbst angeben kann, aber dafür sind Änderungen im C++-Kode nötig.