BarbsPlus for ExtraModMod Preview and Discussion Thread

Version 0.0.3_alpha released

Download

Revision: barb_cultures 2177

Now containing TerrainFlavour and BarbarianCultures components.

Patches ExtraModMod 0.3.1 (see opening post).

Fixes
  • Fixed two CTDs
  • Barbarian players no longer raze non-animal and non-permanent lairs (hellfire)
  • Min and Max wilderness for Lairs fixed: lairs can now only be placed if they can spawn units. This should solve the problem of having many undefended lairs.

Features
Wilderness:
  • Animals now need a certain age or level to create a den
  • Reduced animal lair spawning for wildlands gameoption (now 1.5 times faster instead of 2 times)
  • Barbs will now more stay in appropriate wilderness, even if raging barbarians is enabled.
  • Lairs can now spawn guardians on creation. Used for animal lairs (normal spawns), ruins (a little stronger spawns) and goblin forts (weak scorpion clan archers in low wilderness, normal ones in high wilderness)
  • Animals don't leave their terrain if possible when randomly moving
  • Acheron now requires a min wilderness and cannot be build in captured cities
  • Features are not erased when placing lairs (from Orbis by Ahwaric), adjusted lair graphics configuration to remove trees.
  • Better tech requirements for non-spawn lair outcomes
  • Barbs and animals now spawn on visible tiles regardless of wilderness, but slower and not on tiles adjacent to borders
TerrainFlavour:
  • Flavour start gameoption: Places civilizations on the map considering nearby terrain.
BarbarianCultures:
  • Each barbarian city now has a "culture", which is determined on city placement, considering surrounding terrain.
  • Cultures affect citystyle, unit art style, produced units, race etc. like civilizations. Tolerant players can build their UUs and UBs in the respective cities.
  • Currently implemented cultures:
    • Orcs (Found everywhere, but most commonly in jungle, adopt the properties of the standard barbarian civilization including Acheron and Tumtum)
    • Humans (Found in more fertile lands, doviello citystyle, standard artstyle, use the savage line as UUs (savage/bandit/bandit lord))
    • Winterborns (Found in cold climate, illian style, only javelin thrower UU)
    • Nomads (Found in desert, malakim style, malakim UUs and some of their UBs)
  • Gameoption to enable/disable the cultures
  • Tolerant civs can build some units that barbarians cannot build in former barbarian cities (f.e. adepts and shamans)
  • Free Defenders for Barbarian Cities are city's culture Archer/Longbowman UU

Code
Wilderness:
  • Moved animal lair spawning system from UnitType-dependent Spells to SpawnInfos
  • Added tag comments for different components for easier merging (See SearchStrings.txt)
  • Adding CvXMLLoadUtility::SetVariableList() to avoid duplicate code
  • SpawnInfos now use TerrainFlavourInfo instead of own tags
TerrainFlavour:
  • New TerrainFlavour Infotype, used for flavour start, barbarian cultures and spawns.
  • Considers: isolation (flavour start only), coastal location, plot type (water/land/hills/peak), terrain, feature, improvement, bonus, yield.
BarbarianCultures:
  • System can also be used to define cultures also for non-barbarian civilizations.

Credits:
  • Kael and the Fall from Heaven 2 team
  • Tholal and contributors - More Naval AI
  • Terkhen and contributors - ExtraModMod
  • Sephi and the Master of Mana Team - Borrowed ideas and code
  • Valkrionn and the Rise from Erebus Team - Borrowed ideas and code
  • Ahwaric, MagisterCultuum, Pazyryk - Borrowed ideas and code
  • The Realism Invictus Team - Borrowed ideas
  • Ploeperpengel - Art
  • Dancing Hoskuld - Help with Art
 
awesome, keep up the great work! I have two questions:

1) where's the code that handles flavourvalues for starting spots?

2) does the starting position shuffling code run before the code that clears forests for non-elves?
 
Those features sound awesome :)

The development of BarbsPlus is going so fast that if everything goes well we could start planning a partial inclusion in ExtraModMod relatively soon (after EMM 0.4.0 is released and branched, for example).

