Balance - The "Wide vs Tall" Problem

I'm amazed that settler idea hasn't been floated before, seems like a good way to go.

@Wodhann
I re-read your idea and I am coming round to it, could have merit I think. Glad you stuck to your guns on that.

So if I am looking at these ideas correctly, we should be:
1) moving to change how the unhappiness factor for new cities is generated and
2) change the method of production costs for new cities (ie making settlers via food not hammers)

Is that right?
Right on both accounts. I'm glad someone finally caught up to the fact my last idea isn't all that "revolutionary" as my other iterations - it's just a shift from a flat amount of unhappiness to a more dynamic approach.
 
In my opinion since Wide requires more micromanagement it should be almost always superior to Tall. It also makes no sense for an Empire to WANT to be small neither from a historical point of view nor the one in the game. More land/cities should always bring a bigger reward because it makes sense for it to do so.

Big, sprawling Empires should be superior and improve every aspect of your civilisation. The genre is called 4X (eXplore, eXpand, eXploit, and eXterminate) for a reason and discouraging eXpanding creates an environment devoid of fun and sense - well, at least for me. What fun is it to stare at the same four boring cities and not try to create a true Empire through battles or regular expansion? The feeling of developing something great is amiss with that (unfortunately way too effective) 4 city Tradition strategy where instead of an Empire I only get a pathetic county.

If anything I'd love to have all those science city penalties and City happiness penalties completely removed. Encouraging efficient and fast expansion is what should happen.
 
It also makes no sense for an Empire to WANT to be small neither from a historical point of view nor the one in the game.

I disagree:
Switzerland and Monaco are small economical powerhouses that have a very strong research component.

Playing as a small empire, for me, corresponds to a more challenging playstyle. Having a strong, up to date millitary and using it to bully city-states and influence world conflicts is something I really enjoy, especially if we add as a policy of the exploration tree the gunboat diplomacy tenent, like in Reform and Rule.
 
Each following factor will give you -1 :c5unhappy::

  • Every city with a lower :c5culture: output per :c5citizen: than required;
  • Every city with a lower :c5strength: per :c5citizen: than required;
  • Every city with a lower :c5gold: output per :c5citizen: than required;
  • Every city not connected to the capital;
  • Every city with enemies within city borders;
  • Every starving city.

I like this, Wodhann. Genuinely. The functions will be pretty simple to write and, hopefully, the AI will be able to handle this without having to alter their existing behavior. Honestly, it reminds me a bit of how Civ Rev handled culture, where too much pop without culture led to your culture being 'disgusting,' and thus the possibility of city-culture-flipping. Seems similar (minus the last bit, which would be a factor of unhappiness in civ 5). It also has the knock-on benefit of forcing wide players (really, all players) to build less-used structures like walls, castles, etc.

Critiques:

I'd get rid of the 'enemies in borders,' one and do '# of pillaged tiles' or 'factor of city damage.' The AI doesn't really prioritize clearing out enemy units unless they're in a high-priority spot (it could be abused, in other words). The AI is, however, obsessed with fixing pillaged tiles, and city damage is a better metric of losing a war.

Not sure if you mentioned these possibilities earlier, but I think these should be considered as well:

  1. # of Unhappiness per # of minority religion followers or non-followers in a city (taking it away in the piety tree, in an ideology/wonder or as a tenet/belief/reformation belief). This makes religion matter more as a factor of preventing unhappiness, rather than simply gaining more happiness.
  2. # of Unhappiness per # of trade routes coming from/to the same city (eww foreigners gross). This could be reduced by a policy (commerce tree needs some love), or a civ trait (carthage, venice, morocco, etc.).
  3. Also unhappiness per # of citizens in each city should be increased, with the addition of the courthouse as a building for all cities (acting as a mini-forbidden palace for each city), and the constabulary/police station reducing this further. We could simply create a new 'takeover city' building (or process) for puppeted cities, taking the place of the courthouse. This makes these spy-related buildings way more useful and necessary for all players.

With these changes, I'd also remove the flat % penalties from # of cities (science, culture, etc.) and fold those penalties into a scaled unhappiness modifier. In other words, take away 'always-on penalties,' even if you are doing well, and add in scaled penalties for most yields as you gain more and more unhappiness. Some of these things may have been mentioned – if so, consider my points above as affirmations of liking those points. :)

Other Thoughts

