New Beta Version - February 18th (2-18)

Status
Not open for further replies.
I know I said this earlier, but pre-wall cities really do need more defense. A warrior that got drill from fighting a barbarian can defeat a city 1v1. The AI just settled a city, and the garrison stepped outside, so I attacked, and took it in two turns with just that one unit.

Or more HP.
 
Or more HP.
No they more strength. Warriors deal like 100 damage and take 7 in response. 4CS is just way too low for a starting point.

I think combat involving cities is really bad currently. Pre-walls cities are a joke, 2 horseman can solo an entire empire, even on deity. This is the worst early combat has ever been in the years I played the mod.

City combat is frankly steadily getting worse with these changes. A warrior in a city takes dramatically more damage from attacks than a warrior outside a city. I'm actually killing units by waiting for them to enter cities. A horse with drill 2 can deal 45 to a city, which also hits the unit inside for 45, inflicting 90 damage total. The same horse, with 2 flanks, does only 33 to a warrior in a forest.

Once walls are built, cities start killing things in one hit. Byzantium has a 25 RCS city on turn 60. Melee are now more or less useless against cities, and it gets worse with castles.

Also, several combat modifiers appear in the window displaying all your combat bonuses and penalties, but don't actually do anything. They don't increase damage predicted or damage dealt. This includes shock's additional flanking, and the 20% bonus for blockading a city, possibly other bonuses too.
 
Once walls are built, cities start killing things in one hit. Byzantium has a 25 RCS city on turn 60.

I've seen this as well, not all the time but on occasion tradition AIs are getting these massive CS boosts in the early game, and I don't just mean their +25% RCS...there base RCS is very high with just walls.

I get used to CS 13-15 or so, and suddenly I see these CS 20 capitals with RCS 25.
 
No they more strength. Warriors deal like 100 damage and take 7 in response. 4CS is just way too low for a starting point.

I think combat involving cities is really bad currently. Pre-walls cities are a joke, 2 horseman can solo an entire empire, even on deity. This is the worst early combat has ever been in the years I played the mod.

City combat is frankly steadily getting worse with these changes. A warrior in a city takes dramatically more damage from attacks than a warrior outside a city. I'm actually killing units by waiting for them to enter cities. A horse with drill 2 can deal 45 to a city, which also hits the unit inside for 45, inflicting 90 damage total. The same horse, with 2 flanks, does only 33 to a warrior in a forest.

Once walls are built, cities start killing things in one hit. Byzantium has a 25 RCS city on turn 60. Melee are now more or less useless against cities, and it gets worse with castles.

Also, several combat modifiers appear in the window displaying all your combat bonuses and penalties, but don't actually do anything. They don't increase damage predicted or damage dealt. This includes shock's additional flanking, and the 20% bonus for blockading a city, possibly other bonuses too.

Drill in early game is invaluable, killing a bunch of barbarians to get drill II is pretty ridiculous against cities and i actually have a harder time clearing encampments than capturing cities.
I agree that the non-walled cities are just too weak and to be honest i don't hate that at all yet There are a lot of "Spikes" that makes transitions from a city getting captured by one unit to a killing machine not very smooth.
i have not encountered the killing machine city in a couple of matches and it seems to be limited to Tradition capitals which is understandable but slightly overtuned, i think the overall damage dealt by a city ranged attack is almost at the right spot aside from tradition capitals.

Slighty unrelated but I'm currently collecting notes, numbers and screenshots about land Melee units VS cities compared to their naval counterparts as i'm constantly noting huge discrepancy in terms of numbers, damage dealt and overall strength VS cities as the game goes longer; naval melee units in the renaissance era and later are actually able to solo a city with the right promotions which is not something i actually enjoy.
 
This is the second match in a row that i see an aggressive Ethiopia DOW for no reason and actually capturing a couple of cities controlled by the Aztecs .... something is not right.
This is Epic speed btw, it's not even the equivalent of T100 on standard speed and all i had was 4 cities
Spoiler Territorial disputes :
Sid Meier's Civilization V (DX11) 2_29_2020 12_40_36.jpg
 
About the AI handicap bonus yields, what if the era progressed in the same way the World Congress does? New iEra for all AI handicaps when three (or more) civs (both human and AI) reach that era, or when any civ is two eras ahead.

