How to break ICS in a mod?

But if (to simplify things) three one pop cities are worse than one three pop city (as in substantially worse), ICS will have less of a point, right?

I think the one assumption I am making, though, is that space is necessary for larger cities. With maritime city-states and food producing buildings, this might not be the case.
 
It would make a big city approach much more viable (compared to a many cities approach), and I'm in favor of that. But no, I really don't think it will make non-ICS competitive with ICS. My theory boils down to this: if 1 pop city with 1 or 2 buildings is always a net positive, then ICS is always optimal. I could be wrong. Experiment trumps theory, so these things should be tried.

It would make it optimal to fill any empty space with cities.

I really like that logistic function, but I don't know any way to implement it. Meanwhile my changes of Maritime only benefits capital and each city costs 10 gold upkeep (but buildings are free) are working out pretty well.
 
It would make it optimal to fill any empty space with cities.

I really like that logistic function, but I don't know any way to implement it. Meanwhile my changes of Maritime only benefits capital and each city costs 10 gold upkeep (but buildings are free) are working out pretty well.

That sounds like maritimes would be incredibly weak. Btw, what method did you use to give cities maintenance?
 
I think he just gave each city a building that costs 10 gold. It's more of a cheap workaround than a fix.

That's right. I made a new building called "City" that has 10 gold maintenance and set FreeStartEra for it to ancient.

Maritimes might be a little underpowered now, though they are still great for OCC. I'm thinking along the lines of 250 gold ~ 25 influence (after a while) so in the worst case scenario you're basically trading 10 gold for 5 food. However, with missions it gets closer to a 1:1 trade.

I'll play around with it for a while, then if it's too weak I can always bump it up a little.
 
Nunya,

Can you show the coding changes (xml, i know) that you made.
Also, can you make buildings invisible... I haven't tried that before.
For my purposes, I want these buildings to be un-sellable by the AI players as well as by the human player.

Another trick, that I have used is to put a -1 gold production into civics. The problem is you can only subtract 1 gold per city. Additional reductions (below 0) are not counted since the modification is only to the city hex, which is normally 1 gold.
 
City state bonuses (from GlobalAIDefines.xml):

Spoiler :

<Row Name="FRIENDS_CULTURE_BONUS_AMOUNT_ANCIENT">
<Value>5</Value>
</Row>
<Row Name="FRIENDS_CULTURE_BONUS_AMOUNT_MEDIEVAL">
<Value>5</Value>
</Row>
<Row Name="FRIENDS_CULTURE_BONUS_AMOUNT_INDUSTRIAL">
<Value>5</Value>
</Row>
<Row Name="ALLIES_CULTURE_BONUS_AMOUNT_ANCIENT">
<Value>0</Value>
</Row>
<Row Name="ALLIES_CULTURE_BONUS_AMOUNT_MEDIEVAL">
<Value>0</Value>
</Row>
<Row Name="ALLIES_CULTURE_BONUS_AMOUNT_INDUSTRIAL">
<Value>0</Value>
</Row>
<Row Name="FRIENDS_CAPITAL_FOOD_BONUS_AMOUNT_PRE_RENAISSANCE">
<Value>5</Value>
</Row>
<Row Name="FRIENDS_CAPITAL_FOOD_BONUS_AMOUNT_POST_RENAISSANCE">
<Value>5</Value>
</Row>
<Row Name="FRIENDS_OTHER_CITIES_FOOD_BONUS_AMOUNT_PRE_RENAISSANCE">
<Value>0</Value>
</Row>
<Row Name="FRIENDS_OTHER_CITIES_FOOD_BONUS_AMOUNT_POST_RENAISSANCE">
<Value>0</Value>
</Row>
<Row Name="ALLIES_CAPITAL_FOOD_BONUS_AMOUNT">
<Value>0</Value>
</Row>
<Row Name="ALLIES_OTHER_CITIES_FOOD_BONUS_AMOUNT">
<Value>0</Value>


New building class (CIV5BuildingClasses.xml):
Spoiler :
<BuildingClasses>
<Row>
<Type>BUILDINGCLASS_CITY</Type>
<DefaultBuilding>BUILDING_CITY</DefaultBuilding>
<Description>TXT_KEY_BUILDING_COURTHOUSE</Description>
</Row>
</BuildingClasses>