If we go with this, and I'm truly happy to do so, I do think it requires a re-think of how national wonders work. Going back to an earlier post I made, the best way to handle national wonders would be as a factor of national population. So, for example, to build the national epic, you need 15 total national population. 20 for national college, 50 for oxford, and so on...you get the idea. I'd also have each national wonder in a city increase this base population requirement by a set amount (so building more than one national wonder in a city would require more population overall, encouraging players to spread them out) OR increase production cost by this factor (instead of # of cities).

This change would allow wide players (if wide enough) to get them, and also tall players (if tall enough) to get them. Currently, wide is hurt badly (and unfairly), especially when considering late-game national wonders. This also allows national wonders to work as imperial milestones of success, rather than gameplay-restricting roadblocks.

Lastly, I also want to scale luxuries based on population. If population is the ultimate factor of the game (it is, regardless of tall or wide, the single most important metric of performance), it makes sense that the most necessary means of combatting unhappiness should scale with population. This will make wide civs need more a more diverse amount of luxs than tall civs, which seems a fair trade-off.

G
 
Wodhann, my objection for the AI's handling of this I believe still stands. The AI builds culture buildings, defence buildings, etc for those purposes. It does not currently know it needs to build them for happiness or expansionary purposes. It's possible, but by no means guaranteed, that we would be able to teach it a more elaborate city management scheme for happiness purposes. As I said, it right now knows it needs to manage 3-4 things for its empire happiness to work smoothly. We're talking about getting to manage 7-8 things.

Happiness inputs from buildings is also not a simple change as we could make them take out levels of discomfort, or could need to rebalance based on the typical level of unhappiness being lower, change the amount of happiness required for golden ages, etc. We don't know what it will look like in a typical game yet.

I am not purposefully objecting to the idea, as I've indicated several times I like the conceptual outline (even if we don't know yet how well it would work in the wild). I'm pointing out it has issues that need to be tested or resolved. Because it involves some amount of code changes, and because it may involve AI issues, it IS a more complicated change than simply juggling numbers around and as such whether it is priority alpha or not is up to people who would code it and who have tested it for the psychology (how it feels for us to play it) and the performance of the AI (how it handles the changes).

I definitely second the settler change though.

Expired, I definitely wouldn't add unhappiness from trade routes. Trade is almost always a "good" and you're essentially punishing players for making money/spreading religion, getting some science, generating influence. That's a non starter as a result. People gripe about foreigners and foreign goods until they go shopping essentially, and there they ignore the issue entirely. I also wouldn't want to add new buildings, but some mechanic interacting with the constable/police station in this system would be fine (treat them as "defence" buildings or as happiness buildings lowering discomfort, etc). National wonders need a major change in function/balance anyway. Gazebo and I have kicked around some ideas for it, but they're secondary to the question of happiness as an expansion check.

Stalker, I thought CEP/GEM used a different formula for city growth/expansion that was intended to be slower at first and faster later than the default (in addition to other things like more or higher % modifiers, particularly for production). Is this what you'd have in mind for a taller advantage?
 
The AI builds culture buildings, defence buildings, etc for those purposes. It does not currently know it needs to build them for happiness or expansionary purposes.

Honestly, since the AI makes those choices via flavors, it'd just be a matter of giving buildings and/or city strategies the appropriate flavors for those buildings.

Expired Gazebo, I definitely wouldn't add unhappiness from trade routes. Trade is almost always a "good" and you're essentially punishing players for making money/spreading religion, getting some science, generating influence

Trade is good, sure, but it would give us more options with buildings and policies than we have now. For example, what if the caravanserai reduced the unhappiness from trade routes down from 1 trade route = 1 unhappiness to 2 trade routes per 1 unhappiness. We would be able to make trade routes being stacked in a single city a strategic choice beyond 'which one makes me the most money.' Also, historically (don't forget I'm a history prof. by day), trade did lead to unhappiness as a result of cultural, religious and economic intermixing that occurred in highly-commercial cities. It'd be a fun, and easy, way to simulate the downside of trade on an imperial scale.
G
 
Trade also led to immense prosperity in those cities, a middle class, and the ability to buy luxury or exotic goods, as well as forming another market for domestic goods. I'd say its a wash. Trade doesn't typically cause internal dissent to the point of a country falling apart the way religion, urban density (and by extension health or urban-rural politics), crime, cultural influences, and warfare do, as examples. I'm not sure it belongs in this category. The closest example might be the American north-south divide but that had a lot of other factors of more pressing value (slavery, urban-rural, banking, etc).
 
I'm not sure whether I'd call it "fun" - the trade system is, I think, a very well working system, I'm not sure there's need to "futz" around with it for a balance patch. It's true that it would be interesting to see more decisions in choosing trade routes, I'm not sure whether this is it.

If anything, it should produce some tourism based on the relative culture output of the trading cities - tourism already encompasses the "uh, foreign influences" concept in Civ 5, I think.
 
