BarbsPlus for ExtraModMod Preview and Discussion Thread

lfgr

Emperor
Joined
Feb 6, 2010
Messages
1,105
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 :)
 
Screenshots

SpawnInfos and Wilderness:
Spoiler :
The Spectres spawn farther away from civilization. The bear den spawns a bear on grassland and a polar bear on snow.
attachment.php


Wilderness algorithm: The following maps are "colored" using terrain types. The order (from low to high wilderness) is Desert-Plains-Grass-Grass again-Marsh-Tundra-Snow-Fields of Perdition-Broken Lands-Shallows-Burning sands. It's two times Grass due to a mistake in the coloring code, so the Grass area will cover a wilderness range double that big than the one of other terrrain types.
ErebusContinent/Large:
Spoiler :

Highest continental Wilderness:
attachment.php

Islands have their "peak" wilderness at the center:
attachment.php

An island near to a starting position:
attachment.php

The big bad island, far away:
attachment.php


Erebus/Large:
Spoiler :

Near a starting location:
attachment.php

The "peak" wilderness, in a corner:
attachment.php

 

Attachments

  • lairs2.jpg
    lairs2.jpg
    131.4 KB · Views: 1,194
  • wilderness_econtinent_cont.jpg
    wilderness_econtinent_cont.jpg
    239.2 KB · Views: 1,231
  • wilderness_econtinent_island.jpg
    wilderness_econtinent_island.jpg
    441.6 KB · Views: 1,142
  • wilderness_econtinent_island_near.jpg
    wilderness_econtinent_island_near.jpg
    201.8 KB · Views: 1,211
  • wilderness_econtinent_island_peak.jpg
    wilderness_econtinent_island_peak.jpg
    361.1 KB · Views: 1,263
  • wilderness_erebus_peak.jpg
    wilderness_erebus_peak.jpg
    298.5 KB · Views: 1,221
  • wilderness_erebus_simple.jpg
    wilderness_erebus_simple.jpg
    212.3 KB · Views: 1,145
I just want to smile :D..
me like it :D
 
TerrainFlavour: Once that the Flavour Start game option is included, ExtraModMod could use modified versions of the MapScripts that currently include flavour locations. They could either have flavour placement removed (and thus they would rely only in Flavour Start if it is enabled) or have flavour placement implemented as an option and disabled by default (in case someone wants to disable Flavour Start and use the locations provided by the MapScript). I agree that this should only be included along with BarbarianCultures.

BarbarianCultures: When barbarians conquer a city from a player or an AI, what barbarian culture does it get? Maybe it should probably get a culture based in the race of the unit conquering it. This makes me wonder if an infernal barbarian culture would be a good idea (probably not; if MultiBarb is planned at some point they would be a different barbarian civilization altogether and not a culture).

For the Horde would get an indirect buff via TerrainFlavour. Although it would convert less units, if the orc barbarian culture and the Clan of Embers have similar flavour start values, the converted orcs would tend to be closer to the player who casts For the Horde and that would make them more useful. If it is still deemed weak it could also get a slightly increased chance of affecting units and/or trigger a mini golden age which would also help with the increased unit costs.

Realism Invictus includes some nice art for early barbarian units that could be useful for certain units for the human barbarian culture.

What buildings are you planning?

What happens if Flavour Starts are disabled but Barbarian Cultures are enabled?

Wilderness: In my opinion, this feature deals with one of the problems of vanilla FFH2. Unexplored lands are meant to be dangerous, but once that you get units powerful enough, barbarians stop being a problem. As you mention, it should also make exploring more rewarding.

With regard to rewards, besides new equipment (they should ideally be mostly low tier items) and minor promotions (a bonus against barbarian units such as the one included in Realism Invictus or a small amount of resistance to the special damage dealt by the defeated barbarian unit, for example) rewards could also be items that can be placed in cities to have a minor effect (a small gold, culture or science yield, for example). Since I suspect that the AI would not be able to take advantage of exploring the Wilderness properly (I wonder if it knows how to handle captured items that can be converted to buildings), the rewards should IMO be enough to give a minor edge but nothing really powerful. It could also be possible to replace goody huts in the Wilderness with a challenge more powerful than usual but that gives a great reward such as gold or technologies more frequently (this would also remove the possibility of getting a worker or a settler too far away from home to make it useful).

Barbarian Units: New animals that can create new animal cages on cities would be another nice Wilderness reward by themselves. The Grand Menagerie would still only need the "normal" animals to keep its already difficult requirements from going too far. Another possible barbarian units could be Aquilans (probably complicated to balance if they fly, but capturing a flying unit with high strength would also be another good reward), Frost Giants and Frost Golems (mentioned in the Hippus entry of the civilopedia). It could also be possible to include units from minor races as barbarian units such as mustelids or centaurs. IIRC MoM includes additional barbarian units that could be worth checking.
 
whoa, amazing!

you should really send your improved wilderness code to Sephi so he can use it ;)

