I recently showed a mod project I'm currently working on to Terkhen, and he showed more interest than I expected, so I decided to write done some text about the components of the mod, what's there current state and how they could possibly partly integrate into ExtraModMod.
Please note that this is not released yet. The project site with the code repository is found here.
Preview Released
Download 0.0.4_alpha (2013-11-15) for Extramodmod 0.3.1
Installation Instructions: Backup Extramodmod folder, then copy content of the archive into the mod's directory.
It is meant to show the possibilities of the new spawning, lair spawning and lair exploration systems(BarbCultures is not yet in).
If you are curious about what the possibilities of the new system, you might want to cast a glance at the textual conversion of the SpawnInfo XML file, found here (outdated).
Implemented major features are listed here
Planned features are in the issue tracker.
TerrainFlavour
Consists of two parts: The XML info and the Gameoption.
The XML info (and some corresponding CvPlot functions) is an attempt to make a functionality similar to the one in Jean Elcard's FlavourMod (determine fitting starting places for civilizations, considering terrain), but better, more easily customizable and usable by other components. It works quite well with the BarbarianCultures component, but this might be not the case for other uses (The flavours BarbarianCultures use some really brutal values; like the Nomad culture strictly avoids snow or tundra and favors desert. That's because this is a rather simple case, since there is only the need to find the best TerrainFlavour. What's the second best doesn't matter at all.)
The Gameoption "Flavour start" is a by-product. It only switches the starting positions (like FlavourMod). It doesn't work well with Mapscripts that do that themselves, but that's why it's a gameoption and can be turned off
. It is not excessively tested, because I mostly play on ErebusContinent maps. It also obviously doesn't work on Fractal-type maps, which have no more or less clear separation between climate areas.
A TerrainFlavour XML file is found here.
Inclusion in Extramodmod: The TerrainFlavour XML is definitely worth including if BarbarianCultures is also included (I don't use it for SpawnInfos (see below) for performance reasons). In this case the gameoption is no big deal, since it would probably require more effort to separate it from the XML info. If somebody uses it and provides feedback, it can be improved. As long as BarbarianCultures is not in, I don't think it's worth merging the Gameoption alone.
BarbarianCultures
Each city has a chance to get a CultureType, which is sort of a sub-civilization. At the moment, barbarian cities have a 100% chance to get a CultureType, all other civ's cities have a 0% chance. The actual CultureType is determined by the TerrainFlavour mechanic (see above).
Each CultureType has a pseudo-civ. If a city has a CultureType, and the owning player is of the base civilization of that CultureType, the city is treated as if it's owner was tolerant and the original owner was the CultureType's pseudo-civ. This means most properties of a civilization can also be applied to a CultureType: City style, Unit style, unique units, unique buildings (planned), DefaultRace, and also city names.
Currently there are the following cultures: Human, Nomad, Winterborn, Orc. It's possible to implement an unlimited number of BarbarianCultures with no performance loss, apart from XML loading times.
The For The Horde Workspell needs to be reworked. It's much weaker, since it only targets orcs.
Inclusion in Extramodmod: Before releasing, I want to fix the missing support for buildings. Also, the behaviour of the tolerant trait with barbarian cities has to be tested (I believe at the moment it takes city CultureType into account), and should be certainly some more UUs and especially the human art should be improved. It is already a gameoption.
BarbCiv
I adjusted the BarbCiv port in MNAI, but I'm currently not working on it and it will not be released in the near future, since I'm not sure about my plans for it.
SpawnInfos
This is part of the wilderness development branch, but I'll keep it separately since I consider it far more complete in implementation and planning.
It's goal is to make barbarian spawning customizable. The idea is from RifE, which has a SpawnGroup system. It currently features groups of units spawning, tech requirements and different probabilities; and, most important, can be easily extended in various aspects.
Lairs now have not just a single unit to spawn, but a list of SpawnInfos that can use all the features that regular SpawnInfos use. I also plan to use it for lair exploration results spawning barbarians; that would easily allow to make f.e. animals not spawning in territory (since they cannot move there; that's an issue should probably also be reported to Tholal)
The SpawnInfo XML file is found here.
Note for 0.0.1_alpha: The spawning system now also handles lair exploration spawns.
Inclusion in Extramodmod: It worked well for me, should probably be playtested a bit more. I also have to separate it from Wilderness before.
Wilderness
Inspired by Sephi's Wilderness feature, this determines a wilderness value for each tile, which influences the strength and type of barbarian spawns (random spawns and spawns from lairs; it uses SpawnInfos and adds values for min and max wilderness). The algorithm for determining wilderness is more complex than Sephi's: instead of just measuring the distance to the nearest starting tile, it also determines min and max values for each continent and normalizes the values accordingly. Islands have a much higher wilderness value and have their "peak" value in their center.
There are some issues with this component currently. First exploring the wilderness and defeating strong units there is not rewarding enough. I'd appreciate suggestions how you could reward defeating strong units in the wilderness, settling the wilderness or exploring lairs in the wilderness (or any thoughts about this anyway; I have not really a clear idea what I want to do with it). Sephi has min wilderness values for Unique Features (my version has this, too) and bonuses (planned). As rewards, Terkhen already suggested new equipment and minor promotions with special effects (any ideas? Ideal would something as unique as the Scorpion, who can pass around poisoned sword when tamed).
Secondly, I'd like to adjust the wilderness as the game proceeds, considering settling areas; but I neither have an idea how to do this.
Note for 0.0.1_alpha: Some rewards have been added, still need much more variety.
Inclusion in Extramodmod: I need a clear idea what Wilderness should be really about and what's the point of it.
Barbarian Units
I implemented some new barbarian units for the components described above. They are certainly unbalanced; It's just some ideas that need to be elaborated.
Savage
Warrior replacement for the human barbarian culture; can also spawn from SpawnInfos
Warrior Art
3/2/1, +25% against Melee
Bandit (Idea from RifE)
Meant as an Axeman replacement, spawn most commonly deserts
Axeman Art
5/5/1, -25% City Strength, cost 60 (instead of 45)
Bandit Lord (Idea from RifE)
Meant as an Champion replacement, spawn most commonly deserts with some Bandit companions
Art by Ploeperpengel, an axeman with a fur coat and a horned helmet
6/6/1, +50% against Melee (instead of 25%), cost 150 (instead of 120)
Cave Bear (Idea from RifE)
Spawns in high wilderness randomly and from Bear den.
Art from RifE (just a big single bear)
Like Bear, but with 8 Strength
Panther (From MagisterModMod)
Spawns in medium wilderness jungle
Art from Civ4
4/4/2, invisible (like Spider), Woodsman 1+2; -25% city attack, cannot pillage etc.
I'm not satisfied with both animals.
Ghoul (Idea from Kael's Bestiary of Erebus)
Spawns from Barrows on Marsh
Art from MoM (Aristrakh Zombie)
3/3/1 +1 Death, Undead
Wight (Idea from Kael's Bestiary of Erebus)
Spawns from Barrows on Marsh in high wilderness, along with some Ghouls
Art from MoM (Another Aristrakh Zombie)
3/3/1 +3 Death, Undead, Vile Touch (passes Withered), 75% chance to spawn a ghoul from combat.
"The Dybbuk are malicious spirits that can control the soul of someone who recently died. They have little power over the just, though those burdened with sin are easy prey for them. The Dybbuk can force the soul to possess a living or dead host.
"When a Dybbuk leaves a corrupted soul in the body of a dead host it becomes a ghoul.
"When a Dybbuk leaves a corrupted soul in the body of a dead host and the Dybbuk remains to strengthen and control the soul then the creature is known as a Wight. Wights are more powerful than ghouls and their touch steals the life and strength of their victim. Although Dybbuk prefer to not draw too much attention to themselves when threatened they can usually raise a group of ghouls lead by a wight to defend themselves."
Hollow Man (Idea from MagisterModMod/Kael's Bestiary of Erebus)
Meant as an assasin replacement. Spawns from Letum Frigus; but only if it's tile has a certain wilderness value. That's an example on how I want to have variety also among different games (they will only spawn in a game if certain conditions are met)
Art from MagisterModMod (I think it's an Illian ranger)
3/1/2 +3 Cold, Invisible, Marksman, Undead, Winterborn, -50 City Strength; cannot pillage etc. like assassin.
"Hollow men are the ghosts of those who served Mulcarn in the Age of Ice. They are most common around Letum Frigus and typically appear and thin, pale, indefinite creatures that are nearly invisible in a snowstorm. They rarely attack formidable opponents, preferring to find those freezing in the wastes and steal the last bits of warmth from their bodies."
The Hollow Man probably just too strong and annoying due to invisibility (I thought about using "Snow Stealth" from MagisterModMod, but the AI seems not to be able to handle even plain "Stealth" from FfH)
More text about this can be found in Terkhen's Multibarb issue discussion.
Thank you for reading, I'd appreciate any thoughts and suggestions
Preview Released
Download 0.0.4_alpha (2013-11-15) for Extramodmod 0.3.1
Installation Instructions: Backup Extramodmod folder, then copy content of the archive into the mod's directory.
It is meant to show the possibilities of the new spawning, lair spawning and lair exploration systems
If you are curious about what the possibilities of the new system, you might want to cast a glance at the textual conversion of the SpawnInfo XML file, found here (outdated).
Implemented major features are listed here
Planned features are in the issue tracker.
Spoiler Changelog :
TerrainFlavour
Consists of two parts: The XML info and the Gameoption.
The XML info (and some corresponding CvPlot functions) is an attempt to make a functionality similar to the one in Jean Elcard's FlavourMod (determine fitting starting places for civilizations, considering terrain), but better, more easily customizable and usable by other components. It works quite well with the BarbarianCultures component, but this might be not the case for other uses (The flavours BarbarianCultures use some really brutal values; like the Nomad culture strictly avoids snow or tundra and favors desert. That's because this is a rather simple case, since there is only the need to find the best TerrainFlavour. What's the second best doesn't matter at all.)
The Gameoption "Flavour start" is a by-product. It only switches the starting positions (like FlavourMod). It doesn't work well with Mapscripts that do that themselves, but that's why it's a gameoption and can be turned off

A TerrainFlavour XML file is found here.
Inclusion in Extramodmod: The TerrainFlavour XML is definitely worth including if BarbarianCultures is also included (I don't use it for SpawnInfos (see below) for performance reasons). In this case the gameoption is no big deal, since it would probably require more effort to separate it from the XML info. If somebody uses it and provides feedback, it can be improved. As long as BarbarianCultures is not in, I don't think it's worth merging the Gameoption alone.
BarbarianCultures
Each city has a chance to get a CultureType, which is sort of a sub-civilization. At the moment, barbarian cities have a 100% chance to get a CultureType, all other civ's cities have a 0% chance. The actual CultureType is determined by the TerrainFlavour mechanic (see above).
Each CultureType has a pseudo-civ. If a city has a CultureType, and the owning player is of the base civilization of that CultureType, the city is treated as if it's owner was tolerant and the original owner was the CultureType's pseudo-civ. This means most properties of a civilization can also be applied to a CultureType: City style, Unit style, unique units, unique buildings (planned), DefaultRace, and also city names.
Currently there are the following cultures: Human, Nomad, Winterborn, Orc. It's possible to implement an unlimited number of BarbarianCultures with no performance loss, apart from XML loading times.
The For The Horde Workspell needs to be reworked. It's much weaker, since it only targets orcs.
Inclusion in Extramodmod: Before releasing, I want to fix the missing support for buildings. Also, the behaviour of the tolerant trait with barbarian cities has to be tested (I believe at the moment it takes city CultureType into account), and should be certainly some more UUs and especially the human art should be improved. It is already a gameoption.
BarbCiv
I adjusted the BarbCiv port in MNAI, but I'm currently not working on it and it will not be released in the near future, since I'm not sure about my plans for it.
SpawnInfos
This is part of the wilderness development branch, but I'll keep it separately since I consider it far more complete in implementation and planning.
It's goal is to make barbarian spawning customizable. The idea is from RifE, which has a SpawnGroup system. It currently features groups of units spawning, tech requirements and different probabilities; and, most important, can be easily extended in various aspects.
Lairs now have not just a single unit to spawn, but a list of SpawnInfos that can use all the features that regular SpawnInfos use. I also plan to use it for lair exploration results spawning barbarians; that would easily allow to make f.e. animals not spawning in territory (since they cannot move there; that's an issue should probably also be reported to Tholal)
The SpawnInfo XML file is found here.
Note for 0.0.1_alpha: The spawning system now also handles lair exploration spawns.
Inclusion in Extramodmod: It worked well for me, should probably be playtested a bit more. I also have to separate it from Wilderness before.
Wilderness
Inspired by Sephi's Wilderness feature, this determines a wilderness value for each tile, which influences the strength and type of barbarian spawns (random spawns and spawns from lairs; it uses SpawnInfos and adds values for min and max wilderness). The algorithm for determining wilderness is more complex than Sephi's: instead of just measuring the distance to the nearest starting tile, it also determines min and max values for each continent and normalizes the values accordingly. Islands have a much higher wilderness value and have their "peak" value in their center.
There are some issues with this component currently. First exploring the wilderness and defeating strong units there is not rewarding enough. I'd appreciate suggestions how you could reward defeating strong units in the wilderness, settling the wilderness or exploring lairs in the wilderness (or any thoughts about this anyway; I have not really a clear idea what I want to do with it). Sephi has min wilderness values for Unique Features (my version has this, too) and bonuses (planned). As rewards, Terkhen already suggested new equipment and minor promotions with special effects (any ideas? Ideal would something as unique as the Scorpion, who can pass around poisoned sword when tamed).
Secondly, I'd like to adjust the wilderness as the game proceeds, considering settling areas; but I neither have an idea how to do this.
Note for 0.0.1_alpha: Some rewards have been added, still need much more variety.
Inclusion in Extramodmod: I need a clear idea what Wilderness should be really about and what's the point of it.
Barbarian Units
I implemented some new barbarian units for the components described above. They are certainly unbalanced; It's just some ideas that need to be elaborated.
Savage
Warrior replacement for the human barbarian culture; can also spawn from SpawnInfos
Warrior Art
3/2/1, +25% against Melee
Bandit (Idea from RifE)
Meant as an Axeman replacement, spawn most commonly deserts
Axeman Art
5/5/1, -25% City Strength, cost 60 (instead of 45)
Bandit Lord (Idea from RifE)
Meant as an Champion replacement, spawn most commonly deserts with some Bandit companions
Art by Ploeperpengel, an axeman with a fur coat and a horned helmet
6/6/1, +50% against Melee (instead of 25%), cost 150 (instead of 120)
Cave Bear (Idea from RifE)
Spawns in high wilderness randomly and from Bear den.
Art from RifE (just a big single bear)
Like Bear, but with 8 Strength
Panther (From MagisterModMod)
Spawns in medium wilderness jungle
Art from Civ4
4/4/2, invisible (like Spider), Woodsman 1+2; -25% city attack, cannot pillage etc.
I'm not satisfied with both animals.
Ghoul (Idea from Kael's Bestiary of Erebus)
Spawns from Barrows on Marsh
Art from MoM (Aristrakh Zombie)
3/3/1 +1 Death, Undead
Wight (Idea from Kael's Bestiary of Erebus)
Spawns from Barrows on Marsh in high wilderness, along with some Ghouls
Art from MoM (Another Aristrakh Zombie)
3/3/1 +3 Death, Undead, Vile Touch (passes Withered), 75% chance to spawn a ghoul from combat.
"The Dybbuk are malicious spirits that can control the soul of someone who recently died. They have little power over the just, though those burdened with sin are easy prey for them. The Dybbuk can force the soul to possess a living or dead host.
"When a Dybbuk leaves a corrupted soul in the body of a dead host it becomes a ghoul.
"When a Dybbuk leaves a corrupted soul in the body of a dead host and the Dybbuk remains to strengthen and control the soul then the creature is known as a Wight. Wights are more powerful than ghouls and their touch steals the life and strength of their victim. Although Dybbuk prefer to not draw too much attention to themselves when threatened they can usually raise a group of ghouls lead by a wight to defend themselves."
Hollow Man (Idea from MagisterModMod/Kael's Bestiary of Erebus)
Meant as an assasin replacement. Spawns from Letum Frigus; but only if it's tile has a certain wilderness value. That's an example on how I want to have variety also among different games (they will only spawn in a game if certain conditions are met)
Art from MagisterModMod (I think it's an Illian ranger)
3/1/2 +3 Cold, Invisible, Marksman, Undead, Winterborn, -50 City Strength; cannot pillage etc. like assassin.
"Hollow men are the ghosts of those who served Mulcarn in the Age of Ice. They are most common around Letum Frigus and typically appear and thin, pale, indefinite creatures that are nearly invisible in a snowstorm. They rarely attack formidable opponents, preferring to find those freezing in the wastes and steal the last bits of warmth from their bodies."
The Hollow Man probably just too strong and annoying due to invisibility (I thought about using "Snow Stealth" from MagisterModMod, but the AI seems not to be able to handle even plain "Stealth" from FfH)
More text about this can be found in Terkhen's Multibarb issue discussion.
Thank you for reading, I'd appreciate any thoughts and suggestions
