Solving the SoD issue

What do you think wold solve SoD?

  • Make all units cause some collateral damage

    Votes: 1 5.9%
  • Raise maintenance cost for military units

    Votes: 1 5.9%
  • Use Surround and Destroy

    Votes: 6 35.3%
  • Place an artificial limit on the maximum number of military units

    Votes: 3 17.6%
  • Limit the maximum number of units per tile

    Votes: 6 35.3%

  • Total voters
    17

QuantumProjects

Warlord
Joined
Jan 18, 2011
Messages
100
Hi everyone!

I've spent some days at the Civ5 foruns, and I've seen many people complaining about Stacks of Doom (SoD), which are possible in Civ4, and how unpleasant and unbalaced the combat system is because of SoD.

Then I've got the idea of discussing the possible solutions to SoD with the community, but also submit a poll for those viable solutions I could think of. Peharps the results of this poll could be used by modders as a knowledge base for their future modcomponents :)

I could think of five possible solutions:

1. Make all units cause some collateral damage: in vanilla BTS, only siege machines cause collateral damage, and they are used a lot by human players to tear stacks of units apart, so this option seems very interesting for preventing SoD, and it wouldn't take much modding to implement it.

Further developing the idea: maybe collateral damage could be a percentage of the unit's power, which could vary from the different types of units. Maybe warriors could cause 10% of their power as collateral damage, while horseman could cause 25% and siege units, 100% or 200%.

It also could be caused only by the attacker, the defender, or both.

2. Raise maintenance cost for military units: this is also very simple to implement in a mod, I think. More maintenance per unit means a huge army would require a very strong economy, or the empire would break apart. The consequence: few units to maneuver around the map, which means that you would have few stacks on some strategic places.