do you have any plans to also grab the WM/MoM code that makes barbarians not mob a single player anymore, and lets them spawn anywhere in the fog?
 
I just want to smile :D..
me like it :D
That's nice :)

TerrainFlavour: Once that the Flavour Start game option is included, ExtraModMod could use modified versions of the MapScripts that currently include flavour locations. They could either have flavour placement removed (and thus they would rely only in Flavour Start if it is enabled) or have flavour placement implemented as an option and disabled by default (in case someone wants to disable Flavour Start and use the locations provided by the MapScript). I agree that this should only be included along with BarbarianCultures.
The flavour starts in the mapscripts are usually better than the gameoption, since the gameoption only swaps the starting positions, but the mapscripts place players anywhere it wants to.
It would be possible to extend the gameoption code to be capable of finding new valid starting locations, but that would require additional work. Until then, I think it's fine how it is now: the flavour start gameoption is disabled by default and has a hover text warning of using it together with certain mapscripts.
BarbarianCultures: When barbarians conquer a city from a player or an AI, what barbarian culture does it get? Maybe it should probably get a culture based in the race of the unit conquering it.
Good point: Currently not. I thought about this, but didn't decide what to do yet.
I think introducing new cultures for each civ, like a hippus-culture that appears only if a hippus city is conquered by barbarians, is not a good idea, since it would make the barbarians essentially tolerant, which is not fitting in my opinion. But things like human culture for hippus captured cities is probably a good idea.
EDIT: just re-read: The thing with the capturing unit passing it's culture is a good idea. As mentioned below, it would require the SpawnInfo system to define cultures, though.
This makes me wonder if an infernal barbarian culture would be a good idea (probably not; if MultiBarb is planned at some point they would be a different barbarian civilization altogether and not a culture).
Hm, currently barbarian cultures are only assigned to new barbarian cities, and soon conquered ones. I think for conquered infernal cities it will be fitting (Adding an infernal culture and turning it into a multibarb civ later isn't much trouble, since they both use civilization infos).
I also gave CvUnit a cultureType property, but I think it's currently only used by BarbCiv. I remember I also wanted to use it to affect AI behaviour (like city guarding only with appropriate culture, also maybe grouping etc.), once I learn how to do it.
Since we'll have sort of a "SpawnCivilization" tag in SpawnInfos (for MultiBarb), a "SpawnCulture" tag wouldn't hurt if there is something which makes it useful (any other ideas? You seemed to be assuming that also barbarian units have a culture)
For the Horde would get an indirect buff via TerrainFlavour. Although it would convert less units, if the orc barbarian culture and the Clan of Embers have similar flavour start values, the converted orcs would tend to be closer to the player who casts For the Horde and that would make them more useful. If it is still deemed weak it could also get a slightly increased chance of affecting units and/or trigger a mini golden age which would also help with the increased unit costs.
Maybe, but probably not at the moment. I made orcs have a higher weight that the other cultures (I think I read something like "scattered around erebus"), and especially if the Orcs don't start in the jungle I'm not sure if that really is the case.
But of course it is a great idea to make culture/multibarb types dependent on nearby civilizations; but I think we only need that for orcs (I consider nomads and winterborns having a higher terrain affinity than orcs), so we should wait for Multibarb first.
Realism Invictus includes some nice art for early barbarian units that could be useful for certain units for the human barbarian culture.
I'll look into it. I remember I took the name "Savage" from RI.
What buildings are you planning?
None at the moment. Barbarians don't build them and don't need them to train units, so it would be only interesting for tolerant civs.
What happens if Flavour Starts are disabled but Barbarian Cultures are enabled?
It works, the gameoption only disables the starting plot swapping, not the XML info.
Wilderness: In my opinion, this feature deals with one of the problems of vanilla FFH2. Unexplored lands are meant to be dangerous, but once that you get units powerful enough, barbarians stop being a problem. As you mention, it should also make exploring more rewarding.
Yeah, I agree.
With regard to rewards, besides new equipment (they should ideally be mostly low tier items) and minor promotions (a bonus against barbarian units such as the one included in Realism Invictus or a small amount of resistance to the special damage dealt by the defeated barbarian unit, for example) rewards could also be items that can be placed in cities to have a minor effect (a small gold, culture or science yield, for example).
These are all good ideas and should be tested.
Since I suspect that the AI would not be able to take advantage of exploring the Wilderness properly (I wonder if it knows how to handle captured items that can be converted to buildings), the rewards should IMO be enough to give a minor edge but nothing really powerful.
I'm not sure whether the AI is capable of hunting animals; judging from Tholal's issue tracker it's just planned, but in my last game, a hippus scout tamed some animals. He send the spider into my territory and succesfully destroyed a worker, and a bear back into his territory. He didn't remove hidden nationality from the bear, so I killed it; but it is possible he wanted to create a bear cage in one of his cities.
I don't know if it's able to handle the items placed in cities, either.
It could also be possible to replace goody huts in the Wilderness with a challenge more powerful than usual but that gives a great reward such as gold or technologies more frequently (this would also remove the possibility of getting a worker or a settler too far away from home to make it useful).
Good idea.
I was also thinking of increasing the amount of strategical resources in the wilderness (most notable mana), but that's difficult since most mapscripts handle resource placement themselves. For luxury resources, I thought of making some more powerful (+1:) from several buildings or even +2:) immediately) and set them to have a min wilderness (That should work with most mapscripts, since I can alter canPlaceBonus() or whatever the function is called). I think setting f.e. Mithril to have a min wilderness (as in MoM) could have a too high strategical impact (But maybe this and similar things could be bundled into a new gameoption "Horrible unbalanced Wilderness" :))
Barbarian Units: New animals that can create new animal cages on cities would be another nice Wilderness reward by themselves. The Grand Menagerie would still only need the "normal" animals to keep its already difficult requirements from going too far.
Yes, I was mostly thinking of :) rewards from cages. But thinking about it, there could be also a building that gives culture, and doesn't require a carnival (for new cities without religion or creative trait). Currently all animal "cages" except dancing bear require a carnival.
Another possible barbarian units could be Aquilans (probably complicated to balance if they fly, but capturing a flying unit with high strength would also be another good reward), Frost Giants and Frost Golems (mentioned in the Hippus entry of the civilopedia). It could also be possible to include units from minor races as barbarian units such as mustelids or centaurs. IIRC MoM includes additional barbarian units that could be worth checking.
Aquilians and Nives have both good Art in MagisterModMod. But I consider especially the Aquilians quite powerful, so they probably should only spawn after Samhain is completed and on snow/tundra (Apart from this, I have another suggestion: The Deepening could not immediately terraforming the whole world temporary, but start spreading snow/tundra and maybe even ice on water like hell terrain spreads; maybe starting from your Temples of Winter, with an increasing speed as you build more of them. This would allow the following: Aquilians, Nive and Frostlings spawn only on ice and tundra after Samhain is completed. Aquilians and Nive could require additional technologies and not be able to leave the mentioned terrains. This way the Illians could work to spread "cold" terrain (there probably should be more modifiers than only the number of Temples), to let these "cold" barbarians, with which they are at peace, threaten they're neighbours. But this certainly needs to be elaborated, and is low priority).

I didn't plan to include Frost Giants, since Auric's civilopedia entry mentioned Wilbowman was the last one. I probably should read the hippus pedia entry :). They should require Samhain.
IMO minor races are generally a good idea (RifE has barb centaurs, but no new art).
I think it would be better to not just add a vast number of units that can appear in each game, but have most of them require specific conditions. I want a player to be able to discover something new if he's playing different games with different settings. He'd not see a Frost giant in most games, but if he plays the first game with wilderness with a strong Auric, he'll see one. The next game Auric is even stronger, makes it to techX and Aquilians appear.
I think that would be cool. It would make each game more individual, as rare events do. The downside of something like this is of course you have to do much testing on features that don't appear each game, and you'll get less feedback on them. But I think up to a certain point it's worth it.