I hope to have time this weekend to play a test game with this new version. It is true that debug versions are quite slower but I'll try to keep it for at least the first 100 turns.
 
[to_xp]Gekko;12828109 said:
awesome, keep up the great work! I have two questions:

1) where's the code that handles flavourvalues for starting spots?

2) does the starting position shuffling code run before the code that clears forests for non-elves?

1) XML/Terrain/CIV4TerrainFlavourInfos.xml. The first few are for the civilizations. I'd appreciate any playing around with values, if you have questions don't hesitate to ask (I think I wrote a documentation for that some time ago, have to check that).

2) Yes, it runs directly after starting point assignment.

Those features sound awesome :)

The development of BarbsPlus is going so fast that if everything goes well we could start planning a partial inclusion in ExtraModMod relatively soon (after EMM 0.4.0 is released and branched, for example).

I hope to have time this weekend to play a test game with this new version. It is true that debug versions are quite slower but I'll try to keep it for at least the first 100 turns.

OK. I'm planning to focus the next version on polishing and stability of the existing features, so after the next release of barbsplus it may be a good time for that.
I recently added tag-like comments to the wilderness code (but not to barbcultures or terrainflavour), so a partial merge should not be that much of a problem. Please let me know when you know what parts you want to have (firstly), I'll consider putting those into a new branch.
 
OK. I'm planning to focus the next version on polishing and stability of the existing features, so after the next release of barbsplus it may be a good time for that.
I recently added tag-like comments to the wilderness code (but not to barbcultures or terrainflavour), so a partial merge should not be that much of a problem. Please let me know when you know what parts you want to have (firstly), I'll consider putting those into a new branch.

I'm sorry, an accumulation of real life stuff has prevented me from testing BarbsPlus. I'll keep you posted :)

If possible I think that it would be best to include only a single component of BarbsPlus in 0.4.0. Since it seems that Wilderness is the most stable branch of the bunch (and it may be the one who needs more feedback with regard to balance), if there are no problems with regard to dependencies IMO we should aim for including Wilderness on 0.4.0. All other features could go in the next major version.
 
I finally managed to steal enough time from my routine to play a test game. Before it I ran four 300 turn automated games with no crashes or infinite loops so I think those problems are now fixed :)

For this game, I chose to play on the new version of MapScriptTools Erebus I'm tweaking for EMM 0.4.0 on a toroidal large map but with only 6 civilizations. I played with Raging Barbarians, Barbarian World, Living World, Compact Enforced and All Unique Features. I played on Prince with a random leader and civilization, and I got Furia the Mad of the Balseraphs.

Acheron appeared on the fourth turn, which seems a bit too soon to me (it appeared far away from all civilizations correctly, though). I explored a nearby lair really soon and got 117 gold in return. Orthus appeared on turn 52. The first barbarian Ranger appeared on turn 120. I got bored of this setup (too many barbarian units!) so I decided to start a new game with normal barbarians to try to capture animals. I was being attacked by human and orc barbarians already, and the barbarian cities I saw had cultures fitting their environment.

In the second game I used the same map setup. For game options I chose Wildlands, Living World, Compact Enforced and All Unique Features. In this game I chose to be Amelanchier of the Ljosalfar. The wandering lizardmen with the Weak promotion that spawn in low wilderness areas are a nice touch :)

As I managed to capture more and more animals, my economy became crippled. Since I soon had too many wolves I agree that something on the lines of Issue #75 - Use for excess tamed animals would be great to have. Sacrificing animals in a city with a Smokehouse could grant a small amount of food. I also suggest moving the "sell animal" requirement from the Market to the Hunting Lodge. In the early game, usually when you have markets your money problems are already gone and this would also reward players who decide to pursue Hunting early to get many animals. My neighbours, the Amurites, declared war on me with two huge warrior stacks, forcing me to stay on the defensive. I'll continue the game on another day.

BTW, the Wildlands tooltip mentions that it "allows animals to spawn thorough all the game". I thought that in BarbsPlus this was the case even if the option is disabled.

With regard to the merge, since terrain_flavour has a more limited scope it shouldn't be a problem to merge it too. 0.4.0 is still missing the new MapScripts and many smaller tweaks and since the time I have is not increasing it'll still be weeks or a month until release so there is no hurry.
 