3. Use Surround and Destroy: this feature was sucessfully implemented in ROM (peharps on earlier mods, but I don't know for sure). It means that surrounding units would provide a bonus for the attacker or the defender when they attacked a unit, or defended from it. It adds tactical elements to the game, without breaking the overall game dynamics.

4. Place an artificial limit on the maximum number of military units: possibly, this could be achieved with C++ coding. Other games use this feature to prevent Carpet of Doom or Stacks of Doom, the most similar example would be Space Empires V, IMHO, but also Warcraft, Age of Empires, among others. This isn't realistic, but could prevent SoD, because if you can produce only 'x' number of units, you cannot have all your units in one single stack, otherwise you'll be defenceless elsewhere.

5. Limit the maximum number of units per tile: exactly what Firaxis did with Civ5, I believe it could be done in C++. I'm not found of this solution, though, and the overall complaining about 1upt in Civ5 foruns speaks for itself.

Well, what you think about it?
 
I think there should be a hard limit on units per tile, 4 or 5 maybe, physically there has to be a limit on how many troops you can fit/support somewhere - perhaps it would differ depending on the terrain, say less in forests, more on plains??

Another idea I brought up in a different thread last week was a concept of friendly fire - where overcrowded tiles may cause you to inflict collateral on yourself. Would be worse with older melee/gunpowder units, less so with better experienced troops, or with advent of radar/various tech advances.
 
SoD are a mythological problem in my opinion. If you know the enemy is churning out units and you do nothing about it, you're an idiot and you deserve to get mowed down. Regardless of whether they are in a stack or individual makes no difference to your defence either.

Example 1:

The enemy has 20 units about to attack your city and you have 2 defenders. You're going to get battered regardless of whether the enemy attacks from 1 square or from all 8 surrounding squares. In fact a well placed artillary unit is going to cause that stack more trouble than any number of individual units.

Example 2:

You have 5 units and the enemy has 20 units means you're very likely going to get hammered unless your individual units have a technology advantage and/or promotions and terrain bonuses.

How is a stack or 1upt going to make any differece to the outcome of being vastly outnumbered by similar tech units?

You can use terrain to your advantage regardless of stacks or not. You can't however do anything about the troop congestion you get with 1upt.

Having expressed my opinion I do think there are a couple of good things you can introduce to improve the use of stacks.

1 - Add combined forces promotions, like in the Total War Mod, if I remember correctly. Spearmen give other units a small bonus against mounted, axemen give a small bonus against melee and archers give a small collatoral damage bonus against all defending units. That way stacks become more dependant on mixed forces rather than on shere numbers.
2 - Add surround and destroy to improve the use of flanking and outmaneuvering the enemy.

In my experience the people that complain about SoD are not too keen on the warfare aspect of Civ full stop. They don't prepare for war and because of this they think the SoD is the problem. A SoD is not a problem if you have a SoD of your own. In fact a SoD is not a problem if you have an equal number of troops in any number of small or large stacks... it's only a problem if you defend badly and don't prepare to face a massive army that the enemy has prepared.
 
SoD are a mythological problem in my opinion. If you know the enemy is churning out units and you do nothing about it, you're an idiot and you deserve to get mowed down. Regardless of whether they are in a stack or individual makes no difference to your defence either.

(...)

In my experience the people that complain about SoD are not too keen on the warfare aspect of Civ full stop. They don't prepare for war and because of this they think the SoD is the problem. A SoD is not a problem if you have a SoD of your own. In fact a SoD is not a problem if you have an equal number of troops in any number of small or large stacks... it's only a problem if you defend badly and don't prepare to face a massive army that the enemy has prepared.

I partially agree with you. What you stated is true, granted, but I think that collateral damage would provide interesting strategic options and minimise complaints from casual players. "Alright, I might crush your stack of four swordmen with my super stack, but I risk receiving severe collateral damage, which I don't want to. If I split my stack, peharps some of my units won't be in position to strike your archers over the hills, and taking one more turn to reach them might make me loose a city.
 
If I remember correctly having units which aren't siege cause collateral damage causes CTDs. I can't remember if anyone found a fix to the code (dll) which would work or if it was an underlying (exe) problem.

I agree that SoDs are not the problem. Some mods have a conjestion penalty for when there are too many units on a plot unfortunatly it does not scale for the "real" size of the plot. It may help provide a solution to the real problem.
 
Yes, the Civ5 fans vilify stacks of doom as an example of why they feel that game is superior to CivIV, but having the map choked with a "wave of doom" that the AI doesn't have any idea about how to use is certainly worse.

I don't think the CivIV AI is capable of properly using a tile stacking limit and it is possible that creating a limit to total number of units for a Civ might unbalance the game according to what the AI will do with all the extra production. (baldyr already wrote a python scrypt for that which apparently no one, to include myself, ever implemeted and tested. http://forums.civfanatics.com/showthread.php?t=407896 ) I feel the best way to tweak the situation a little would be by increasing unit production and maintenace cost. The AI may be able handle that well and it is somewhat simple to do.

Certainly one would not want to prohibit the creation of large armies, but rather just reduce their size a little. After all, a huge well developed Civ should be capable of "steam rolling" over a tiny one: i.e WWII Germany and the low countries, etc. One could say that CivIV got it mostly right in that if your civ is puny it runs the risk of being crushed by the leading AI Civ. Antmanbrooks does make a good point in that Stacks of Doom may not really be so "unfair" or "unbalanced" as some would say and the complaint attributed more to frustration over being surprized by an AI opponent that has prepared to go to war with you.
 
I actually like SoD.
It gives a realistic sense of power/early warfare where tens of thousands soldiers confronted each other on the battlefield. I would however like to set a fixed upper limit on 16 UPT (4x4) though. Its still a SoD, the AI can cope with it, and it gets "easier" to organize/control/overview somehow.

What I really miss is a form of Stack Attack or a Battlefield View. It doesnt have to be that advanced, and could be as simple as CtP or Warlords II style.

I also miss different kinds of attacks (ambush/skirmish/combined arms) and different kind of formations.

and I would also like to get a number on how many troops/men are actually present. I would bring great immersion IMO.
 
I actually like SoD.
It gives a realistic sense of power/early warfare where tens of thousands soldiers confronted each other on the battlefield. I would however like to set a fixed upper limit on 16 UPT (4x4) though. Its still a SoD, the AI can cope with it, and it gets "easier" to organize/control/overview somehow.
What I really miss is a form of Stack Attack or a Battlefield View. It doesnt have to be that advanced, and could be as simple as CtP or Warlords II style.
I also miss different kinds of attacks (ambush/skirmish/combined arms) and different kind of formations.
and I would also like to get a number on how many troops/men are actually present. I would bring great immersion IMO.

I don't see any problem with SoD too, and I really miss Stack Attack and the Battlefield View. I DO miss the different kinds of attack and defense, but I do not miss formations, I think they add unneeded tactical complexity to a strategic game.

I believe there's no way of coding all that in Civ4, actually. *Sigh*
 
ROM uses a surround and destroy mechanic? I didn't know that, it's not on their preview page. Does it work well, and can the AI use it?

Anyway, there wasn't a polling option for an attrition system, that naturally causes damage, increasing exponentially with unit density. This would mirror the historical logistical problems faced by large armies like disease and starvation (especially in enemy territory where you can't heal quickly), without relying on an artificial cap.