So the thing is can't really think of special conditions for centaurs, but they feel special and IMO shouldn't appear every game.

[to_xp]Gekko;12736720 said:
whoa, amazing!

you should really send your improved wilderness code to Sephi so he can use it ;)
I'll post some screenshot on how it works, then I can post in the masterofmana forum. I'm still not sure if it meets his idea.
do you have any plans to also grab the WM/MoM code that makes barbarians not mob a single player anymore
I didn't notice the problem yet, I think it's more noticeable in Multiplayer games. But if I can code, that would be a thing to address with this mod.

and lets them spawn anywhere in the fog?
Don't they already spawn anywhere in the fog, didn't MoM made them also spawn in visible areas? Then we have to consider; if you're right, it seems to be a bug.

Terkhen@bitbucket said:
As long as the barbarian cultures and spawn infos you are planning fit into the goals of ExtraModMod (they must fit into the lore and not alter it besides minor stuff) I'll probably want all of them. I'll continue discussing BarbsPlus in its thread to keep our discussion more visible.
I'm trying to stay true to the lore.
I think we don't need to discuss human settlements outside of the civilizations, IIRC there are several mentions of independent human villages in the pedia.
Savages, Bandits and Bandit Lords also fit into the FfH world IMO.
Panthers are in the Age of Ice scenario and the graphic is also used for some recon units.
I decided to only include fantasy that are mentioned in the common sources, most notable the Bestiary of Erebus. This includes Hollow Men, Ghouls and Wights.
About cave bears: I first thought it were just, err, bears in caves, but then I found out it's actually a prehistoric species. Anyway, they can probably be replaced by something more interesting.
The merge of the MultiBarb component itself was relatively simple because the RifE developers mark all source code lines of their components clearly in their source code. My biggest problem with my failed merge wasn't the MultiBarb component itself, but how it interacted with all other components, specially the spawn system.

