Counter Attack and Control discussion

I don’t have any firm recommendations in mind, but I wanted to discuss the current state of Counterattack and Opportunity Attack, and possible changes to them. This seems like a good time to consider this topic because I imagine that a unit balance rework will be coming down the pipeline soon, and any changes to combat mechanics should be done before that.

As a new player, I found the distinctions between ‘attack’ ‘counterattack’ ‘control’ and ‘opportunity attack’ to be confusing, so I will try to lay out how I understand them to work now. If I’m wrong please correct me; to newer players this may be educational. (I realize that most of this is described in the in-game tool-tips, but I do not think they are accurate as the ‘control range’ tool-tip refers to ‘counterattack’ which may be wrong)

Attack Damage: Only happens on your turn. This amount of damage is the only combat variable visible on the tool-tip before you build the unit. This has a maximum range (1 means melee only), and can have a minimum range (like an artillery or a rickshaw)

Counterattack: Listed as a single damage number. This only happens on an enemy’s turn. Only when an enemy unit is adjacent to your ‘Unit A’, and attacks ‘Unit A’, then they will take this much damage (if Unit A survived the attack).

Control Range: Describes the area of spaces that the unit is “controlling” for lack of a better word. Also only happens on an enemy’s turn. If an enemy unit is standing on a space within this range and then takes a move action of any distance, they will take damage equal to your unit’s ‘Opportunity Attack Damage’.

Ok, that is the way it works right now, to the best of my understanding. Now for some edge cases, odd interactions, and opinions.
Attack Damage and Attack Range work great and are often the defining characteristics of a unit. I only ask that Attack Range be more visible before I build a unit, and even before I build the building that creates the unit.

Counterattack and Opportunity Attack are usually different from the unit’s normal attack damage (they are only 1 for most units, but not all). This makes sense, otherwise combat attrition would be very high, but it is mental burden to track potentially 3 different attack values for every unit. The tool-tip showing the counterattack or Opportunity Attack damage before I attack or move is very helpful when I remember to look at it.
Counterattack is adjacent only. Ranged units can attack anything without worrying about a counterattack, as long as they are not adjacent to their target. A common tactic is to move a melee unit next to an enemy ranged unit to pin it so that it would take damage if it moves or attacks. However, the enemy ranged unit can still attack anything else in it’s range without opening itself to a counterattack. Also, a unit can avoid an opportunity attack by being picked up by a friendly vehicle or building.
Control only applies to where a unit starts its move. If there is a solid line of units defending an area, a fast enough enemy can move completely through them with no fear. Moving into and out of the control range, and even through the enemy unit itself does not provoke an attack of opportunity.

Now for random thoughts about possible changes. Again, these are not carefully balanced fixes, but just ideas to start a debate.
*Counterattack might apply at the unit’s full attack range. There are so many unit match-ups that this change wouldn’t even affect, I’m not sure how big of a change it would really be, but it would feel more thematic.
*Opportunity Attack could trigger the first time an enemy unit leaves a controlled space, whether they started there are not. This would prevent running freely through a control zone, and open design space for a unit with ‘Control Range 2’ to be a strong counter to melee units.
*Opportunity Attack could trigger when an adjacent enemy attacks something else. Maybe this only applies when the enemy makes a ranged attack.
*the Trapper is a very unique unit, and any attempts to modify any of these parameters would require it to be reworked. But I’m confident Kyle can come up with something similar, so I’m not interested in restricting ideas to accommodate that unit right now.

I think that’s a start. I will reply here if I have more ideas on this topic, and I hope you will to. There are many things that could be said about specific units and how to balance them or make them more unique, but that is not the purpose of this thread. This may be our last chance to really get wild with the combat mechanics before the units become so finely tuned we are afraid to disrupt the balance.

Instead of Counterattack only working at melee range (adjacent units, the way it currently works) or working up to the unit’s full attack range (as I suggested above), Counterattack could apply against any enemy in the control range of a unit that attacks that unit. This makes control more powerful, possibly too strong, depending on how common units with high control range are.