Obviously you would need to code it so that Napoleon always ignores this mechanic, and tries to march his SoD all the way to Moscow regardless.
 
I voted for Artificial Limits with the stipulation that units are tied to how many total citizens you have.

My reasoning: you can only have so many people pick-up guns and fight for you. And of those, you usually will pluck them from the populous. So to me, it makes sense to base how many soldiers you can have by how populous your cities are. I figure for every soldier fighting a war, there is a person back home growing food to feed that soldier so that sort of ties in with food supply for troops as well.

It can be coded via python quite easily: http://forums.civfanatics.com/showthread.php?t=407896. Although the AI doesn't handle it quite as good as I'd hoped but there is plenty of promise in this code.
 
> 1. collateral damage

Only attacking causes collateral damage. So that would require either modding the combat system, or giving all units ranged bombardment. For the former the AI wouldn't know about, and the later I think would result in stagnation as units only bombard and never assault the tile.


> 2. more unit mainenance

The AI doesn't consider this at all. It'll keep building units only to have STRIKE disband them. If it can build them faster than STRIKE disbands them we'd still have SODs. Also, the AI research would fall down.


> 3. Surround and Destroy

As posted already, no AI support.


4. Place an artificial limit on the maximum number of military units:

Just the the cannotTrain python function. Count the players units..

Again, the AI won't know about this. It would take some work in the bowels of the AI decision making code... if that's even feasible.


5. Limit the maximum number of units per tile

Yes, I think this has already been done somewhere, but again no AI support.


This is not a trivial thing to fix. The key is in making the AI consider it.


That said, my vote is for limiting the number of each class that can be built. I've been modding "The Mega Mod" to put in (amongst other things) decreasing MaxPlayerInstances. For example 15 warriors, 10 swordsman, 5 rifleman, 3 bombardment types (catapult, artillery..), and only 2 paratroopers can be built, etc... This doesn't solve the "blanket of death" though. Instead what is seen is the army becomes a mix of 1st line, 2nd line, 3rd line units... which is good in it's own right, but doesn't solve the intended problem only reduces it some. A bit more is needed. Complications come from the barbs, which use the same unit classes, and the barbs need lots of units, esp early, so they would need to have separate classes. The other is that CS are rather powerful in The Mega Mod (v22), so CS armies are very powerful, and make essential allies! Again they'd probably need separate unit classes. Someone made a mod that could be modded to accomplish this, but I haven't tried.

Another approach would be to increase unit production cost as more are built. ROM/AND has some of this with the Warlords units. Just do this for all units! First rifleman = cost, 2nd rifleman = 1.05 * cost, 3rd rifleman = 1.1 * cost .. 10th rifleman = 5 * cost (some sort of hockey stick function). Errr.. yeah, just like the post above which posted while I was still writing!


As for population, there would need to be an inverse relationship at some point. Consider that right now the US has 1% of it's population in the military (~3 million) with a pop of 300 million. In the 1991 Gulf War Iraq fielded an army of .55 million with a population of somewhere around 22 million (~4%) and that was the.. 4th(?) largest army in the world at the time.
 
> 2. more unit mainenance

The AI doesn't consider this at all. It'll keep building units only to have STRIKE disband them. If it can build them faster than STRIKE disbands them we'd still have SODs. Also, the AI research would fall down.

I voted for Artificial Limits with the stipulation that units are tied to how many total citizens you have.