Since RifE spawn system is completely different from what is present in vanilla FFH2/MNAI/ExtraModMod, and since the vanilla system is completely hardcoded everywhere, it was hellish to make it work with MultiBarb and I eventually gave up and worked in more pressing stuff instead. Since SpawnInfos is far closer to the RifE system and it removes hardcoding, it would be a better start point for a MultiBarb merge by far.
Cool! Then it shouldn't be too hard.

I'll try to make a plan on what's implemented and planned (technically) in post 3 today.
 
Until then, I think it's fine how it is now: the flavour start gameoption is disabled by default and has a hover text warning of using it together with certain mapscripts.

That makes sense. I agree.

Good point: Currently not. I thought about this, but didn't decide what to do yet.
I think introducing new cultures for each civ, like a hippus-culture that appears only if a hippus city is conquered by barbarians, is not a good idea, since it would make the barbarians essentially tolerant, which is not fitting in my opinion. But things like human culture for hippus captured cities is probably a good idea.
EDIT: just re-read: The thing with the capturing unit passing it's culture is a good idea. As mentioned below, it would require the SpawnInfo system to define cultures, though.

Although I prefer the second solution, if it is too much work giving the conquered city a barbarian culture based on the race of the original owner would be fine too.

Hm, currently barbarian cultures are only assigned to new barbarian cities, and soon conquered ones. I think for conquered infernal cities it will be fitting (Adding an infernal culture and turning it into a multibarb civ later isn't much trouble, since they both use civilization infos).

Ok :)

I also gave CvUnit a cultureType property, but I think it's currently only used by BarbCiv. I remember I also wanted to use it to affect AI behaviour (like city guarding only with appropriate culture, also maybe grouping etc.), once I learn how to do it.
Since we'll have sort of a "SpawnCivilization" tag in SpawnInfos (for MultiBarb), a "SpawnCulture" tag wouldn't hurt if there is something which makes it useful (any other ideas? You seemed to be assuming that also barbarian units have a culture)

That AI stuff seems interesting but IMO it should not be a great priority. Since all barbarian cultures are at peace with each other IMO it would not be very bad to see defenders from different barbarian cultures in the same city. Besides the "use unit culture on conquest" feature and the AI behavior you suggest, I can't think of any other features for which unit culture would be useful. Since I have not reviewed the code yet, right now I'm brainstorming stuff about the feature from a "don't know what can be done" point of view.

Maybe, but probably not at the moment. I made orcs have a higher weight that the other cultures (I think I read something like "scattered around erebus"), and especially if the Orcs don't start in the jungle I'm not sure if that really is the case.
But of course it is a great idea to make culture/multibarb types dependent on nearby civilizations; but I think we only need that for orcs (I consider nomads and winterborns having a higher terrain affinity than orcs), so we should wait for Multibarb first.

Agreed.

None at the moment. Barbarians don't build them and don't need them to train units, so it would be only interesting for tolerant civs.

Oh, I see. I can't think of any such buildings myself.

I'm not sure whether the AI is capable of hunting animals; judging from Tholal's issue tracker it's just planned, but in my last game, a hippus scout tamed some animals. He send the spider into my territory and succesfully destroyed a worker, and a bear back into his territory. He didn't remove hidden nationality from the bear, so I killed it; but it is possible he wanted to create a bear cage in one of his cities.
I don't know if it's able to handle the items placed in cities, either.

If the AI can use hunted animals to attack, then maybe it could make sense to give the new animals certain perks while using them for attacking as HN units. AI behavior for those items and strategies is desirable with BarbsPlus and without it. It's good to know that it could see its way into MNAI :)

I was also thinking of increasing the amount of strategical resources in the wilderness (most notable mana), but that's difficult since most mapscripts handle resource placement themselves. For luxury resources, I thought of making some more powerful (+1:) from several buildings or even +2:) immediately) and set them to have a min wilderness (That should work with most mapscripts, since I can alter canPlaceBonus() or whatever the function is called). I think setting f.e. Mithril to have a min wilderness (as in MoM) could have a too high strategical impact (But maybe this and similar things could be bundled into a new gameoption "Horrible unbalanced Wilderness" :))

I like the idea of making resource placement vary depending on wilderness values, but it should probably be yet another game option (sorry about asking for so many of those :) ). Adding additional uncommon luxury resources and/or modifying existing ones is open for discussion. I kept stuff such as Silver out of Extra Resources because there were already enough of them and I did not want to tweak existing ones much. It could be possible to give Silver the values currently used by Gold, make Gold rarer and more powerful and make it appear more frequently into wilderness. Certain new resources in ExtraModMod could also be transformed this way. Amber and specially Salt are meant to appear in specific places, and Mushrooms and Penguins are meant to be extra rare.

I'm not so sure about strategic resources. Late game strategic rseources such as Mithril and Gunpowder could require a minimum amount of wilderness, just to force players to explore their surroundings or wage a war to get them (in most games I never have problems with strategic resources).