New building (CIV5Buildings.xml):
Spoiler :
<Buildings>
<Row>
<Type>BUILDING_CITY</Type>
<BuildingClass>BUILDINGCLASS_CITY</BuildingClass>
<FreeStartEra>ERA_ANCIENT</FreeStartEra>
<Cost>0</Cost>
<GoldMaintenance>10</GoldMaintenance>
<Help>TXT_KEY_BUILDING_CITY_HELP</Help>
<Description>TXT_KEY_BUILDING_CITY</Description>

<ArtDefineTag>COURTHOUSE</ArtDefineTag>
<MinAreaSize>-1</MinAreaSize>
<ConquestProb>100</ConquestProb>
<HurryCostModifier>-1</HurryCostModifier>
<IconAtlas>BW_ATLAS_1</IconAtlas>
<PortraitIndex>63</PortraitIndex>
</Row>
</Buildings>


I also had to add the descriptions.
 
I made a different post with my changes which I think really improve the vanilla game and make ICS non-optimal. I'm glad I read this thread as I didn't realize the City State stuff was controlled in GlobalAIDefines and thus thought it was unmoddable, so I just removed Maritime states completely and replaced them with Militaristic. I'll change that.

Some other changes that help with ICS are making improved resources yield+1 compared to now so that city placement is more important and re-doing the building lines like library-->university-->public schools and colosseum-->theatre-->stadium so that they get more efficient with the later buildings instead of less efficient. That's a huge one.

Making base unhappiness per city higher is actually trivial. It's just UNHAPPINESS_PER_CITY in GlobalDefines.xml. I went with 3 instead of 2 for now. Going to 4 is harsh and probably unnecessary with the other changes.

Oh, horsemen need a huge nerf. That's not ICS but it's still game-breaking.
 
As an easy example, I changed libraries to give 1 specialist slot instead of 2 and universities to give 2 specialist slots instead of 1. That's quick and easy and helps a little. A lot of minor changes like that add up to making one size 15 city at least as good as three size 5 cities.
 
Oh, and lastly... increasing the food bonus from maritime but making it apply only to the capital is actually a very good solution and the one I intended before I failed to find the right XML file. It may sound underpowered... but only if you don't also fix the crappy useless Tradition social policy tree.

It seems to me to be an elegant solution. With tradition fixed, there is a natural synergy between the three city state types, various policy tracks, and play styles. Two maritime city states pouring huge amounts of food into your capital, combined with an improved Tradition tree which provides, say, +1 food, +1 hammer, +1 gold in the capital (instead of +1 food), +50% food in the capital, -50% unhappiness in the capital, and +40% wonder production... well, you get the idea.

Is that optimal? I dunno, maybe not. But it would certainly be viable and very much not useless. Combine with Rome or India and you've got yourself a good strategy which has no ICS anywhere.

So, yeah, I think applying maritime food bonus to the capital alone is an elegant solution, so long as you increase the amount of food and fix the Tradition policy track (and certain other overpowered policies like Communism).
 
I have been playing with one of the ideas presented here. Specifically:
INSERT INTO Language_en_US (Tag, Text) VALUES ('TXT_KEY_BUILDING_CITY_HELP', 'More cities makes your population more unhappy.');
INSERT INTO Language_en_US (Tag, Text) VALUES ('TXT_KEY_BUILDING_CITY', 'City Hall.');
INSERT INTO BuildingClasses (Type, DefaultBuilding) VALUES ('BUILDINGCLASS_CITY', 'BUILDING_CITY');
INSERT INTO Buildings (Type, BuildingClass, FreeStartEra, Cost, GoldMaintenance, CityCountUnhappinessMod, ArtDefineTag, MinAreaSize, ConquestProb, HurryCostModifier, IconAtlas, PortraitIndex) VALUES ('BUILDING_CITY', 'BUILDINGCLASS_CITY', 'ERA_ANCIENT', 0, 0, 20, 'COURTHOUSE', -1, 100, -1, 'BW_ATLAS_1', 63);
UPDATE Defines SET Value = 1 WHERE Name = 'UNHAPPINESS_PER_CITY';