Acheron appeared on the fourth turn, which seems a bit too soon to me (it appeared far away from all civilizations correctly, though).
He comes mostly that soon with Barbarian World enabled. While it feels kind of wrong to me, too, I think it's better that way, because you either way reach him only later, and the sooner he appears the more planning security you have (you can more easily avoid being taken by surprise by Acheron appearing near to your cities)
I explored a nearby lair really soon and got 117 gold in return. Orthus appeared on turn 52. The first barbarian Ranger appeared on turn 120.
Orthus is hardcoded AFAIK. I don't think I'll change anything ragarding him for some time.
How did the ranger appear? Ruins in high wilderness spawn with rander defenders (while I think of it, they should probably get weak).
I got bored of this setup (too many barbarian units!) so I decided to start a new game with normal barbarians to try to capture animals. I was being attacked by human and orc barbarians already, and the barbarian cities I saw had cultures fitting their environment.
I have not much time at the moment, but I'll watch the amount of barbs in my next games and possibly reduce the barb spawning again.
Were you able to notice that a big majority of the barbarians came from lairs respectively random spawning or cities?
In the second game I used the same map setup. For game options I chose Wildlands, Living World, Compact Enforced and All Unique Features. In this game I chose to be Amelanchier of the Ljosalfar. The wandering lizardmen with the Weak promotion that spawn in low wilderness areas are a nice touch :)

As I managed to capture more and more animals, my economy became crippled. Since I soon had too many wolves I agree that something on the lines of Issue #75 - Use for excess tamed animals would be great to have.
Yes, the need to disband animal units due to their upkeep was the main reason why I thought of that.
Sacrificing animals in a city with a Smokehouse could grant a small amount of food.
I'm not sure, but do people really eat meat from wolfs or bears (I mean usually)?
For gameplay I think it's a good idea.
I also suggest moving the "sell animal" requirement from the Market to the Hunting Lodge. In the early game, usually when you have markets your money problems are already gone and this would also reward players who decide to pursue Hunting early to get many animals.
Agreed.
BTW, the Wildlands tooltip mentions that it "allows animals to spawn thorough all the game". I thought that in BarbsPlus this was the case even if the option is disabled.
Oh, thanks, I though I already changed that. Yes, animals always spawn all game.
With regard to the merge, since terrain_flavour has a more limited scope it shouldn't be a problem to merge it too. 0.4.0 is still missing the new MapScripts and many smaller tweaks and since the time I have is not increasing it'll still be weeks or a month until release so there is no hurry.

OK :)
 
that thing about Acheron spawning on turn 4 is a side-effect of the Barbarian World gameoption which was fixed in Wildmana. the dragon's hoard has a superlow hammer cost in FFH, because normally it doesn't matter ( the thing that matters is instead: how long it takes for barbarian cities to start appearing )

however, that gameoption means that the hoard gets built right away which is not intended :)
 
He comes mostly that soon with Barbarian World enabled. While it feels kind of wrong to me, too, I think it's better that way, because you either way reach him only later, and the sooner he appears the more planning security you have (you can more easily avoid being taken by surprise by Acheron appearing near to your cities)

I agree.

Orthus is hardcoded AFAIK. I don't think I'll change anything ragarding him for some time.

Ok, I was just commenting it in case it was relevant :)

How did the ranger appear? Ruins in high wilderness spawn with rander defenders (while I think of it, they should probably get weak).

It was wandering, and there were some ruins nearby. It wasn't very high wilderness IIRC, it was probably about 30 or 40 and certainly below 50.

I have not much time at the moment, but I'll watch the amount of barbs in my next games and possibly reduce the barb spawning again.

IMO the amount of barbarians in that game was fine. Raging barbarians plus being surrounded of barbarian cities is meant to produce a lot of barbarian units. I got bored because I choose my settings poorly, I don't think this was a BarbsPlus issue :)

Were you able to notice that a big majority of the barbarians came from lairs respectively random spawning or cities?

I think that most of them came from the wilderness, but a noticeable amount came from two nearby cities.

I'm not sure, but do people really eat meat from wolfs or bears (I mean usually)? For gameplay I think it's a good idea.