Yes, I was mostly thinking of :) rewards from cages. But thinking about it, there could be also a building that gives culture, and doesn't require a carnival (for new cities without religion or creative trait). Currently all animal "cages" except dancing bear require a carnival.

That's a good idea. I can't think of something else like the Dancing Bear, though.

Aquilians and Nives have both good Art in MagisterModMod. But I consider especially the Aquilians quite powerful, so they probably should only spawn after Samhain is completed and on snow/tundra (Apart from this, I have another suggestion: The Deepening could not immediately terraforming the whole world temporary, but start spreading snow/tundra and maybe even ice on water like hell terrain spreads; maybe starting from your Temples of Winter, with an increasing speed as you build more of them. This would allow the following: Aquilians, Nive and Frostlings spawn only on ice and tundra after Samhain is completed. Aquilians and Nive could require additional technologies and not be able to leave the mentioned terrains. This way the Illians could work to spread "cold" terrain (there probably should be more modifiers than only the number of Temples), to let these "cold" barbarians, with which they are at peace, threaten they're neighbours. But this certainly needs to be elaborated, and is low priority).

I like that idea, but as you say it is somewhat complicated and needs to build upon all other planned features so it would be better to discuss this once that other features are already given shape or included.

I didn't plan to include Frost Giants, since Auric's civilopedia entry mentioned Wilbowman was the last one. I probably should read the hippus pedia entry :). They should require Samhain.

If the system allows it, it would be nice to start creating Frost Giants and other winter barbarians depending on how advanced the Illian rituals are.

IMO minor races are generally a good idea (RifE has barb centaurs, but no new art).
I think it would be better to not just add a vast number of units that can appear in each game, but have most of them require specific conditions. I want a player to be able to discover something new if he's playing different games with different settings. He'd not see a Frost giant in most games, but if he plays the first game with wilderness with a strong Auric, he'll see one. The next game Auric is even stronger, makes it to techX and Aquilians appear.
I think that would be cool. It would make each game more individual, as rare events do. The downside of something like this is of course you have to do much testing on features that don't appear each game, and you'll get less feedback on them. But I think up to a certain point it's worth it.

That's a great idea; I love replayability and variability. Factors such as the unique features present in the game, the value of the AC, or even the civilizations and religions present could affect the barbarian units present, and having a degree of random change between games would be good too. Having barbarians from an unexpected type have a small chance of appearing regardless of conditions would keep things interesting.

So the thing is can't really think of special conditions for centaurs, but they feel special and IMO shouldn't appear every game.

Not having the Kuriotates in the game could be one of those conditions. I agree, special barbarian types should not appear in all games.
 
I uploaded a detailed description for Wilderness here. I'll do one for BarbarianCultures also soon (I already have made one once, but it has to be updated). Also I'll add some other ideas I don't remember at the moment.
I apologize for grammar mistakes and such, I'm really not familiar with writing so much text in english :)

Besides the "use unit culture on conquest" feature and the AI behavior you suggest, I can't think of any other features for which unit culture would be useful. Since I have not reviewed the code yet, right now I'm brainstorming stuff about the feature from a "don't know what can be done" point of view.
Well, its just one class property. If you like "use unit culture on conquest", we can implement it, I'm neutral on that, and IIRC we need a city culture for conquered cities, otherwise you just get orcs or, even worse, it may cause quirks.
I like the idea of making resource placement vary depending on wilderness values, but it should probably be yet another game option (sorry about asking for so many of those :) ).
Adding additional uncommon luxury resources and/or modifying existing ones is open for discussion. I kept stuff such as Silver out of Extra Resources because there were already enough of them and I did not want to tweak existing ones much. It could be possible to give Silver the values currently used by Gold, make Gold rarer and more powerful and make it appear more frequently into wilderness. Certain new resources in ExtraModMod could also be transformed this way. Amber and specially Salt are meant to appear in specific places, and Mushrooms and Penguins are meant to be extra rare.
I'm not so sure about strategic resources. Late game strategic rseources such as Mithril and Gunpowder could require a minimum amount of wilderness, just to force players to explore their surroundings or wage a war to get them (in most games I never have problems with strategic resources).
That's ok, but we need to figure out what gameoptions exactly we want. A gameoption for BarbarianCultures is already there, it would also include variety among barbarian spawns (A <PrereqGameOption>/<BlockGameOption> tag in SpawnInfos could do that).
I'm not sure about wilderness (for spawns). What should spawn if the wilderness feature is turned off? Since most SpawnInfos don't have iMinWilderness set to 0, that isn't a good criterium. This would probably require another tag, <bNoWildernessvalid> or similar.
The gameoption you're asking about is also difficult; Would you want to remove some new resources if it's no checked?
For Strategic resources: I'd like best to just increase the amount of mana in high wilderness, but that's difficult.
That's a good idea. I can't think of something else like the Dancing Bear, though.
Yeah, we really need some ideas from the people here :)
If the system allows it, it would be nice to start creating Frost Giants and other winter barbarians depending on how advanced the Illian rituals are.
Not yet, but easily done.
That's a great idea; I love replayability and variability. Factors such as the unique features present in the game, the value of the AC, or even the civilizations and religions present could affect the barbarian units present, and having a degree of random change between games would be good too. Having barbarians from an unexpected type have a small chance of appearing regardless of conditions would keep things interesting.
Maybe even a <iPercentGamesActive>, like for EventTriggers.
Not having the Kuriotates in the game could be one of those conditions. I agree, special barbarian types should not appear in all games.
That gave me a new idea: I think they also should only spawn in a certain area of the map, rather then all over the world. How to do that?
Maybe just a BarbarianCulture for Centaurs and a <PrereqNearCultures> tag... But that's really low priority for now.