No. CCV already has got system 2) and the AI has been modified. And the combination of a gold and people support system works fine. Almost all units require some population points too. If you have not enough population to support your army you will have to pay a lot of extra money for each missing population point. ;)
 
This works in two ways ...

Part 1) The AI needs to protect cities, so it will place it units into cities by default. This causes a buildup of units in cities.

Part 2) What I did was increase the unhappiness in cities when more units are in cities. The effect of this is because of part 1 above the AI then spreads it's units around it's cities automatically.

Part 3) I have limited the number of units in a class as well. e.g. artillery = 5, etc.

This of course does not stop the human player creating SoDs outside cities, but he is still limited by the unhappiness and number of possible units.
 
This works in two ways ...

Part 1) The AI needs to protect cities, so it will place it units into cities by default. This causes a buildup of units in cities.

Part 2) What I did was increase the unhappiness in cities when more units are in cities. The effect of this is because of part 1 above the AI then spreads it's units around it's cities automatically.

Part 3) I have limited the number of units in a class as well. e.g. artillery = 5, etc.

This of course does not stop the human player creating SoDs outside cities, but he is still limited by the unhappiness and number of possible units.

Wouldn't this further imbalance SoDs? - with less units in cities, and stacks roaming about. As in old versions (1&2??), units away from a home city should cause some unhappiness I would think....
 
It works in my mod ... that is all I can say. And the AI does not seem to roam as much because of the limitation I have placed above.
 
4. Place an artificial limit on the maximum number of military units: possibly, this could be achieved with C++ coding. Other games use this feature to prevent Carpet of Doom or Stacks of Doom, the most similar example would be Space Empires V, IMHO, but also Warcraft, Age of Empires, among others. This isn't realistic, but could prevent SoD, because if you can produce only 'x' number of units, you cannot have all your units in one single stack, otherwise you'll be defenceless elsewhere.

I've been thinking of modding this in as an experiment. I actually think it's a fairly realistic option if the limit were based on such criteria as population and access to strategic resources. Maybe even civics or leader traits could be a factor so warmongers could still build larger a larger military. There could also be adjustments based on difficulty level, with higher-level AIs being able to build more units relative to the human player.

The point about the AI needing to be able to take this into account is well-taken, of course. For one thing, the current AI will abort war plans if it can't build enough units in a certain period of time. What if it can't do so because it hits its unit limit?
 
I've already tried this concept. There is no easy way to connect the population points with the number of units. If you use a simple formula like 1/2/3 per population point you will have trouble in the early game and so many available points in the late game that the SoDs are back again. I've already done it. It's IMBA or too difficult.

Furthermore a limit on the maximum number of military units will destroy the composition of units for the AI. Typically the AI will be near or at the maximum of units. But when a new unit type like air units , anti-air units or anti-tank units appear the AI would have to kill some existing units and build the new type to still have a well balanced unit composition. But without new AI code and concepts this won't happen. I've tried it too. An artificial limit leads in modern times to AI armies without submarines, aircrafts, airdefense,... !
 
I must say I used to fear SoDs more than now, the answer, even if (especially if) you are a peace-monger, is to build your own stacks!
 
No. CCV already has got system 2) and the AI has been modified. And the combination of a gold and people support system works fine. Almost all units require some population points too. If you have not enough population to support your army you will have to pay a lot of extra money for each missing population point. ;)

Very nice :goodjob: Is there a list of mods using CCV?

I hate having to manage a million units, and that anything before civV the warfare is so city-centric. With SODs there is very rarely a way (eg choke point) to defend the terrain around the city, so instead the city must be defended since if only 1 plot is exposed the player can just move all the SOD there, and then assault the city. With civ5 at least I can hold the flanks and limit the exposed surface area of the city. With "move after combat" many units might be able to attack from that single hex in a turn, but all those types (armor, cavalry) seem to have large negative city attack modifiers so it's difficult to take a city this way. For civ4 this would be the test for me, if a mod can be created where it's actually important to defend not only the city, but it's flanks as well. The battles for Stalingrad, Leningrad, Moscow.. the Russians held the flanks, and won the battles. Smolensk, Minsk.. surrounded and lost.
 
Back
Top Bottom