It seems to work well in causing increasing unhappiness from city counts.
I did try to set HappinessPerCity to a negative number but it has to be an integer.... and -1 is just too much unhappiness.

These changes result in unhappiness progressions due to city counts as follows:
Code:
	Unhappiness
Cities	New	Old
1	1.2	2
2	2.8	4
3	4.8	6
4	7.2	8
5	10	10
6	13.2	12
7	16.8	14
8	20.8	16
9	25.2	18
10	30	20
11	35.2	22
12	40.8	24
13	46.8	26
14	53.2	28
15	60	30

So 5 cities is the break even point... less than that and you will find your empire happier... more, less so.

It must be noted that the change of 'UNHAPPINESS_PER_CITY' to 1 [from 2] impacts 3 things.
1. BUILDING_FORBIDDEN_PALACE is 1/2 as effective... giving only -.5 unhapiness per city
2. POLICY_PLANNED_ECONOMY is 1/2 as effective... giving only -.5 unhapiness per city
3. TRAIT_POPULATION_GROWTH [ie Ghandi's trait] is 1/2 as bad... giving only +.5 unhapiness per city

I have not formed an opinion yet on if these are better or worse.

Edit: I am also not sure if this is even enough. I mean with a
BUILDING_COLOSSEUM, BUILDING_THEATRE, BUILDING_STADIUM
you can get to 12 happiness.... toss in a BUILDING_CIRCUS for 15.
Even with the numbers I have picked one can get to 30 cities and have only 7 unhappiness per city [not counting pop]
I think the principle is right though.... exponential growth [er well actually is n+(n^2)/5 which is mostly linear to start and exp later.]
 
As an easy example, I changed libraries to give 1 specialist slot instead of 2 and universities to give 2 specialist slots instead of 1. That's quick and easy and helps a little. A lot of minor changes like that add up to making one size 15 city at least as good as three size 5 cities.

This really good idea and a couple of your other ones are already in Thal's balance mods, using similar reasoning.

Lowering unhappiness based on population while raising it for city count seems like the Holy Grail to balance ICS into a viable strategy, rather than the dominant one. So Gedrin should be on the right track.
 
I'm really impressed. I didn't think that was even possible in the current state of modding. I think it's the best solution by far.
 
wow... civ V really makes me shake my head in disbelief sometimes.

Thought I would post an update. So these changes do work... I did change CityCountUnhappinessMod to 50 [I thought 20 did not bring on the pain fast enough]. But it seems that any city that has ever been in the possession of an AI does not contain a "City Hall". This means that any city you annex, either on purpose or automatically [because you are recapturing one of your own] or puppet do not have one. Put another way, only those cities you found and have never lost have one.

I dont know why... I set the ConquestProb to 100 so I wonder if AI cities just dont get them.
I can also say that the CityCountUnhappinessMod affects both occupied and non occupied cities [a good thing... but does mean I should consider reducing Defines UNHAPPINESS_PER_CAPTURED_CITY since otherwise it would be crazy to annex a city if you have a lot of cities already. Mind you... I dont understand why you would ever want to annex a city other than razing it.]

Meh.... anyway, still tinkering with this.
 
Conquest probability for a courthouse is 100, and it's never found after conquest. This sounds stupid but why not make the conquest probability for your City Hall 0?
 
Hmmm.... I wish that were true but the ConquestProb for a BUILDING_COURTHOUSE is also 0.

Must be something else.... maybe its because I did not specify a prereqTech.... thats easy to test... um... tonight... back to work
 
There's a lot of interesting insights here, great thread. One thought I've been toying around with: what if the center tile produced no food? If combined with a nerf to maritime city states (i.e., no bonus for non-capital cities), it would mean that every city you founded would limit the total population your civ could reach. You'd have to decrease the food/population exponent to make that limit real, but it might be interesting.
 
Actually when I started playing Civilization V I first assumed that unhappiness from number of cities was some kind of logistic function of number of cities to prevent ICS, just like upkeep in Civ IV.

I think Gedrin's solution is the correct one. The increasing monetary upkeep solution from Civ IV doesn't fit Civ V so well in my opinion as the money and science are handled differently in the games. Now if only you could make techs cost more beakers for larger empires...
 
Top Bottom