I'll try to do a preview release of Wilderness soon; maybe I'll get some more suggestions for rewards, and particularly their names; otherwise I'll just go ahead and make them sound boring. I'll restrict myself on features I consider needed to get an idea what the component does and is capable to do.
 
re: barbarians, what I mean is:

1) current MNAI/EMM barbarian behaviour is the same as vanilla FFH, the barbarian civ picks one player in particular and sends all its units to its lands regardless of distance. obviously this is pretty lame. Wildmana overhauled the barbarian AI, removing this issue and thus making gameplay a lot better.

2) current behaviour for barbarian spawning is from BTS, which has a quirk: if you place a unit in the wilderness, nothing can spawn in a 5x5 square around it ( this includes foggy tiles ) . this allows to use just a few wisely placed warriors to keep big areas 100% safe ( Ororo does this in his Bannor let's play if you're curious ) . Wildmana removed this quirk. depending on the version, it also allowed barbarians to spawn on visible tiles, allowed lairs to spawn as well as units, and allowed groups to spawn instead of lonely units only. these could also be considered for inclusion.

3) if you get around to it, Wildmana also had better AI behaviour regarding picking religions, and teaches to AIs that availability of religious heroes and holy cities are important. current MNAI behaviour has good flavour values, but behind that the BTS code is still noticeable and the leaders without heavy weights are happy to keep the first religion that spreads to them, which works fine in BTS but not for FFH2 ( imagine staying RoK all game while Chalid is still buildable :D )
 
[to_xp]Gekko;12738064 said:
re: barbarians, what I mean is:

1) current MNAI/EMM barbarian behaviour is the same as vanilla FFH, the barbarian civ picks one player in particular and sends all its units to its lands regardless of distance. obviously this is pretty lame. Wildmana overhauled the barbarian AI, removing this issue and thus making gameplay a lot better.
I'll see, but currently the AI is low priority, since I simply don't know how to mod it.
2) current behaviour for barbarian spawning is from BTS, which has a quirk: if you place a unit in the wilderness, nothing can spawn in a 5x5 square around it ( this includes foggy tiles ) . this allows to use just a few wisely placed warriors to keep big areas 100% safe ( Ororo does this in his Bannor let's play if you're curious ) .
Sounds like a bug, I'll look into it.
Wildmana removed this quirk. depending on the version, it also allowed barbarians to spawn on visible tiles,
I think that would be something for raging barbarians.
allowed lairs to spawn as well as units,
I'm planning something like that (got the idea from MoM actually), but don't expect it soon.
and allowed groups to spawn instead of lonely units only.
Possible already.
3) if you get around to it, Wildmana also had better AI behaviour regarding picking religions, and teaches to AIs that availability of religious heroes and holy cities are important. current MNAI behaviour has good flavour values, but behind that the BTS code is still noticeable and the leaders without heavy weights are happy to keep the first religion that spreads to them, which works fine in BTS but not for FFH2 ( imagine staying RoK all game while Chalid is still buildable :D )
Out of scope, sorry. But I recently read some MNAI code that does exactly that, looking for religious heroes not yet build.
 
[to_xp]Gekko;12738064 said:
1) current MNAI/EMM barbarian behaviour is the same as vanilla FFH, the barbarian civ picks one player in particular and sends all its units to its lands regardless of distance.

I don't know why you keep bringing this up. This is not how barbarians behave in MNAI.


Interesting stuff, lfgr. I look forward to seeing where this goes!
 
sorry, I'll have to test that more then. I guess it was just a coincidence, but I've had recent games where I had the impression that was still true. good to know you've solved that already :)
 
I uploaded a detailed description for Wilderness here.

Looks good. Since wilderness is calculated at the beginning of the game I'm assuming that the values do not change when a civilization settles new cities into wilderness.

Will wilderness allow to spawn animal units throughout all the game? Currently the limit is only disabled with Wildlands but IMO animals should spawn all of the time, specially taking into account how much Wilderness changes the game. It would also make balancing rewards simpler.

Units with UNITAI_ANIMAL are currently prevented from entering or even moving through civilization territory. How will it interact with iMinWilderness and iMaxWilderness?