Oh, I agree. The money option should be enough anyways, I think.
 
I decided to incorporate a first version of the excess animal use feature in the next released version, so it's delayed a bit again.

Is anybody (Tasunke maybe?) interested in a minor preview release this weekend, mainly for the new lair exploration system, without changelog and much testing?

I'm sorry, this weekend I'll be busy staying with the family. It's great to see that BarbsPlus is progressing so much lately :)
 
Finally...

Version 0.0.4_alpha released (2013-11-15)

Download

Revision: barb_cultures 2288

Patches ExtraModMod 0.3.1 (see opening post).

Includes ExtraModMod repository up to 2013-11-03 (Commit 2564464)

Fixes
  • Entirely removed Hollow Man Spawn from Letum Frigus (disabled before), was causing AI issues (Letum Frigus was considered as a lair)
  • Wolf Trophy now displayed correctly
  • Corrected Text of Wildlands tooltip
  • Units with minWilderness can't load onto ship. Barbs can still use units produced in cities for sea assault. Might change in the future.
  • Added playercolor to culture pseudo-civs to prevent pedia issues.

Features
  • Lair Guardians for Barrows
  • Scorpions no longer grant poisoned blade through Nature II, but the Scorpion Pen building.
  • Animals grant the promotions their buildings give to units capturing them.
  • Animals can be sold at the hunting lodge. More gold for griffons, elephants and jungle animals, less for insects. Much more gold for high-level units. Dynamic help text shows actual amount.
  • Exploration Results now depend on plot wilderness and lair level of the unit (displayed in hover text), which depends on it's real level and other bonuses. If a unit with inappropriate lair level or combat strength explores a lair in too far wilderness, bad lair results are more likely (like bad promotions). There is a fixed chance for units to spawn. The strength of these units only depends on wilderness. Dynamic help text also for the explore lair spell. (Special thanks to Tasunke)
  • Updated SpawnInfos, particularly spawns from lairs
  • No more simultaneous spawning on adjacent tiles

Code
  • Added unit exploration level calculation
  • Added <bExplorable> tag to ImprovementInfo; added canDoExploration() function in CvUnit (for better AI and UI)
  • Added <PyHelp> tag to SpellInfos.

AI
  • City placing now considers plot wilderness
  • A Unit will (hopefully) only walk to a explorable lair if it can actually explore it.

Credits:
  • Kael and the Fall from Heaven 2 team
  • Tholal and contributors - More Naval AI
  • Terkhen and contributors - ExtraModMod
  • Sephi and the Master of Mana Team - Borrowed ideas and code
  • Valkrionn and the Rise from Erebus Team - Borrowed ideas and code
  • Ahwaric, MagisterCultuum, Pazyryk - Borrowed ideas and code
  • The Realism Invictus Team - Borrowed ideas
  • Ploeperpengel - Art
  • Dancing Hoskuld - Help with Art
  • Tasunke - New Lair Exploration Level system and much more useful feedback

attachment.php


I'm open for any suggestions on better wording. "exploration skill here" means the lair level of the unit compared with the wilderness value of the lair.

attachment.php


I think the gold you gain from animals may be a bit too much at the moment, but you also loose some gold from the upkeep while getting the animal to a city with a hunting lodge.
 

Attachments

  • lair_level.bmp
    lair_level.bmp
    68 KB · Views: 367
  • sell_animal.png
    sell_animal.png
    231.4 KB · Views: 363
Finally...

Version 0.0.4_alpha released (2013-11-15)

Great! I tried to start a test game but I was met with an error:

attachment.php



At first I assumed it was an error on ExtraModMod because recently Tholal added many puppet states changes that were already merged in the EMM version you used, but I did not manage to reproduce it with the latest development revision.

I'm open for any suggestions on better wording. "exploration skill here" means the lair level of the unit compared with the wilderness value of the lair.

What about using simply "Exploration odds"? It would match similar lines such as "Combat odds" and "Retreat odds".
 

Attachments

  • error.png
    error.png
    50.4 KB · Views: 362
Spoiler :
iwr1.jpg


And ONLY recon units get trophy bonuses, but description says - all.