Stalker, I thought CEP/GEM used a different formula for city growth/expansion

The idea is to reduce the amount of food higher level of population take, so that large population cities don't "slow down" in growth compared to a large number of small cities.

Take my original example:

1) Two Size 3 cities require 78 food
2) One Size 6 city requires 171 food

You might alter it to look like this:

1) Two Size 3 cities require 78 food
2) One Size 6 city requires 140 food


Or something to that effect. Now the tricky part is that population is the primary resource driver, so any adjustment to it can have far reaching consequences. Probably the counter-adjustment would be a nerf on the aqueduct to curtail that growth long term.

Another idea would be to change the basic growth buildings (granary/watermill) to %based growth entities so that they ultimately affect larger cities more.
 
I think I'd agree with Tirian that the trade system is fine as is and that if there's need to add something to it, it would be tourism-related (either extra/better rewards from influence or a bonus to influence based on culture differences).

Growth - I think that's how that would have to work is to adjust the formula to be slightly slower early (discouraging wide slightly) but somewhat faster later (rewarding taller growth).
Since it uses an exponent effect in the formula, that shouldn't be too hard to achieve where it's something like 2 size 3s require 84 and the size 6 requires 140, something like that. It could be fine to just make it cost less later rather than penalise wide at all with slower early growth.

Water mill is better probably as a production building early on, with the Aztec UB being the exception.

I think the granary is fine as a base extra food building with extra food on grains. I could see the hospital working more % based as a later game building, along with some taller effect for the med lab in the same tier.

Aqueduct you can reduce by making it cost more (upkeep) as well as reducing the growth effect.
 
since the AI makes those choices via flavors, it'd just be a matter of giving buildings and/or city strategies the appropriate flavors for those buildings.
- I think it's a little more complicated than this.

If the AI right now needs to gain happiness, it can constrain growth and build happiness buildings (or adopt policies). Because all there is is sources of happiness coming in and costs of happiness to balance from population/# of cities, and then later ideologies.

Under this system, if the AI needs to gain happiness, it would need to know what is causing a source of unhappiness and build that. Or else it could be building a castle or arsenal when it actually needs an opera house in order to get happiness under control.
 
- I think it's a little more complicated than this.

If the AI right now needs to gain happiness, it can constrain growth and build happiness buildings (or adopt policies). Because all there is is sources of happiness coming in and costs of happiness to balance from population/# of cities, and then later ideologies.

Not really - the functions for city strategies regarding happiness don't really care (as, in the base game, it is simply an 'are we unhappy? check). From there, you can give the city strategy any amount of flavors you want. The 'avoid growth' element isn't used very much by the AI, and, again, could be given flavors aligned with the new system.

It's true that it would be interesting to see more decisions in choosing trade routes, I'm not sure whether this is it.

I'unno...I'm thinking about how we can boost caravanserais and harbors to do more than simply increase gold (which, by the end of the game, hovers around absurd levels). Having them work with happiness, and having trade routes (and gold acquisition) have a gameplay-pushback effect, would be nice. Right now, gold is the only yield system that never gets checked by player choices - seems odd to me, and I think it needs more nuance.
G
 
Ah the ol' "need to balance it against the AI first" argument. ;)

@mystikx21 whilst I agree with you that BUILDING_FLAVOR will not suffice in making the AI choose wisely, as I have next to no experience with formulating AI strategy using the other tables like CityStrategy or GrandStrategy, I can only imagine that those may be able to do what we want.

Perhaps something like:
CITY_HAPPINESS_CULTURE_DEFICIT or CITY_HAPPINESS_GOLD_DEFICIT and then some values can be added to force a change in the affected areas - FLAVOR_GOLD 150 or something.

I've often looked at those tables and wondered just how the values work, stems from the fact Thalassicus, in CEP, made drastic changes to all the flavors and then added in the leader personalities as an offset. I could never understand what was gained by that change. Still don't. I know the DLL functions make calculations using a number of flavor values and then once the threshold is met the function activates. I reckon if the existing code doesn't have something that we can use, a new one, or set of new ones, can be created.

Sent from my GT-I9305T using Tapatalk
 
My point was the reaction to "is the city unhappy" is not as easily answered as "hey! build a colosseum!", it would have to determine why the city was unhappy and seek to remedy that (not enough culture, not enough religious domination, etc). That could be done, but the assumption could be "build whatever has the highest happiness flavor at the moment of crisis" which may do nothing to alleviate the underlying issue of unhappiness. It may do otherwise useful things like increase city D or provide more culture, but whichever of those was causing the problem may have gone unresolved.