The "currently not used" tags in CIV4UnitInfos.xml are going to get different usage or will they be removed?

I like the movement limits and the tolerance mechanic described in New Global Defines and Movement restriction. Why is BARBARIAN_SPAWNING_SPEED increased WRT vanilla? Would it make sense to create another BARBARIAN_SPAWNING_SPEED_RAGING_BARBARIANS_EXTRA and ANIMAL_SPAWNING_SPEED_WILDLANDS_EXTRA to define how much these game options increase the spawning speed?

How will Wilderness and Nature's Revolt interact with each other? It seems to me as if Nature's Revolt would need an update. It would also make sense to change the Gargoyles created by the Pristine Pass to a spawn if possible, and also to give them appropiate iMinWilderness values to prevent them from entering civilization territory too soon, but allowing them to attack civs directly if they settled deep enough into wilderness. This would also allow to remove the UNITAI_ANIMAL "hack" from them. Besides its usual proximity effect, weaker barbarian golems could also spawn near this feature.

Given that dens are planned to have a simpler implementation, it could be worth to think about new dens besides the bear and lion dens. Wolf dens could appear in low wilderness values while Spider dens could create baby spiders at a very low rate.

That's ok, but we need to figure out what gameoptions exactly we want. A gameoption for BarbarianCultures is already there, it would also include variety among barbarian spawns (A <PrereqGameOption>/<BlockGameOption> tag in SpawnInfos could do that).
I'm not sure about wilderness (for spawns). What should spawn if the wilderness feature is turned off? Since most SpawnInfos don't have iMinWilderness set to 0, that isn't a good criterium. This would probably require another tag, <bNoWildernessvalid> or similar.

I think that the following game options should be enough:

  • Barbarian cultures: This would enable both barbarian cultures and terrain flavour for them.
  • Flavour starts

There are cases in which a gameoption is not worth the effort, and IMO Wilderness is one of those. We would need to have two spawning systems in place (or the new one emulating the old one) and that would imply maintaining both of them, duplicating code and so on. Even if the spawn system you are planning allows to work both with Wilderness and without it in a simple way, it would still need planning, designing and balancing two different sets of spawns.

The gameoption you're asking about is also difficult; Would you want to remove some new resources if it's no checked?
For Strategic resources: I'd like best to just increase the amount of mana in high wilderness, but that's difficult.

I suggested the game option because it seems to me that the placement of bonus based upon wilderness values would affect game balance a lot and disabling that part of Wilderness would be a common suggestion because certain players like vanilla gameplay. Of course with some features making a game option is too complicated and these considerations must be set aside.

Since mapscripts already have resource placement methods, a game option would serve the same purpose than the Flavour starts game option (allowing to disable it if the player prefers to use the mapscript placement method). As long as the rarity of the new resources is maintained with and without the option, I wouldn't mind keeping the new resources in place if the option is disabled.

Since IMO Wilderness does not require a game option, if making a game option just for resource placement is too much work then it's not worth it either and we would only need to balance it correctly enough :)

Another possibility could be keeping resource placement as is and just making certain resources more rare and giving lairs in high wilderness rare rewards that make those resources appear when they are destroyed. This would play along with the "explore the wilderness" theme, not making directly obvious (or even predefined) what you are going to find in it. It would also require careful balancing.

Maybe even a <iPercentGamesActive>, like for EventTriggers.

That gave me a new idea: I think they also should only spawn in a certain area of the map, rather then all over the world. How to do that?
Maybe just a BarbarianCulture for Centaurs and a <PrereqNearCultures> tag... But that's really low priority for now.

Both of those ideas sound good to me. I agree, the second one should be low priority.

I'll try to do a preview release of Wilderness soon; maybe I'll get some more suggestions for rewards, and particularly their names; otherwise I'll just go ahead and make them sound boring. I'll restrict myself on features I consider needed to get an idea what the component does and is capable to do.

Great :)

Will Acheron get his own barbarian culture? I'm not sure if it would be possible but giving Disciples of Acheron and Sons of the Inferno appropiate high level requirements (while still allowing barbarians to upgrade them normally) and allowing Tolerant civs to build them if they conquer Acheron city sounds awesome.
 