This should reduce the likelihood of a single AI snowballing hard, or an AI getting hopeless behind for the rest of the game.
 
This is the second match in a row that i see an aggressive Ethiopia DOW for no reason and actually capturing a couple of cities controlled by the Aztecs .... something is not right.
This is Epic speed btw, it's not even the equivalent of T100 on standard speed and all i had was 4 cities
Spoiler Territorial disputes :

Yeah, this should be improved in the next version.
 
I'll give you an example. If the yield bonus is 20:
......
I've cleaned up this code the next version, so it'll function a bit differently now. Posting for the informed:
......
My suggestion for a "per-turn-based" AI difficulty bonus system.
I wanted to concentrate on 3 points:
  • Balance the yields for small Tradition Empires vs wide Progress/Authority Empires
  • Use self-adjusting elements to cover the length of the game
  • Use self-adjusting elements to help losers and didnt push run-aways
Food:
MedianFood * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - AverageOwnCitySize / AverageGlobalCitySize / 2 ) * ( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
  • Food and city size naturally increase over the length of the game, making it a natural scaling process, no need for 3 different scalers (A/B/C). The difficulty modifier defines how big the base value will be. The function in the brackets adjust the yields toward more food, if the AI cities are smaller than the average city, or decrease it, if the AI cities are already bigger than the average city. The last function increases the total amount of food with more cities, but this food is split on all cities. So, in total, a wide empire gets more food, but relativly seen, tall empires gain more per city.
Hammer/Gold:
MedianHammer * AverageGlobalCitySize * DifficultyModifier * ( 1.25 - OwnMilitaryScore / AverageGlobalMilitaryScore / 4 ) * ( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
MedianGold * AverageGlobalCitySize * DifficultyModifier * ( 1.25 - OwnMilitaryScore / AverageGlobalMilitaryScore / 4 )* ( 1 + 0.05 * NumberOwnCities) / NumberOwnCities

  • If an AI has a lot of units, then its very likely, that it has already constructed most buildings and can afford to support the army. Small tradition empires, which lack the ability to field a lot of units are also those, which need hammer and gold boosts the most.
Culture/Science
MedianCulture * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - NumberOwnPolicies / NumberAverageGlobalPolicies / 2) * ( 1 + PolicyCostIncrease / 2 * NumberOwnCities) / NumberOwnCities
MedianScience * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - NumberOwnTechs / NumberAverageGlobalTechs / 2) * ( 1 + TechCostIncrease / 2 * NumberOwnCities) / NumberOwnCities

  • If the AI is behind in techs/policies, then those AIs get more science/culture to help in catching up and build a bigger middle pack. For any additional city, the tech/policy cost increase is compensated by half its effect. Science/Culture boosts wil have more impact on taller empires, but wide empires will still get more of the yields in total.
Faith:
MedianFaith * AverageGlobalCitySize * DifficultyModifier * ( 1 + 0.05 * NumberOwnCities) / NumberOwnCities

  • I think touching faith is a bit difficult, cause it can create maybe some trouble in balance. Better to stay with the normal increase over time functions and let it be like it is.
Please, note that these handicaps are intended to balance difficulty between eras, and the mileage may vary depending on your chosen civ, and your expertise.
But it's true that there were recent changes and handicaps might not be fine tuned yet. Feel free to tweak it to your tastes.
For a quaranteed increase in yields for the AI and a harder fight in the late game, another short function could be added:

(....) * ( 0.9 + 0.1 * Era )
 
Last edited:
You are really into detailed proposals, aren't you?
German Engineering, we love to solve problems, even those we self have created before. :)
Its only a suggestion, an idea which might push the developers into a direction they maybe diddnt have thought before. I know its only a pseudo-code, but I am also sure, Gazebo&Co know what I mean.
 
( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
You know that there is not much difference with just (1 / NumberOwnCities), right?
Leave it at (1 + 0.01 * NumberOwnedCities), the scalers should do the rest.

( 1.5 - AverageOwnCitySize / AverageGlobalCitySize / 2 )
So, a player with really big tall cities might be losing food, instead of gaining it?
"AverageOwnCitySize / AverageGlobalCitySize" goes from 0 to infinite, though it's more likely to go from 0.5 to 2.
Leave it at "(AverageGlobalCitySize / max(AverageOwnCitySize, 1))" as a factor, so the bigger AI cities are respect to the world average, the fewer the food the AI gets.

If an AI has a lot of units, then its very likely, that it has already constructed most building
But it also could mean that the player stance is WAR and the player invested a whole lot in units and not in buildings. With this change such players would not benefit from production after investing in an army, not ideal for AI that are not that good at conquering other AI.

no need for 3 different scalers (A/B/C)
These scalers factor the strengths of humans vs AI in every era. Scaling only with the city size will not match the human player progress correctly.

Anyways, there's some wisdom in dampening the bonuses with the already made progress. A little bit of this could work for comeback AI, but too much of it could make all players look too similar, or feel too bouncy.
Basically, your idea is to give less food to players that already have big cities, less hammers to players that already have a huge production (though I would rather use another metric), less culture to civs that are ahead in policies and less science to civs that are ahead in techs.
 
My suggestion for a "per-turn-based" AI difficulty bonus system.
I wanted to concentrate on 3 points:
  • Balance the yields for small Tradition Empires vs wide Progress/Authority Empires
  • Use self-adjusting elements to cover the length of the game
  • Use self-adjusting elements to help losers and didnt push run-aways
Food:
MedianFood * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - AverageOwnCitySize / AverageGlobalCitySize / 2 ) * ( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
  • Food and city size naturally increase over the length of the game, making it a natural scaling process, no need for 3 different scalers (A/B/C). The difficulty modifier defines how big the base value will be. The function in the brackets adjust the yields toward more food, if the AI cities are smaller than the average city, or decrease it, if the AI cities are already bigger than the average city. The last function increases the total amount of food with more cities, but this food is split on all cities. So, in total, a wide empire gets more food, but relativly seen, tall empires gain more per city.
Hammer/Gold:
MedianHammer * AverageGlobalCitySize * DifficultyModifier * ( 1.25 - OwnMilitaryScore / AverageGlobalMilitaryScore / 4 ) * ( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
MedianGold * AverageGlobalCitySize * DifficultyModifier * ( 1.25 - OwnMilitaryScore / AverageGlobalMilitaryScore / 4 )* ( 1 + 0.05 * NumberOwnCities) / NumberOwnCities

  • If an AI has a lot of units, then its very likely, that it has already constructed most buildings and can afford to support the army. Small tradition empires, which lack the ability to field a lot of units are also those, which need hammer and gold boosts the most.
Culture/Science
MedianCulture * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - NumberOwnPolicies / NumberAverageGlobalPolicies / 2) * ( 1 + PolicyCostIncrease / 2 * NumberOwnCities) / NumberOwnCities
MedianScience * AverageGlobalCitySize * DifficultyModifier * ( 1.5 - NumberOwnTechs / NumberAverageGlobalTechs / 2) * ( 1 + TechCostIncrease / 2 * NumberOwnCities) / NumberOwnCities

  • If the AI is behind in techs/policies, then those AIs get more science/culture to help in catching up and build a bigger middle pack. For any additional city, the tech/policy cost increase is compensated by half its effect. Science/Culture boosts wil have more impact on taller empires, but wide empires will still get more of the yields in total.
Faith:
MedianFaith * AverageGlobalCitySize * DifficultyModifier * ( 1 + 0.05 * NumberOwnCities) / NumberOwnCities

  • I think touching faith is a bit difficult, cause it can create maybe some trouble in balance. Better to stay with the normal increase over time functions and let it be like it is.

For a quaranteed increase in yields for the AI and a harder fight in the late game, another short function could be added:

(....) * ( 0.9 + 0.1 * Era )

I don't like the idea of rubberband AI that gets bonuses whenever they fall behind. Rubberband AI makes victory feel kind of meaningless.

I'd prefer a bonus that's consistent for all AI players regardless of how well or poorly they're doing.
 
You know that there is not much difference with just (1 / NumberOwnCities), right?
Leave it at (1 + 0.01 * NumberOwnedCities), the scalers should do the rest.
This is not the same. Currently, an AI with 10 cities get 5 times more hammers for entering a new era than an AI with only 2 cities. This favors wide empires much much more than tall empires.
In my suggestion, a 5 city empire would gain 100+50 yields in total, split on 5 cities, so its 30 for each city. A 10 city empire would gain 100+100 yields, split on 10 cities this is only 20.
Wide empires still get more yields (+33%), but per city, it is more effective on tall cities (+50%), which is in my eyes a good compromise.
So, a player with really big tall cities might be losing food, instead of gaining it?
"AverageOwnCitySize / AverageGlobalCitySize" goes from 0 to infinite, though it's more likely to go from 0.5 to 2.
Leave it at "(AverageGlobalCitySize / max(AverageOwnCitySize, 1))" as a factor, so the bigger AI cities are respect to the world average, the fewer the food the AI gets.
Ok, your way removes the need for another function, which checks for a maximum and minimum. But you have made a little mistake, I think, what you mean is this:
"(AverageGlobalCitySize / max(AverageOwnCitySize, AverageGlobalCitySize))"
But it also could mean that the player stance is WAR and the player invested a whole lot in units and not in buildings. With this change such players would not benefit from production after investing in an army, not ideal for AI that are not that good at conquering other AI.
My first idea was to check for the average number of buildings in each city, but I didnt knew if it is possible to count only the "standard" buildings, and not buildings from tradition policy tree, national wonders or religious buildings. If its possible to count only the standard buildings, then I would prefer that solution.
These scalers factor the strengths of humans vs AI in every era. Scaling only with the city size will not match the human player progress correctly.
As written, if the yields didnt scale well enough into the late game, a soft era scaler (0.9 + 0.1 * era) could be integrated.
Stalker showed, that it is no problem to track the additional yields for each AI over the length of the game. If we can track also the medians for each yield type (should be easy too), I am able to calculate a function which give similar yields over the length of the game to each AI.

I'd prefer a bonus that's consistent for all AI players regardless of how well or poorly they're doing.
A 5 city empire entering a new era would get 5 times culture, while its policy cost has increased to 140%.
A 20 city empire entering a new era would get 20 times culture, while its policy cost has increased to 290%.
The wide empire has to pay double as much culture to get a new policy, but it gets four times more culture. The "well" doing empire benefits more, so the current system misses that aim and favors runaways.
 
Last edited:
This is not the same. Currently, an AI with 10 cities get 5 times more hammers for entering a new era than an AI with only 2 cities. This favors wide empires much much more than tall empires.
In my suggestion, a 5 city empire would gain 100+50 yields in total, split on 5 cities, so its 30 for each city. A 10 city empire would gain 100+100 yields, split on 10 cities this is only 20.
Wide empires still get more yields (+33%), but per city, it is more effective on tall cities (+50%), which is in my eyes a good compromise.

Ok, your way removes the need for another function, which checks for a maximum and minimum. But you have made a little mistake, I think, what you mean is this:
"(AverageGlobalCitySize / max(AverageOwnCitySize, AverageGlobalCitySize))"

My first idea was to check for the average number of buildings in each city, but I didnt knew if it is possible to count only the "standard" buildings, and not buildings from tradition policy tree, national wonders or religious buildings. If its possible to count only the standard buildings, then I would prefer that solution.

As written, if the yields didnt scale well enough into the late game, a soft era scaler (0.9 + 0.1 * era) could be integrated.
Stalker showed, that it is no problem to track the additional yields for each AI over the length of the game. If we can track also the medians for each yield type (should be easy too), I am able to calculate a function which give similar yields over the length of the game to each AI.


A 5 city empire entering a new era would get 5 times culture, while its policy cost has increased to 140%.
A 20 city empire entering a new era would get 20 times culture, while its policy cost has increased to 290%.
The wide empire has to pay double as much culture to get a new policy, but it gets four times more culture. The "well" doing empire benefits more, so the current misses that aim and favors runaways.

I proposed scaling it by number of cities myself. What I take issue with is the idea of rewarding AIs who are doing poorly by increasing their bonuses, not equalizing the bonuses between Tall and Wide.

I'm not saying your system does that, just wanna make note of it. I skimmed over it and saw "median yields" and "players doing poorly get more bonuses". Am on my phone so I have trouble reading large text walls in full. :)
 
I proposed scaling it by number of cities myself. What I take issue with is the idea of rewarding AIs who are doing poorly by increasing their bonuses, not equalizing the bonuses between Tall and Wide.

I'm not saying your system does that, just wanna make note of it. I skimmed over it and saw "median yields" and "players doing poorly get more bonuses". Am on my phone so I have trouble reading large text walls in full. :)
Ok, the thing you and tu_79 criticise, is the rubber band mechanic. Its ok. I have personally nothing against backwater civs nor against AI runaways, but I thought doing something to decrease the extremes might be in favor.
Then lets throw that away and make it more difficulty for the human by some era scaling:

:c5food:/:c5production:/:c5gold:/:c5faith:
MedianYield * AverageGlobalCitySize * DifficultyModifier * ( 0.9 + 0.1 * Era) * ( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
:c5culture:/:c5science:
MedianYield * AverageGlobalCitySize * DifficultyModifier * ( 0.9 + 0.1 * Era) * ( 1 + [CostIncrease / 2] * NumberOwnCities) / NumberOwnCities
 
It is correct, it does have 'Air supremacy i', which should give 100% combat bonus vs air units/helicopter, but it seems that doesn't work/apply, I will report it on github.
Triplane as well !!

"especially effective against enemy helicopters"
is for PROMOTION_ANTI_HELICOPTER given to Jet Fighter (IMO)
 
Triplane as well !!

"especially effective against enemy helicopters"
is for PROMOTION_ANTI_HELICOPTER given to Jet Fighter (IMO)
If think that when it's fixed for fighter it's fixed for all units that use the promotion. The problem seems to be with the promotion.
 
What I take issue with is the idea of rewarding AIs who are doing poorly by increasing their bonuses, not equalizing the bonuses between Tall and Wide.
If all players get the same bonus in a per turn basis, players that are faring poorly will get relatively bigger yields. It's also a kind of rubberbanding, although less noticeable.

( 1 + 0.1 * NumberOwnCities) / NumberOwnCities
Ok, I understand now. These yields are for every city, so that's why you divide it by the number of owned cities.
 
If all players get the same bonus in a per turn basis, players that are faring poorly will get relatively bigger yields. It's also a kind of rubberbanding, although less noticeable.


Ok, I understand now. These yields are for every city, so that's why you divide it by the number of owned cities.

Rubberbanding is when the AI gets progressively stronger the more they fall behind and/or progressively weaker the more they get ahead.

It's a fair point that with a consistent bonus, weaker AIs benefit more than stronger ones, but it's not rubberbanding; the stronger ones would still receive the same bonus, and it wouldn't be as ridiculous as, say, an 8th place AI vassal receiving huge Production bonuses for being far behind.

Some level of AI catchup is inevitable if you give them all a difficulty bonus, due to the nature of the game.

I think we can give the revised event-based system a shot next version, anyway.
 
Last edited:
I just finished a conquest game with the 2/18 patch. Cities are way, way too weak. While I agree that cities in BNW are OP and too strong, in this patch I feel they are a lot too weak especially against melee attacks.

I was ahead a bit on science but not by much really. Especially the strongest opponent was fielding similar units. Riflemen vs rifleman. My advantage was landships and simply more units.

The problem are melee attacks. Especially landships and tanks and even more so Ironclad and destroyers. In fact these do more damage than ranged attacks including artillery or bombers. In fact it makes artillery or other ranged units pretty much useless as it's too slow if you have an army of tanks.
in fact early on I was behind in science and already noticed that I don't really need siege units and could take cities with mandekalu cavalry (I played as songhai, random). Didn't think too much about it then but the issue as mentioned above just got worse and worse.

I could take a city with a single tank that had blitz. It inflicts a huge amount of damage while barley taking any. 2 turns with 1 tank and city is mine. same with a destroyer with blitz.(yes they had a garrison in it)

Previous versions were much better in that regard. relatively weak city attack so that one could go near it and siege without too much risk but then you did need ranged/artillery support to take it.

IMHO these last patches overdid the city defense weakening.

This forces one to build a lot of units or else one will lose cities. It forces a waring style. When I have to invest a ton in units, I want to use them, offensively else they are a waste of resources.

On top of that the India-Religion Growth thing seems to be extremely OP at least on lower difficulty. (see attachment)
 

Attachments

  • India overpowered.jpg
    India overpowered.jpg
    490.4 KB · Views: 71
Status
Not open for further replies.
Top Bottom