Stacks of DOOOOOOOM: A solution?

Hans Lemurson

Prince
Joined
Jan 2, 2006
Messages
492
Location
Silicon Valley
One of the predominating military strategies in Civ is the Stack of Doom(tm), where all of your units travel together in a big group which allows the defender to always bring forth the ideal counter-unit, and brotects wounded units within from further harassment. It's true that this is in fact how armies historicly operated, but gameplay-wise, it greatly limits variety of combat.

My idea on how to limit the local concentration of forces is for there to be a combat penalty assigned to units in a stack of a certain size, like maybe -10% for every unit above 3. Stacks are still possible, and still provide all of the same benefits as stated above, but are no longer recommended as they make you very vulnerable. Great generals could possibly increase the threshold for the stacking penalty to 5.

(I got this idea from Hearts of Iron, where your units suffer a combat penalty for having too many in a battle, and/or lacking sufficient leadership. You also gained bonuses for attacking from multiple directions, but that's a different story.)
 
What Hail is trying to say is that there was a recent discussion on this in which similar ideas came up. If you'd like to take a look, it's here. :)
 
I know. I read that entire thread straight through 2 days ago, and though there was mention of a combat penalty somewhere around page 7, there was no proposal put forward seriously that was as developed as the concept I put forth here.

Look at the end of the thread, and question my forum ethics if you must, but I felt that my idea was the simplest and easiest to implement(I'm not biased!:mischief:) and that it deserved consideration that it was not able to achieve sitting at the tail end of a month-old thread.

So, what do you think of the specifics of my proposal, since I am not original in my idea for some combat penalty?
 
This idea is already implemented into the defence mod. And honestly, it adds way too much micro management for my taste.
 
Interesting, thank you for that feedback.

Do you have any ideas as to how it might be implemented better? I have not looked at this mod (or otherwise I probably wouldn't have made this post, or at least I would have put forward a more advanced concept of execution).
 
You may have noticed in the other thread that the word 'arbitrary' came up quite often. That is the main problem with this. I am a strong proponent of exponentially applying penalties, rather than somple thresholds above which a flat penalty applies. This idea is a possibility, and is pretty much parallel yet opposite to the idea of increasing collateral damage to stacks. So, yeah, it could work if modified to be exponentially applying, although personally I'm more of a fan of defence penalties than penalties on both attack and defence through the one feature.
 
You may have noticed in the other thread that the word 'arbitrary' came up quite often. That is the main problem with this. I am a strong proponent of exponentially applying penalties, rather than somple thresholds above which a flat penalty applies. This idea is a possibility, and is pretty much parallel yet opposite to the idea of increasing collateral damage to stacks. So, yeah, it could work if modified to be exponentially applying, although personally I'm more of a fan of defence penalties than penalties on both attack and defence through the one feature.

Yeah, you may be right that it would be better for it to just be a defense-penalty. However, I did not propose a flat penalty, though my description may have been ambiguous in that regard. As I propose it, above the (omg arbitrary!!!)threshold, there would only be an incrementally increasing penalty, not a flat "-10% for large stack". It would be more on the order of, say, 1-3 units:-0%, 4:-5%, 5:-10%, 6:-15%, and so on. It is not prohibitively dangerous to have a 4-unit stack, just a little less optimal, and you have to weigh the relative advantage of the protection a stack provides vs. its consequent greater vulnerability to attack.

Linearly increasing vulnerability in its effect on overall combat capability is similar to an exponential penalty, since it becomes more severe each time. Combat effectiveness is proportional to somewhere between strength^2 and strength^3, and over short range, (1-x^2) approximates (1-p^x). Is this close to the sort of exponentially increasing penalty you had in mind?
 
So would cities have this same penality?

If yes: Combat becomes largely unbalanced in favor of the attacker.

If no: Combat becomes largely unbalanced in favor of the defender.

Quite simply, it's a bad idea
 
So would cities have this same penality?

If yes: Combat becomes largely unbalanced in favor of the attacker.

If no: Combat becomes largely unbalanced in favor of the defender.

Quite simply, it's a bad idea

I agree, I didn't like the defense mod anyway, but if yes, and there can be ranged attack (I don't want this to happen, and I would never buy civ again if it did) that would balance the game
 
So would cities have this same penality?

If yes: Combat becomes largely unbalanced in favor of the attacker.

If no: Combat becomes largely unbalanced in favor of the defender.

Quite simply, it's a bad idea

Different conditions would give you different thresholds. A city will be able to support more units without a penalty than the open plains.

As for where it becomes "unbalanced", this is designed to encourage the distribution of your forces over a wider area, penalizing you only when you concentrate them too much.

Sure defense will be harder when you can't cram an SoD into your city, but isn't a city with 5 units in it pretty well defended? If you're worried about an impending attack against a city with 5 fortified defenders, you have other problems besides an incremental penalty applied to large numbers of units all sharing the same tile.

Also remember that one of the key problems with an SoD is that it is very difficult to attack, and so the defender it forced to hole up inside fortifications. Since either the invading army will be dispersed or suffering a stacking penalty, then this gives the defender's armies the ability to mount a counter-attack.
...In theory.

How difficult would it be for me to mod this to actually try it, or is there an existing mod that does the same thing as what I'm proposing? (Does the "defense mod" do what I propose or at least something close?) Also, does the AI use SoDs? If so, then such a modification would adversely affect the AIs, as will pretty much anything that adds depth to combat.
 
Yeah, you may be right that it would be better for it to just be a defense-penalty. However, I did not propose a flat penalty, though my description may have been ambiguous in that regard. As I propose it, above the (omg arbitrary!!!)threshold, there would only be an incrementally increasing penalty, not a flat "-10% for large stack". It would be more on the order of, say, 1-3 units:-0%, 4:-5%, 5:-10%, 6:-15%, and so on. It is not prohibitively dangerous to have a 4-unit stack, just a little less optimal, and you have to weigh the relative advantage of the protection a stack provides vs. its consequent greater vulnerability to attack.

Linearly increasing vulnerability in its effect on overall combat capability is similar to an exponential penalty, since it becomes more severe each time. Combat effectiveness is proportional to somewhere between strength^2 and strength^3, and over short range, (1-x^2) approximates (1-p^x). Is this close to the sort of exponentially increasing penalty you had in mind?

A linear increasing penalty is a bad idea, since it introduces both a hard and a soft cap. (In the case of the numbers above 23 and 3 units.) If you would add such a penalty at all at least make it multiplicative instead of additive. That is, have the penalty be 1-.95^(n-3), with the numbers you gave above.

But, in general I would avoid directly penalizing stacks, if only on the grounds that penalties are generally unfun. (and a negative way of dealing with a problem.)

A similar effect to your proposal can be obtained as you are proposing can be achieved by having all units in a stack damaged when they are successfully attacked. The scaling is a little different then your proposal, but it does effect larger stacks more severely, while hardly effecting small stacks. It has the added benefits that:
-There is no arbitrary threshold.
-It interpolates the combat mechanics of civ2 and civ3/4, and thus stays inline with tradition.
-The penalty for the defender is replaced by a bonus for the attacker, which is more fun for the players.
-It eliminates the need for suicide siege weapons. (Since there should be more different stacks range bombardment is less overpowered and can thus make a return, provided that the damage it does is sufficiently capped.)
 
A linear increasing penalty is a bad idea, since it introduces both a hard and a soft cap. (In the case of the numbers above 23 and 3 units.) If you would add such a penalty at all at least make it multiplicative instead of additive. That is, have the penalty be 1-.95^(n-3), with the numbers you gave above.
That seems un-necessarily complicated (cannot be understood at a glance by the user) while achieving essentially the same effect.
Linear = :think:
Multiplicative = :confused:

however...
But, in general I would avoid directly penalizing stacks, if only on the grounds that penalties are generally unfun. (and a negative way of dealing with a problem.)
I think that you may be right on this. It is always best to allow something rather than to disallow another.

A similar effect to your proposal can be obtained as you are proposing can be achieved by having all units in a stack damaged when they are successfully attacked. The scaling is a little different then your proposal, but it does effect larger stacks more severely, while hardly effecting small stacks. It has the added benefits that:
-There is no arbitrary threshold.
-It interpolates the combat mechanics of civ2 and civ3/4, and thus stays inline with tradition.
-The penalty for the defender is replaced by a bonus for the attacker, which is more fun for the players.
-It eliminates the need for suicide siege weapons. (Since there should be more different stacks range bombardment is less overpowered and can thus make a return, provided that the damage it does is sufficiently capped.)
I think this was the system used in Alpha Centauri. It does not cause there to be an explicit weakness to a stack, but does make it vulnerable to a concerted attack, since each subsequent victory is easier and more devastating than the first.

Furthermore, I think this would actually be easy to mod, since the framework for it already exists in the ability that cavalry units have to damage artillery after a successful assault. Just extend that to and for all units, and you've got it.
 
I've come up with an idea that IMHO I think also adds a little realism to the game.

See my 'Unit Food Maintenance?' thread...
 
Linearly increasing vulnerability in its effect on overall combat capability is similar to an exponential penalty, since it becomes more severe each time. Combat effectiveness is proportional to somewhere between strength^2 and strength^3, and over short range, (1-x^2) approximates (1-p^x). Is this close to the sort of exponentially increasing penalty you had in mind?

What I would understand a linearly increasing penalty to mean would be that each unit in a stack would have a decreasing level of real strength as units were added to its stack, in a constant manner (i.e. a real strength of 10, then 9 when the stack is expanded, then 8 when the stack is expanded by the same amount again, then 7, etc.). The system I would think better is that which allows for real strength to decrease more in the way of 10, 9.9, 9.7, 9.4, 9, etc., all the way to a value of zero for infinity units (obviously involving some point of inflexion somewhere, with that somewhere being are close to infinity as possible, so that there isn't some random high value that can be obtained to minimise the penalty). I'm tired, so I may not have understood your post properly, but if that's what you mean be linear penalty above a threshold, then I much prefer an exponential one.

BTW, when I say 'real strength' I'm referring to the net effect of various penalties on units within a stack.
 
What I would understand a linearly increasing penalty to mean would be that each unit in a stack would have a decreasing level of real strength as units were added to its stack, in a constant manner (i.e. a real strength of 10, then 9 when the stack is expanded, then 8 when the stack is expanded by the same amount again, then 7, etc.). The system I would think better is that which allows for real strength to decrease more in the way of 10, 9.9, 9.7, 9.4, 9, etc., all the way to a value of zero for infinity units (obviously involving some point of inflexion somewhere, with that somewhere being are close to infinity as possible, so that there isn't some random high value that can be obtained to minimise the penalty). I'm tired, so I may not have understood your post properly, but if that's what you mean be linear penalty above a threshold, then I much prefer an exponential one.

BTW, when I say 'real strength' I'm referring to the net effect of various penalties on units within a stack.
The problem with such penalties is that at some point adding more units to a stack will decrease the total power of the stack. That is such an unintuitive thing to occur from a gameplay perspective, that it should be avoided.

In mathematical terms this condition means the following. If p(n) is the penalty function (i.e. the function by which the power of each unit in a stack of n units is multiplied to get its effective power). Than
-1/n < p'(n)/p(n) < 0.

(With the second inequality implying that p(n) is a decreasing function.)

This bound is violated both by the linear penalty as the penalty that you propose. Reasonable penalty functions would be:

p(n) = 1/sqrt(n) (effective power of a stack grows with the square root of the number of units).

or

p(n) = [1-exp(- c n)]/n (Effective power asymptotes to some value based on the base power of the units.)
 
If you consider increasing power with increasing units as a simple logarithmic curve (forever increasing y values (total power) for increasing x values (total units), but almost reaching a gradient of zero), then there is no backwards effect. Note that this isn't affected by one penalty, but by a number, such as maintenance cost (diminishing the ability of civs to create stacks) and bombardment penalties (increasing damage done to stacks by opponents), so it's a bit hard to represent as a single equation applying to unit power with regards to total units in a stack. I'm not proposing one set arbitrary penalty for units in a stack, but several realistic penalties that would have the effect of penalising stacks. But if that logarithmic function can be achieved through these penalties, then there is no point whereby power reduces with more units, so much as a point where total power doesn't noticeably increase with the addition of units.
 
(With the second inequality implying that p(n) is a decreasing function.)
why should p(n) be a constantly decreasing function? i think it would be better if p(n) would asymptotically approach some value: 0 < value < 1 like 0.7. sure adding more units to the stack will make the sum of all the units' strengths be bigger, but by a small amount.

(*) p(n) = 1/sqrt(n) (effective power of a stack grows with the square root of the number of units).

or

(**) p(n) = [1-exp(- c n)]/n (Effective power asymptotes to some value based on the base power of the units.)
(*): p(100) is only 10% of unit strength. p(300) is 5.8% of unit strength.

(**): i assume c > 0 and -c n is -c * n. as n grows, p(n) rapidly asymptotically approaches 0.

both of your proposals encourage SoD's because the more units are in it, the less the penalty.

(**) can be changed to something like (0.5 * n - exp(-c / n)) / n (if < 0, set to 0. e.g. no penalty).
however exp(?) grows and falls too fast.

why not adopt a simple rule: the penalty in % is equal to half the number of units in the stack? :dunno:
 
why should p(n) be a constantly decreasing function? i think it would be better if p(n) would asymptotically approach some value: 0 < value < 1 like 0.7. sure adding more units to the stack will make the sum of all the units' strengths be bigger, but by a small amount.
A function that asymptotically aproaches .7 from above typically is constantly decreasing. (monotonically would be the better word, but less well known)

(*): p(100) is only 10% of unit strength. p(300) is 5.8% of unit strength.

(**): i assume c > 0 and -c n is -c * n. as n grows, p(n) rapidly asymptotically approaches 0.

both of your proposals encourage SoD's because the more units are in it, the less the penalty.
Better redo your math. The penalty per unit increases monotonically with the number of units. The point is that the increase of the penalty NEEDS to become smaller with the number of units. Otherwise the total power of a stack would at some point shrink by adding more units.

(I think I see your mistake. p(n) is the factor by which the power of each unit is multiplied. Thus p(n)=1 would be no penalty, while p(n)=0 would be the maximum penalty.)

And how fast p(n) (**) approaches zero depends on the size of c. The point of (**) is that there is an effective maximum to the power of a stack. This maximum is approached by a stack of more than ~2/c units.


why not adopt a simple rule: the penalty in % is equal to half the number of units in the stack? :dunno:
Because in that case the total power of stack would decrease if you add more than 100 units. (And the total power would be 0 if you have 200 units.)
 
The problem is that if it is asymptotically reaching some value between 0 and 1, from 0, and is monotonically increasing, the initial rate of change will be greater than the final rate of change, meaning that the penalty for having 4 units instead of 3 is greater than the penalty of having 41 units instead of 40. Now, this meaning that the penalty decreases per extra unit as you approach higher numbers, which probably isn't the desired effect.

EDIT: Actually, now that I think of it, that would work...
 
Back
Top Bottom