Looks good. Since wilderness is calculated at the beginning of the game I'm assuming that the values do not change when a civilization settles new cities into wilderness.
Yes. I'd like it to change over time, but I could't figure out an algorithm how to do that yet. It's pretty complicated. Nevertheless, that should be on the long-run TODO list, I created an issue
Will wilderness allow to spawn animal units throughout all the game? Currently the limit is only disabled with Wildlands but IMO animals should spawn all of the time, specially taking into account how much Wilderness changes the game. It would also make balancing rewards simpler.
You mean animal should spawn all the game by default? I agree.
Units with UNITAI_ANIMAL are currently prevented from entering or even moving through civilization territory. How will it interact with iMinWilderness and iMaxWilderness?
They cannot enter owned territory regardless of wilderness.
The "currently not used" tags in CIV4UnitInfos.xml are going to get different usage or will they be removed?
I'll think about it before removing them, but currently I don't have any ideas. Their use was replaced by the tags in SpawnInfos
I like the movement limits and the tolerance mechanic described in New Global Defines and Movement restriction. Why is BARBARIAN_SPAWNING_SPEED increased WRT vanilla? Would it make sense to create another BARBARIAN_SPAWNING_SPEED_RAGING_BARBARIANS_EXTRA and ANIMAL_SPAWNING_SPEED_WILDLANDS_EXTRA to define how much these game options increase the spawning speed?
The increase is rather experimental, didn't play much with it. I don't remember if I had a particular reason for it to increase it in wilderness.
The defines are a good idea, I'll remove the increase and add them (issue). But both probably should be too high, since the spawning speed is already higher with the wildlands option, since the double amount of animals increases it.
EDIT: Just remembered: The 0.25 value is from vanilla bts. But I think the defines will to better, since some players may not want to high barbarian pressure.
How will Wilderness and Nature's Revolt interact with each other? It seems to me as if Nature's Revolt would need an update. It would also make sense to change the Gargoyles created by the Pristine Pass to a spawn if possible, and also to give them appropiate iMinWilderness values to prevent them from entering civilization territory too soon, but allowing them to attack civs directly if they settled deep enough into wilderness. This would also allow to remove the UNITAI_ANIMAL "hack" from them. Besides its usual proximity effect, weaker barbarian golems could also spawn near this feature.
No idea, I don't know exactly what it does. Created an issue.
Given that dens are planned to have a simpler implementation, it could be worth to think about new dens besides the bear and lion dens. Wolf dens could appear in low wilderness values while Spider dens could create baby spiders at a very low rate.
AFAIK, Wolfs and Spiders are supposed to have no dens, since they can already breed based on combat (spiders can spawn baby spiders, wolfs can spawn wolf packs IIRC). But especially wolves should maybe get the den mechanic instead, since I really never saw them breed (who looses combat against a wolf?). Created an issue.
I think that the following game options should be enough:

  • Barbarian cultures: This would enable both barbarian cultures and terrain flavour for them.
  • Flavour starts

There are cases in which a gameoption is not worth the effort, and IMO Wilderness is one of those. We would need to have two spawning systems in place (or the new one emulating the old one) and that would imply maintaining both of them, duplicating code and so on. Even if the spawn system you are planning allows to work both with Wilderness and without it in a simple way, it would still need planning, designing and balancing two different sets of spawns.

I suggested the game option because it seems to me that the placement of bonus based upon wilderness values would affect game balance a lot and disabling that part of Wilderness would be a common suggestion because certain players like vanilla gameplay. Of course with some features making a game option is too complicated and these considerations must be set aside.

Since mapscripts already have resource placement methods, a game option would serve the same purpose than the Flavour starts game option (allowing to disable it if the player prefers to use the mapscript placement method). As long as the rarity of the new resources is maintained with and without the option, I wouldn't mind keeping the new resources in place if the option is disabled.

Since IMO Wilderness does not require a game option, if making a game option just for resource placement is too much work then it's not worth it either and we would only need to balance it correctly enough :)

Another possibility could be keeping resource placement as is and just making certain resources more rare and giving lairs in high wilderness rare rewards that make those resources appear when they are destroyed. This would play along with the "explore the wilderness" theme, not making directly obvious (or even predefined) what you are going to find in it. It would also require careful balancing.
You're right about the balance work. I'll try to get along without bonus placement for now. The resources appearing is a better idea how to get a similar effect, especially if eventually I'll have respawning lairs. Created an issue.
Will Acheron get his own barbarian culture? I'm not sure if it would be possible but giving Disciples of Acheron and Sons of the Inferno appropiate high level requirements (while still allowing barbarians to upgrade them normally) and allowing Tolerant civs to build them if they conquer Acheron city sounds awesome.

Sounds cool. I'm not sure how the barbarians are allowed to build Disciples and Sons, or if they spawn. I'll have to investigate this (issue)
 
what about making "animals spawn all game" default behaviour and having wildlands option only double the amount ? seems like it would fit with the new wilderness :)
 
[to_xp]Gekko;12738064 said:
current behaviour for barbarian spawning is from BTS, which has a quirk: if you place a unit in the wilderness, nothing can spawn in a 5x5 square around it ( this includes foggy tiles ) . this allows to use just a few wisely placed warriors to keep big areas 100% safe ( Ororo does this in his Bannor let's play if you're curious ) . Wildmana removed this quirk.
Wasn't able to find evidence about this from reading the code. I'll try to reproduce it in-game.

[to_xp]Gekko;12740632 said:
what about making "animals spawn all game" default behaviour and having wildlands option only double the amount ? seems like it would fit with the new wilderness :)
Terkhen already suggested it, will be this way.
 
Back
Top Bottom