How to break ICS in a mod?

Some basics would be to increase the usefulness of more advanced happiness buildings and make larger population cities give more science than two smaller cities with equal happiness. The former is much easier than the latter to implement, though.

Maybe earlier hospital-like buildings (Aqueduct, perhaps). If it's possible to make buildings pop size specific, that would be amazing (but I doubt it at the moment).
 
I think making Cities generate more Unhappiness from number of cities solves that, I mean it would take a lot more work to get them in order.

And the simple one someone mentioned earlier, nerf Coliseums to 2 Happiness.
 
I think people are missing something key here. You can do this by either maintenance cost or happiness hit (or something else), fine. But it has to be non-linear to work.

The reason is this: Whatever your mechanism, it is either economical to build a 2nd city or it is not. If it is not, then you're just forcing a one-city-challenge and most people won't want that. On the other hand, if it is economical to build the 2nd city, then it is economical to build a 3rd. If it is economical to build a 3rd, then it is economical to build a 4th. And so on to 100th city. In any linear system you will have some "tipping point": penalize too much and One City becomes optimal, penalize too little and ICS becomes optimal. There is no in between using a linear system. You have to have a function that starts small (assuming you want >1 city as optimal) but increases the penalty (whether cost or unhappiness) with each new city.
 
I think people are missing something key here. You can do this by either maintenance cost or happiness hit (or something else), fine. But it has to be non-linear to work.

The reason is this: Whatever your mechanism, it is either economical to build a 2nd city or it is not. If it is not, then you're just forcing a one-city-challenge and most people won't want that. On the other hand, if it is economical to build the 2nd city, then it is economical to build a 3rd. If it is economical to build a 3rd, then it is economical to build a 4th. And so on to 100th city. In any linear system you will have some "tipping point": penalize too much and One City becomes optimal, penalize too little and ICS becomes optimal. There is no in between using a linear system. You have to have a function that starts small (assuming you want >1 city as optimal) but increases the penalty (whether cost or unhappiness) with each new city.

Which is what maintenance in civ 4 did, which is why I liked it and wish it stayed :( The problem is, how exactly can we do non-linear modding when we're given mostly variables that are linear? There's no "happiness exponent" or even city maintenance whatsoever.
 
Well, you can't by xml only, but it should be straitforward with Lua (note: I'm speaking from a lot of experience as civ4/python modder but almost none yet as civ5/lua modder). Each turn you count cities, calculate cost from city number (need to do some balancing to get the formula right), then apply cost in some way. The best would be to apply it in a way that shows up a "city number cost", but that would involve some UI modding. Another way would be to alter the palace yield to pay the cost (that's an ugly situation because it's going to make your capital a bad city for any gold modifying buildings).
 
Ah okay, I'm not at that level of modding yet. And apparently Lua's borked because of something to do with parameters not being given so even good modders are stuck.
 
I think people are missing something key here. You can do this by either maintenance cost or happiness hit (or something else), fine. But it has to be non-linear to work.

The reason is this: Whatever your mechanism, it is either economical to build a 2nd city or it is not. If it is not, then you're just forcing a one-city-challenge and most people won't want that. On the other hand, if it is economical to build the 2nd city, then it is economical to build a 3rd. If it is economical to build a 3rd, then it is economical to build a 4th. And so on to 100th city. In any linear system you will have some "tipping point": penalize too much and One City becomes optimal, penalize too little and ICS becomes optimal. There is no in between using a linear system. You have to have a function that starts small (assuming you want >1 city as optimal) but increases the penalty (whether cost or unhappiness) with each new city.

What you say is true, but I make a distinction between ICS and an empire that simply doesn't stop expanding. ICS to me is specifically about making size 4-8 cities packed together as tightly as possible in a geometric pattern while completly ignoring terrain features (other than the inability to found cities on mountains and water). And the real problem is not so much that this is possible (it should be an option, if you have the right social policies), but rather that it is so dominant.

On the other hand I like it if I can always keep expanding. I should just have to be mindful of where I put the city down and I should be encouraged to grow it to a large size and build it up with all sorts of improvements.

So city based maintenance and elimination of empire wide Maritime food (only my capital gets it) work great for me.
 
The civ4 function wasn't linear, but it also wasn't exponential without limit. It increased as a per city function but then had a plateau. The plateau was what?...30 gp/city?... In any case, it was pretty tough at the plateau but not insurmountable. It was too high to deal with if you did no planning at all, but there were ways to deal with it (a good core of developed cities; well-coordinated and sustained pillaging).

