Jean Elcard
The Flavournator
FlavourMod v1.1.2 Outdated! Has been replaced by FlavourMod 2
Purpose: Have civilizations start in regions matching their 'flavour', but interfere only as minimally as necessary with the stuff the base mapscript is doing. 'Flavour' in this context means everything you may associate with a certain civ and its typical landscape. Let it be based on its historical background or something like 'Elves -> treehugging -> forest' or 'Egypt -> sand -> desert'. These choices can be very subjective, so feel free to modify them to your liking.
Flavoured Civilizations:
Installation: The download is a zip file containing the FlavourMod itself, a readme.txt with theses install instructions and the last version of Cephalo's excellent PerfectWorld mapscript, which I've already modified to take advantage of the FlavourMod mapscript module.
Unpack the files and put FlavourMod.py and PerfectWorld_Flavoured.py in your <civ4>\PublicMaps folder. Next time you go for a game of Fall from Heaven or Fall Further select "PerfectWorld_Flavoured" as map type for this game (Do not select FlavourMod!).
Attention: If you start a new game and you end up with an all-grassland-map, instead of the expected result, this may have various reasons. Check, if you put the files in the right PublicMaps directory (there are more than one in civ4's file structure) and that you did not select FlavourMod as your map of choice instead of a real mapscript modified to use FlavourMod (like PerfectWorld_Flavoured, which came with the mod as an example).
Download: Outdated. Please use FlavourMod 2 instead of this version! You can get it here: FlavourMod 2 Thread
If you should still want the old version: FlavourMod v1.1.2 (23.05.2008)
Change Log:
How to: "Flavour up other mapscripts":
To let other mapscripts take advantage of the FlavourMod is easy, but you'll have to add the following lines of code to the mapscript you want to use first (preferably at the top):
If you are still not sure how to do it, then take a look in the PerfectWorld_Flavoured mapscript I bundled with the mod for an example. Of course you're advised to make a backup of the original mapscript before changing anything and rename your modified version to something like "Continents_Flavoured.py" so that you don't confuse the various versions. It's unimportant by the way if you put your modified mapscript into <civ4>\PublicMaps, <civ4>\Warlords\PublicMaps or <civ4>\Beyond the Sword\PublicMaps as long as FlavourMod.py is located at <civ4>\PublicMaps.
How to: "Change or add more flavoured civs":
Please take a look at the intestines of the FlavourMod.py file itself. Should be self-explanatory or you have to learn some more Python. I really tried to keep it simple, but you can simplify it only so far.
Notes: FlavorMod does not change the map itself, it only uses the starting locations already provided by the base mapscript and redistributes them. Hence, if there is no suitable place for a particular civ, it will be set to start somewhere, but probably in a rather ill-fitting area. Albeit there will be a clear tendency, no guarantees can be made, that all starts will be 'flavoury' for everybody. This also means that the mod is usually working better on bigger maps with more players than on smaller ones with fewer players, because of the higher number of available starting locations avaiable for redistribution. And another small drawback: Teams won't start near each other in many cases. Would be pretty complex to assure flavour and close team members at the same time.
Credits: If you think you've seen something like this before, you are right. This mod is an adaption of one of Dreiche2's mods. First I only wanted to change and add some minor things, but now I've changed almost everything of its inner workings and added a lot of stuff. Most noticeably I've reworked the optimization algorithm completely. It's much more complex now, but the results are a lot better too. Furthermore I fixed a major bug and some minor bugs and tried to make the adding of new civs to the flavoured civs a bit easier. However, nothing of this would have happened without Dreiche2's work in the first place. Thanks.
Screenshots: The four screenshots below I took all from the same map and game. As you can see, the placing of civs to their preferred terrains is pretty good.
Purpose: Have civilizations start in regions matching their 'flavour', but interfere only as minimally as necessary with the stuff the base mapscript is doing. 'Flavour' in this context means everything you may associate with a certain civ and its typical landscape. Let it be based on its historical background or something like 'Elves -> treehugging -> forest' or 'Egypt -> sand -> desert'. These choices can be very subjective, so feel free to modify them to your liking.
Flavoured Civilizations:
- Amurites: mana nodes and reagents nearby
- Bannor: prefer incense to support their religious fanatism
- Calabim: prefer an area with high food potential to keep the human stock well-fed
- Clan of Embers: edge of the jungle, Pyre of the Seraphic
- Doviello: tundra start - for some reason they like it cold
- Elohim: unique features (not the sepulcher) and incense nearby
- Hippus: flat and featureless land to ride without hindrances
- Illians: tundra start with Letum Frigus at hand - don't ask why, stupid winter god worshippers ...
- Khazad: hills, hills and hills again to dig nice little holes in
- Kuriotates: lots of workable land around to support their super city capital
- Lanun: coastal start with pearls and as much water around as possible
- Ljosalfar: forest for the good treehuggers
- Luchuirp: prefer areas with high hammer potential with some hills
- Malakim: hot desert, preferably with oases
- Sheaim: mana nodes and reagents nearby
- Svartalfar: forest for the evil treehuggers as well, but with some mana in it
- Archos: food resources to breed some more eight-legged pets.
- Cualli: jungle! forest in case there is no jungle around, tundra eeks!
- Mazatl: lizard stays lizard - the same for them like for the Cualli.
- Chislev: plains, pampa, steppe, you name it
- Dural: marble in the vicinity
- Kahdi: mana nodes and reagents nearby
Installation: The download is a zip file containing the FlavourMod itself, a readme.txt with theses install instructions and the last version of Cephalo's excellent PerfectWorld mapscript, which I've already modified to take advantage of the FlavourMod mapscript module.
Unpack the files and put FlavourMod.py and PerfectWorld_Flavoured.py in your <civ4>\PublicMaps folder. Next time you go for a game of Fall from Heaven or Fall Further select "PerfectWorld_Flavoured" as map type for this game (Do not select FlavourMod!).
Attention: If you start a new game and you end up with an all-grassland-map, instead of the expected result, this may have various reasons. Check, if you put the files in the right PublicMaps directory (there are more than one in civ4's file structure) and that you did not select FlavourMod as your map of choice instead of a real mapscript modified to use FlavourMod (like PerfectWorld_Flavoured, which came with the mod as an example).
Download: Outdated. Please use FlavourMod 2 instead of this version! You can get it here: FlavourMod 2 Thread
If you should still want the old version: FlavourMod v1.1.2 (23.05.2008)
Change Log:
Spoiler :
Version 1.1.0:
- Add: flavour information for Dural and Sheaim
- Add: new flavour parameter: FoodFocus (high food yield of starting location)
- Add: new flavour parameter: ProductionFocus (like food focus, but for hammers)
- Add: new flavour parameter: CommerceFocus (like food focus, but for commerce)
- Add: new flavour parameter: MobilityFocus (prefer flat land without features)
- Add: allow different shaped search areas (fatcross or square)
- Change: moved FlavourMod to a later stage of the map generation process
- Change: allow some of the normalization functions for buffing dull starts
- Change: fine tuning of the flavour info of all civs (see the current list)
- Fix: civ-specific search areas will take effect now
- Other: many code improvements, some more docu
- Fix: no python exceptions any more if flavour parameter "improvements" is set
- Add: flavour Info for Bannor (incense)
- Add: flavour Info for Clan of Embers (jungle, plains, desert, Pyre of the Seraphic)
- Add: additional flavour info for Illians (Letum Frigus)
- Add: additional flavour info for Elohim (sacred sites except Brocken Sepulcher)
- Fix: a starting loction near world's end (map boarder) could break FlavourMod
- Add: flavour Info for Kahdi (same for the renegades as for the Amurites)
To let other mapscripts take advantage of the FlavourMod is easy, but you'll have to add the following lines of code to the mapscript you want to use first (preferably at the top):
Spoiler :
Code:
###############################################################################
## This mapscript is modified to always use the "FlavourMod" mapscript module.
## See "FlavourMod.py" under your <civ4>\PublicMaps\ directory for details.
###############################################################################
from FlavourMod import *
###############################################################################
How to: "Change or add more flavoured civs":
Please take a look at the intestines of the FlavourMod.py file itself. Should be self-explanatory or you have to learn some more Python. I really tried to keep it simple, but you can simplify it only so far.
Notes: FlavorMod does not change the map itself, it only uses the starting locations already provided by the base mapscript and redistributes them. Hence, if there is no suitable place for a particular civ, it will be set to start somewhere, but probably in a rather ill-fitting area. Albeit there will be a clear tendency, no guarantees can be made, that all starts will be 'flavoury' for everybody. This also means that the mod is usually working better on bigger maps with more players than on smaller ones with fewer players, because of the higher number of available starting locations avaiable for redistribution. And another small drawback: Teams won't start near each other in many cases. Would be pretty complex to assure flavour and close team members at the same time.
Credits: If you think you've seen something like this before, you are right. This mod is an adaption of one of Dreiche2's mods. First I only wanted to change and add some minor things, but now I've changed almost everything of its inner workings and added a lot of stuff. Most noticeably I've reworked the optimization algorithm completely. It's much more complex now, but the results are a lot better too. Furthermore I fixed a major bug and some minor bugs and tried to make the adding of new civs to the flavoured civs a bit easier. However, nothing of this would have happened without Dreiche2's work in the first place. Thanks.
Screenshots: The four screenshots below I took all from the same map and game. As you can see, the placing of civs to their preferred terrains is pretty good.