To all is OP, for recon units - ok

and contrary to lair exploration description - instead of good results and small chances of bad result I'm getting with "very good " skill - insanely bad results... (alazkan the assassin explores...) for instance - 6 wood golems+gargoyle+...etc...

preparation/description: tried several times, I have "new random seed on reload " active. I know, no more random spawning on lairs, tested just in case...
Spoiler :

iin2.jpg


Results: always very bad...

Spoiler :
j44j.jpg



AI tends to send its trade caravans to nearest player/AI city... withot barbs, animals...maybe its worth a shot but with spawning in wilderness those defenseless caravans cannot survive

I have not tested it but by using its world spell - doviello could sell all wolves...nice money...
 
Terkhen: Hmm, I tried reinstalling MNAI 2.5 -> EMM 0.3.1 -> BP 0.0.4, and got no such error. Maybe you copied the files over a wrong base version?

Exploration odds sounds good, thanks!

Spoiler :
iwr1.jpg
Thanks, I'll look into it.
And ONLY recon units get trophy bonuses, but description says - all.
To all is OP, for recon units - ok
I think this is standard behavior. You have to look at the valid unitcombats for the promotions itself (the Bear Trophy promotion is available for melee and recon units, all other only for recon)
and contrary to lair exploration description - instead of good results and small chances of bad result I'm getting with "very good " skill - insanely bad results... (alazkan the assassin explores...) for instance - 6 wood golems+gargoyle+...etc...
I forgot to mention an important thing: Lair Exploration Spawns aren't affected by lair level at all, they're just affected by wilderness. There is a fixed chance that something spawns. Else something other happens, f.e. a promotion is applied or you get a great person.
The reason for this is mainly that it isn't realistic to get weak spawns just because your units have a high level. Also units spawning will be actually something good if your unit can defeat it, since it gets XP. I also plan to add extra bonuses to particularly nasty units.

The other outcome possibilities are tied to three factors: the lair wilderness (the plot wilderness + 40 if the lair is epic), the unit's lair level, and the difference between the two, the "exploration odds" (Unit's exploration skill here in the screenshot).

The exploration odds must be positive (lair level +- a bit random must be greater than lair wilderness value) to get good results.
The higher the lair wilderness, the better these good results. So if you have "Very Good" exploration odds, you can be pretty sure you'll get something good (if you don't get a spawn), but really good is it only in higher wilderness, and there it is much harder to get "Very Good" exploration odds (also the spawns will be much stronger).

At the moment, bad outcomes (still non-spawn outcomes) only partly require negative exploration odds (some only require a low lair level), but as I think of that, I will change that. It is counter-intuitive to get crazed while having "very good" odds, just because the lair level of the unit is low.

Still, the spawns are probably not very well balanced, and maybe too strong sometimes.

"Lair dangerousness" should be renamed somehow, since it means higher danger AND higher reward, and maybe also be colored.

preparation/description: tried several times, I have "new random seed on reload " active. I know, no more random spawning on lairs, tested just in case...
Spoiler :

iin2.jpg
I think you didn't properly understand "no more random spawning on lairs", it is almost purely technical. Just ignore it.
AI tends to send its trade caravans to nearest player/AI city... withot barbs, animals...maybe its worth a shot but with spawning in wilderness those defenseless caravans cannot survive
What do you mean by "trade caravans"? Great merchants?
I have not tested it but by using its world spell - doviello could sell all wolves...nice money...

They can't :). I also thought of it and added a block for them.
 
There are caravans in FFH.
Why not just call it Lair Danger? That works and sounds better then dangerousness.
 
I would say :
lair level: (instead of dangerousness)
and
Explorer's Chances (instead of exploration skills here)
 
Thank you for your suggestions. I think I'll make it in the following way:

"Lair level" of unit -> "Exploration skills". It's currently displayed in the unit hover text as a number, may change to a more general "Good" or "Bad" or be dropped entirely.
"Lair danger(ousness)" -> "Lair level". It's more accurate that way (higher danger means higher reward).
"Exploration skills here" -> "Exploration odds". For me that sounds better than "Explorer's Chances".
 
Back
Top Bottom