Closed RecursiveVision closed 3 years ago
well it wasn't considered before ... but i can add this trait. what should be the exact effect though?
@ilteroi Well the primary reason why you'd want to limit number of cities settled would be for Tourism...
The game calls GC.getMap().getWorldInfo().GetNumCitiesTourismCostMod() (5 by default but differs based on map size), and multiplies it by the player's # of non-puppet cities (not counting their capital) to get X.
Then subtracts max(X, -75) from the player's tourism output.
This code is in CvCityCulture::CalculateBaseTourism(), by the way!
So my suggestion is (in pseudocode):
if (GetPlayer()->GetPlayerTraits()->IsSmaller() || GetPlayer()->GetPlayerTraits()->IsTourism())
{
iMod = GC.getMap().getWorldInfo().GetNumCitiesTourismCostMod() * (iCurrentNonPuppetCities - 1);
(or cities + Settlers, if you're changing Settler production logic)
if (iMod > arbitrary value somewhere between 0 and 75)
{
don't settle any more Cities/build any more Settlers;
}
}
There's also GetPlayer()->GetPlayerTraits()->IsExpansionist() for civs which favor lots of expansion...
well the value of the arbitrary value is exactly the question :)
and additionally, what is the relation between the personality flavors and the traits?
is IsExpansionist() the same as a high FLAVOR_EXPANSION? then that should be considered in the actual settler production decision.
@ilteroi Trait = Unique Ability.
Flavors are unrelated, although expansionist leaders will likely have higher EXPANSION flavors in the XML as well, either as a result of their diplomacy flavors or the leader specific overrides.
And I'm not really good at balance, but maybe 25-30%? That would allow for 5-6 satellite cities on top of the capital, and be less than half of the maximum penalty.
Do we really want to artificially limit AI desire to expand? (if that's not the case already lol)
I mean, sure, for tourism few cities fully packed with GWs are probably the best, but lots of (good) cities in general is just universally so much better for everything else. Heck, maybe lots of culturally strong cities with hotels and such could be even better (or at least comparable)?
I'm just afraid of a scenario where a Civ stops expanding (even when they could grab good spots), just to be better in one specific area (that also starting to have most of its effect in the late-game). A small civ is potentially easy prey for other big ones.
I'm not necessarily against the idea, just having these concerns, that's all.
From what I've seen in games the AIs are already quite different in their settling habits.
expansion speed is a difficult topic because of the many variables ... map, exploration, personality, production choices, happiness, etc.
AI should be expanding more in the next version, i removed the hard cap of 5 "early" cities. instead there is now a soft cap depending on available space and traits. but let's watch it.
@ilteroi Feedback from the forums:
I've seen that progress AI really takes its time with settling their 2nd city. (Russia, Assyria) Round 80+ in Epic Games. After the 2nd city the continue to expand normally (if they can). (Seen with hotfix 2 and 3)
@ilteroi Certain civs (particularly those who would return true for GetPlayer()->GetPlayerTraits()->IsSmaller(), benefit from having fewer cities, because each city increases the cost of culture/science and reduces the amount of tourism that civ produces. Should that be accounted for in AI expansion logic?
You can puppet others' cities to avoid getting that penalty but not your own (unless you're Venice), after all...