Count me as still skeptical that the AI would know which form of unhappiness it needs to counteract based on that alone, but if it can be done and it works, then it works and I'd have no objection to that system being used and tested. If not in v1 or officially in the balance patch, then at least at some point.

The next question would be sources of happiness to counter act this. For example happiness buildings could give a flat happiness quantity but also, especially at higher levels than the colosseum, provide a discount on the level for the city. Obviously there's a piety (or freedom) policy or a belief effect that we could use to counteract the religious discord.

Output of gold should be more straightforwardly expressed as "is this city making a profit", in the same way as "is this city growing with enough food" rather than worrying about the quantity per citizen.

Pillaging or city health makes more sense than "is there an enemy unit nearby".
 
You know, I bet you probably could. ;)

Sent from my GT-I9305T using Tapatalk
 
I'unno...I'm thinking about how we can boost caravanserais and harbors to do more than simply increase gold (which, by the end of the game, hovers around absurd levels). Having them work with happiness, and having trade routes (and gold acquisition) have a gameplay-pushback effect, would be nice. Right now, gold is the only yield system that never gets checked by player choices - seems odd to me, and I think it needs more nuance.
I agree that caravanseries are a bit boring, harbours get a pass from me for the city connection (though I wouldn't call them super-interesting, either). But I think both work at the moment.

Gold is checked by player choices to some extent, though only by regulating its rate, but through other effects: building & unit maintenance as well as roads - but increasing the cost for either wouldn't be received very well (remember early Civ 5 when you couldn't sell buildings and buildings were a lot more expensive, hammer-wise - people love to build stuff).

It would be interesting to find more dynamic approach to the inflation mechanic which is all about avoiding the giant piles of gold in the endgame. Turn number is probably a bit too arbitrary.

Perhaps this should go into a separate thread...
 
There's a few buildings I would say could be bumped up in upkeep (but mostly made cheaper upfront to compensate). Mostly happiness, growth, or science. But there are also several that could be made cheaper as well (hydro and water mill especially). Whether that adds a gold sink or not would depend on your building preference, city locations, etc.

Inflation is primarily annoying but it is undoubtedly the main feature to check into to deal with gold accumulations.
 
I mean, there are a lot of ways to spend gold aside from city-states, but I generally find the always-increasing nature of GPT to be a bit boring from an economic perspective. We'll work on that later, though.

Just an FYI, I took some time this morning to put together a test version of the happiness changes outlined above. It was as easy as I said it would be (now that we've got it simplified down). I'll post the new version once it is stable.

G

Update:

Here's the initial table of defines for the happiness changes. No, these are not final numbers, just testing to see if the functions work correctly. We'll need to update the display LUA (groan), but that's not too bad.

Code:
-- These values affect local happiness from cities. Values should always be floats (i.e. 0.0, 10.1, etc.)

-- Unhappiness point per religious minority pop.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_MINORITY_POP', '0.5'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per starving citizen.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_FROM_STARVING_PER_POP', '1.0'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per pillaged plot owned by city.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_PILLAGED', '0.5'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per pop if unconnected.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_FROM_UNCONNECTED_PER_POP', '1.0'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per gold threshold (i.e. gold rate needed per citizen before unhappiness kicks in).
-- Value is multiplied by city population - if gold rate for city is lower than value, unhappiness is calculated based on the remainder (threshold - gold rate).
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_GOLD_THRESHOLD', '1.5'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per citizen over gold threshold. Value is multiplied by remainder from threshold calculation.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_GOLD_RATE', '1.0'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per defense threshold (i.e. rate needed per citizen before unhappiness kicks in).
-- Value is multiplied by city population - if defense rate from buildings for city is lower than value, unhappiness is calculated based on the remainder (threshold - defense).
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_DEFENSE_THRESHOLD', '1.0'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per citizen over defense threshold. Value is multiplied by remainder from threshold calculation.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_DEFENSE_RATE', '1.5'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per culture threshold (i.e. rate needed per citizen before unhappiness kicks in).
-- Value is multiplied by city population - if culture rate for city is lower than value, unhappiness is calculated based on the remainder (threshold - culture rate).
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_CULTURE_THRESHOLD', '0.75'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );

-- Unhappiness point per citizen over culture threshold. Value is multiplied by remainder from threshold calculation.
	INSERT INTO Defines (
	Name, Value)
	SELECT 'BALANCE_UNHAPPINESS_PER_CULTURE_RATE', '1.0'
	WHERE EXISTS (SELECT * FROM COMMUNITY WHERE Type='COMMUNITY_CORE_BALANCE_HAPPINESS' AND Value= 1 );
 
Back
Top Bottom