I guess one thing that I’ve been working around this whole time is the idea of combining Counterattacks and Opportunity Attacks somehow, so there are less variables that I have to track for each unit. I wouldn’t want to diminish the design space for modders to make creative units, so hopefully all of the variables could still exist in the code.
But for the default Cantata unit set used in the campaign and multiplayer, I propose dropping “Counterattack Damage” as a separate value, and just use the “Opportunity Attack Damage” for both cases.
*Most units already have both of these values set to 1, so it’s not a huge change.
*Based on the current tool-tip language, it is very possible that the game used to function this way at some point. If that is so I’m sorry, I’m not trying to ask you to revert changes you already made with careful consideration.
*I like the concept of extending counterattacks to the control range or the full attack range, but those changes have more implications on combat, so I set those aside for now.

But what if you want a unit with high Counterattack and low Opportunity Attack, or vice versa? I think in most cases you are better off just making both values low or both values high for a specialized unit. The distinction would come up so rarely that most people wouldn’t notice, and it would make it easier to remember each unit’s strengths and weaknesses accurately (and shorten the mouseover tool-tip)

–Darclas double checks some units’ values in game–

…Maybe I’m making much ado about nothing with this proposal. As far as I can tell, “Counterattack damage” and “Opportunity Attack damage” are the same for every unit. The two units that have different values in their tool-tip are the Beserker and The Wall, and both appear to use the “Counterattack damage” value in both cases (ignoring the Opportunity Attack Damage variable). Not sure if this means that Kyle’s design already agrees with me or not.

You nailed all the basics! I think we in general need some sort of “unit info” panel to better see this instead of stuff it in a tooltip.

This is an open question for us imo. You’re right that it only happens if moving is initiated from inside a control range, but we don’t do anything about moving “through” the range. What do you think?

I like this idea but tbh it’s just a giant snafu of too much information, AND it makes ranged units really OP. One thing I have considered is something like XCOM “Overwatch” that puts ranged units on alert (maybe this is the above solve as well for units with control ranges?) so that things that move into their range get an automatic attack, (but a “real” attack instead of the smaller AoO).

This is interesting and I think could make sense. I’ll make a note of it. It reminds me a bit of Triangle Strategy’s sort of ally system where adjacent units to targeted enemies get a free attack on that enemy.

I think right now we do actually basically do this for units that have both. The reason they are separate right now is that they solve sort of “seperate” issues. CT/AOO has also been removed from a fair number of units in the next patch to make it more “special” — interested to see what you think. Modders can still go wild!

I think for Cantata this would be the case yeah, but there’s also a lot of stuff like this from a mod perspective that you may not want. Imagine a landmine — you could have it have 0 CT damage (you “destroy” it), but have 10 OpAtk damage (you are “caught” in its range). We want to give modders the flexibility even if we are largely just playing by the rules.

Whenever I’m talking about Opportunity Attacks, my brain defaults to TTRPG rules (specifically Pathfinder 1e is my current point of reference). So anything different from that feels off to me right now, but that’s not fair because it’s a completely different game.

In that system, each unit gets only one Attack of Opportunity per turn; the first time an enemy leaves a space that the unit can attack with a melee or reach weapon, the unit may make a normal attack against them. Doesn’t matter where the enemy movement started. A unit may also use its AoO if an enemy in its reach uses a ranged weapon (or tries to cast a spell). There are a million rules that can modify this, but that is the core rule.

I don’t know if that would work for Cantata or not, but it feels right to me simply because I’m more familiar with it. Hopefully that explains my opinion and my bias.
Using this system, you may safely approach an enemy melee unit, but if you try to pass them (or leave contact) you will provoke an AoO. Giving an enemy unit a reach of two spaces (with a polearm or spear) changes the dynamic, now if you try to move up to them, you will provoke an AoO before you reach melee range.

However, counterattacks are not a normal thing in that system, so adding them really changes the balance of everything. This isn’t a complete solution, but hopefully it clarifies some of my thoughts.

Yeah yeah I think this makes sense for what you’re thinking. I think the main addition I’m pulling from this is that:

  • OpAtks should trigger if something in control range attacks
  • Possible “Overwatch” mode that means that if something moves into (or through) your control range, you stop them in place and get an attack.

I know XCOM uses vision (or atk?) range for Overwatch, but there’s also way less fog in that. It would feel very bad in Cantata if you were constantly stopped in place by enemy vision/atk range overwatch, especially for the number of potential moves/units.