So the increasing non-linear function prevents ICS, but then the plateau allowed for sustained conquest (but not in a trivial way...it took some good planning to do it). So you just need a function that has this sort of shape (that's easy) and then you have to calibrate it just right for civ5 (that will take some serious balancing effort).

I really hate it when folks say this or that was better in civ4 and should work like civ4, but this is one case where I have that opinion. It's going to be tough to figure out another anti-ICS mechanism that works so well.
 
To expand my post above, what you want is a "logistic function" (look in wiki to see example graphs). It first increases exponentially but then plateaus at some asymptotic value. A general form would be:

cost = MaxCost / (1 + e^(CityNumberAtHalfMaxCost - CityNumber))

e ~ 2.72, but you can put in anything >1 and and get the same basic shape. MaxCost is whatever you want for max cost. CityNumberAtHalfMaxCost is the number of cities where you want the cost to be 1/2 the MaxCost.

So, if I plug in MaxCost = 40 and CityNumberAtHalfMaxCost = 10, and then round to nearest integer, I get:

city# cost
1 0
2 0
3 0
4 0
5 0
6 1
7 2
8 5
9 11
10 20
11 29
12 35
13 38
14 39
15 40
16 40


If you substitute a smaller number (say 1.5) for e, then you get a less steep function that may be better:

city# cost
1 1
2 2
3 2
4 3
5 5
6 7
7 9
8 12
9 16
10 20
11 24
12 28
13 31
14 33
15 35
16 37
17 38
18 38
19 39
20 39
21 40
22 40

Using 2 in place of e:
city# cost
1 0
2 0
3 0
4 1
5 1
6 2
7 4
8 8
9 13
10 20
11 27
12 32
13 36
14 38
15 39
16 39
17 40


(Edit: this would be a per city cost.)
 
1. The AI doesn't do it. I know they pack cities tighter than some players like, but no where near ICS.
2. If the AI did do it, and it remains as effective as it is, then players will have to do it or play noble difficulty (which will hurt our egos).
3. Some of us like difficult challenges (i.e., playing harder and harder difficulties) but we don't necessarily want to be restricted to only one approach.
4. ICS is boring for many of us.

In reality, I don't do ICS and the AI doesn't do ICS, so the fact that it works doesn't take a lot from my enjoyment of the game. But #3 complaint above keeps nagging at me. I'd be happier if it was nerfed somewhat.

(Edit: one thing I do like a lot about civ5 is that cities can be placed more organically, some close, some far. The whole "optimization" by minimizing work-tile overlap is gone, and good riddance from my point of view. But it's just silly that the optimal city distance is 2 tiles, as is currently the case [because: #1, the AI doesn't do this and #2, I don't want to manage 150+ cities].)
 
The problem with ICS isn't the fact you have so many cities, its the fact its so easy to negate all the downfalls related to having so many cities.
 
You know that modders will go in (once dll is out) and start tweaking AI for better performance. If the optimal play strategy is to place cities 2 tiles from each other, then that will be the target placement for AI. Once the AI does this, then the player has two options: 1. play ICS only, or 2. lower difficulty setting 4 notches (that may not be enough actually). The only other option is to prevent the AI from using optimal strategy (as is currently the case) even at immortal/deity difficulty setting, which would seem strange.
 
The way to fix this is to nerf the things that ICS depends on. For starters, limit the bonus you can get from maritime city-states. The food they can give out should be limited by their population. For example, a maritime city-state with a population of 11 can only give you a max of 11 food. With 2 food going to the capital, they would only be able to supply +1 food to 9 other cities.

The Forbidden Palace is also vital to the ICS strategy. It could by nerfed in a similar way. Maybe the population of the city with the FP x 2 is the number of cities that can be affected by the FB.

You could also just change it so the effects of The Forbidden Palace don't stack with Order.
 
The simplest way to tweak Maritime City states is to simply have them only provide a food bonus to your capital and not to other cities. That alone would already make a huge difference because it would mean that whenever the city isn't placed in grassland/jungles/flood planes you'd have to build some farms to compensate. The cities would also grow slower so you couldn't expand quite as rapidly.
 
Maritime city states and the FB are nice bonuses for ICS. But even if you remove these completely, ICS is still the optimal strategy by a long ways. There's just no downside to it. Even a pop 1 city with coliseum (without maritime city states or FB) is all upside, no downside. (If you're building farms, then you don't really understand ICS.) If you keep striping stuff away (e.g., coliseum) until ICS is no longer optimal, then you will eventually beat ICS, but you will also have a game where 1 city is optimal (again, civ4 had this right [although civ5 is so much better in many other ways]; no one has proposed anything else that makes ICS non-optimal).
 
Increased unhappiness for cities and increased advantages for large cities (which need more food in order to become large, therefore farms and more space) should theoretically balance it out, no?
 
The simplest way to tweak Maritime City states is to simply have them only provide a food bonus to your capital and not to other cities. That alone would already make a huge difference because it would mean that whenever the city isn't placed in grassland/jungles/flood planes you'd have to build some farms to compensate. The cities would also grow slower so you couldn't expand quite as rapidly.

This is a great start, but it doesn't necessarily kill ICS. You're still looking at a net profit per city, just slightly lower than what it would be. ICS seems massively favorable even with a single maritime ally that can be replaced by building granaries everywhere, at a long-term cost of merely 1 gpt from cities that produce a fairly good pile of gold and science.

I'm still a fan of the idea, since it moves the maritime bonus in line with other city-state bonuses--cultural and militaristic states don't scale up with number of cities (in fact cultural states technically scale down), so no reason for maritime to. That way city-states would be more of a way for OCCs and tiny empires to keep up.

The other issue is that there are too many improvements that don't scale. Granaries, for example, are a big ICS enabler that get overlooked simply because they're overshadowed by the even more powerful maritime states. Granaries provide a substantial benefit to small cities but their bonus becomes relatively insignificant to an already-large city, unlike the old style granaries. Happiness buildings are the big culprit, though, since it means every city is a potential net positive to happiness but mega-cities will inevitably become happiness sinks because they have a finite amount of happiness they can offset with buildings. If the happiness improvements worked by removing unhappiness proportionate to population, then you'd be getting somewhere. But looking through the XML I'm not finding any hooks that would allow such a thing to be implemented by XML changes alone, not even as a workaround.
 
Increased unhappiness for cities and increased advantages for large cities (which need more food in order to become large, therefore farms and more space) should theoretically balance it out, no?

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.
 
Back
Top Bottom