Author Topic: Fixing combat mechanics  (Read 4075 times)

0 Members and 1 Guest are viewing this topic.

Re: Fixing combat mechanics
« Reply #15 on: December 25, 2019, 04:00:52 PM »
I came up with few ideas. Help me choose.

I assume we do not care about internal combat mechanics as long as we get desired outcome: one unit gets destroyed with certain probability/odds, another gets damaged to some extent. Let me know if you think otherwise and definitely want to preserve current mechanics.

Few terms.
unit strength: the corresponding final (all bonuses combined) attack/defense value unit uses in the battle.
HP: hit points left.
power: strength * HP.
firepower (FP): damage dealt to unit that loses the combat round. In current WtP implementation it is 10% or 1/10.

degree of odds emphasis: some degree/power showing how much we skew odds in favor of stronger unit. For example, virtual one round combat does not emphasizes odds at all - each unit wins proportionally to their strength. In vanilla regular fight of fully healed units raises based odds in the power of 6.6 approximately.
If we somehow apply power of 2 for odds emphasis that would turn base 2:1 odds into (2:1)^2 = 4:1 actual winning odds.

Idea 1
Keep existing multi round combat mechanics but multiply everybody's firepower so each round inflicts more than 1 HP damage. This effectively decrease number of rounds and degree of odds emphasis. The firepower should be whole number for assembler code to work the same but can be configurable.
Pros: easy fix, easy to change configuration.
Cons: 1) Unclear dependency between firepower and odds emphasis. Needs a lot of testing just to understand the effect. 2) Too coarse grained HP jumps. If we set say FP = 5 then unit will lose HP in chunks of 5 and unit with HP = 1,2,3,4,5 all have equal chances in battle.

Idea 1a
Same as above but add some randomization to damage. Say hard 5 turns into random number from 1-9 range. That somewhat overcomes fixed HP chunk loss. Now it is random too. However, this makes real battle winning odds calculation a huge task. It may even noticeably slow down the program.

Idea 2
Abandon combat rounds mechanics altogether and instead calculate chances as we pleased. My proposition is to use Att1*HP1/Def2*HP2 as base odds. Very simple and very transparent to the player. Unit chance to win is proportional to both item strength and HP left. Half damaged unit is exactly twice as weak.
This way we can set up arbitrary odds emphasis degree directly. For example set it to power of 2 which translates 4:3 -> 1.78:1, 3:2 -> 2.25:1, 2:1 -> 4:1, 6:1 (early needlejet vs unarmored former) -> 36:1.
Pros: easy for player to understand and visualize, easy to explain in help, easy to calculate final battle odds, custom functionality is easy to configure and adjust = less testing needed.
Cons: we probably lose this cool fshooh-fshooh-fshooh sound and animation of multi round combat.

Idea 2a
Same as above but introduce guaranteed winning odds threshold instead of relying on big emphasis degree. For example, we can even do not emphasize odds at all but require that odds 4:1 and above result in guaranteed win. If this is what you guys actually want. Winner still may receive some damage, though.
This seems to not overemphasize odds for close strengths combat and do not let trireme kill ironclad at the same time.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #16 on: December 25, 2019, 06:17:27 PM »
I assume we do not care about internal combat mechanics as long as we get desired outcome: one unit gets destroyed with certain probability/odds, another gets damaged to some extent. Let me know if you think otherwise and definitely want to preserve current mechanics.

As preamble to further thought, I'd add 2 additional requirements to this:

  • That the results are commensurate with rational phenomena within the game world, that the player understands and can readily observe.  For instance, Needlejets that die when attacking unarmored Formers is disqualified on that basis.  A defender getting a Rocky terrain bonus is rational.  The player may neglect to notice it, but an Odds Calculator would list it.  It's acceptable to sum up a lot of factors; the relative weight of any 1 of those factors must be considered in the total context.
  • That the damage done to a victor, should somewhat resemble the damage that would be done in the original game.  The reason being, that we build a up a lot of intuitive muscle memory for how things work.  We rely more on this muscle memory, our collective recollection of trial and error, than any explicit formula.  For the simple reason that this is what we actually have lots of experience with.  I can't tell you exactly the odds of a Musketeer in Civ II or Freeciv, for instance, but I know how they behave due to lots of combat with them.  I know what they can and can't do.

If (2) is to be changed, then it should be changed on a well ordered basis that a player can perceive and readily adapt to.  In short, if you're going to mess with a player's expectations about how things work, then you have an obligation to successfully reprogram those expectations.  Not just provide new gratuitous confusion and gaslighting.  There's a point at which the player can say "this is not enough like the original game, this is not rational, I don't know what's going on" that they just put down the game as sucky.

Now having read some, I think your proposals 1 and 1a simply introduce capriciousness.  Looks like a wild goose chase with a totally new combat mechanism.  Would take lots of testing iteration to figure out how it "feels" to the player.  More iteration than you've got playtesters to give you feedback about, TBH.  Smells like a bad idea relying on change for change's sake, without solving core problems of consistent player perception.

2 and 2a are more workable proposals to start from.  Their problem though, is they say nothing about how much damage is going to be done to the victor.

Quote
Cons: we probably lose this cool fshooh-fshooh-fshooh sound and animation of multi round combat.

That might not be a trivial consideration.  Terminated combat noise, is the cue for disengagement of fast units, or standoff for land vs. sea artillery.
« Last Edit: December 25, 2019, 06:50:50 PM by bvanevery »

Re: Fixing combat mechanics
« Reply #17 on: December 25, 2019, 09:55:56 PM »
Quote
Cons: we probably lose this cool fshooh-fshooh-fshooh sound and animation of multi round combat.

That might not be a trivial consideration.  Terminated combat noise, is the cue for disengagement of fast units, or standoff for land vs. sea artillery.

I didn't test it yet but I think the terminal blowout animation will stay.
However, I see that there are cases of disengagement or one round artillery combat those need to be programmed too.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #18 on: December 25, 2019, 10:00:59 PM »
I suppose the sound of the enemy exploding is a good cue that you won.  It's quite different from disengagement which has no such sound.  Just a pause, during which time the "disengaged" text displays at the bottom of the map window.  I do have Fast Combat Resolution always on.

Re: Fixing combat mechanics
« Reply #19 on: December 25, 2019, 11:13:15 PM »
OK. Let's go path 2 then.
Base odds are A1*HP1:D2*HP2. Then we may raise them in some power to get winning odds to emphasize stronger unit.
Stronger victor gets random damage around same average as in vanilla.
Weaker victor gets random damage around 100%.

Here are other use cases. Did I get them all?
  • Fight to the death. That includes artillery duel and scrambling interceptor.
  • Bombardment.
  • Artillery one round combat.
  • Disengagement.

Everything except #1 can be left as is.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #20 on: December 25, 2019, 11:39:15 PM »
Quote
Weaker victor gets random damage around 100%.

I don't recall what the game actually does.  There's a lot of policy to be decided here.  Consider when odds are close to 1:1, for instance 1.1 to 1.  Let's say Defender wins.

Saying Attacker is dead, Defender is all but dead, is a policy in favor of attrition.  Nearly equal odds means no combat advantage can be gained.  Strategically, whoever can produce more combat value in their units, will invariably win by attrition.

Saying Attacker is dead, but Defender survives with 25% or even 50% HP intact, is a policy in favor of combat is risky.  This would encourage players to build up large forces rather than commit small numbers of them, for fear that the luck of war could go against them.

I won't be surprised if the original game actually implements a broad range of outcomes.

Re: Fixing combat mechanics
« Reply #21 on: December 26, 2019, 12:31:32 AM »
Quote
Weaker victor gets random damage around 100%.

I don't recall what the game actually does.

It does this exactly. I plan to mimic vanilla in every way where it is not critical for me.

Saying Attacker is dead, Defender is all but dead, is a policy in favor of attrition.  Nearly equal odds means no combat advantage can be gained.  Strategically, whoever can produce more combat value in their units, will invariably win by attrition.

Saying Attacker is dead, but Defender survives with 25% or even 50% HP intact, is a policy in favor of combat is risky.  This would encourage players to build up large forces rather than commit small numbers of them, for fear that the luck of war could go against them.

I won't be surprised if the original game actually implements a broad range of outcomes.

It doesn't implement anything specifically beyond combat rounds exactly as they are described in wiki. The "broad range of outcomes" comes from random distribution.

I don't think any random outcome in 1:1 combat encourages any kind of strategy. If you don't kill damaged survivor with second unit pretty soon it'll heal up regardless of how damaged it is.

Re: Fixing combat mechanics
« Reply #22 on: December 26, 2019, 01:11:20 AM »
I am a fountain of wild ideas today. They may be not all suitable but they are beautiful nonetheless. Or at least they appear to me as such now.
:)

Apparently all use cases 2-4 in my last analysis those do not result in imminent destruction are fine. It is completely natural when stronger unit delivers bigger damage to opponent. Weakened units then could be much easily destroyed in following turns. The cornerstone problem that ignited me to combat mechanics analysis was too high chances of winning isolated combat with 3:2 odds as survivor owner does not incur losses after healing damaged victor. Soooo, I was thinking, would it be acceptable to allow regular combat use case #1 to not end with ultimate destruction? For example, do at most 5-10 combat rounds or so. This way close odds like 3:2 would result in both units partially damaged proportionally to opponent strength. Whereas, too unbalanced odds like 4:1 would still result in very weak unit destroyed outright.

Don't beat me up yet. I clearly understand that this drastically change positioning tactics. Now battle of fully healed units with close strength may last more than one turn. However, look at advantages.
  • Super precision unit positioning to chose right time and distance to attack to get a first strike advantage - this becomes less critical now as both units have the opportunity to use their attack and defense interchangeably. This somewhat benefits AI with its lack of precise positioning and timing tactics.
  • First strike is still important but not that crucial anymore.
  • Surprise attack may not kill victim outright and give it chance to either flee or counterattack.
  • Base assault will last longer and will give defender more time to strengthen the defense. At the same time this modification doesn't change total war duration. It increases number of battles but there will be more battles in turn as there are more survivors around. On a large scale the proportion of economical scales still determines the war outcome.
  • Multi unit battles like base assault won't change too much. They will last a little bit longer but still involve exchanging strikes from each side. It is still completely doable to take base in one turn. One just need more units to kill wounded defenders. Should work well if we tone down CC 100% healing rate.
  • Singe unit battles are more fairer now as both units can use their attack and defense ratings in their turn. At the same time, severely damaged unit has a chance to retreat after first damage wave. This is essentially same functionality as for in-combat disengagement!!! Just not in the same turn. So faster attacker can still chase and finish wounded slower opponent. Speed now gets more tactical use.
  • Wounded unit now has heightened chance to die in the first wave. That is another tactical consideration for player whether they want to heal unit up or throw it in battle.
  • Morale becomes very important in psi combat because it applies on both attack and defense.
  • Attacking bunch of weaker units distributes damage across them. Every next turn new fresh defender is chosen. Not sure if everybody likes it, though.
« Last Edit: December 26, 2019, 05:34:00 PM by tnevolin »

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #23 on: December 26, 2019, 11:22:04 AM »
It does this exactly. I plan to mimic vanilla in every way where it is not critical for me.

So a defender can never hope to survive the attack of a stronger attacker without getting completely chewed up?  I find that a bit hard to believe, but maybe I've been very good at avoiding being on defense lately.

Quote
It doesn't implement anything specifically beyond combat rounds exactly as they are described in wiki. The "broad range of outcomes" comes from random distribution.

The probability shape of the breadth is still a design.  It can emphasize different outcomes.

Quote
I don't think any random outcome in 1:1 combat encourages any kind of strategy.

Your next claim is false, so doesn't support this view of yours.

Quote
If you don't kill damaged survivor with second unit pretty soon it'll heal up regardless of how damaged it is.

Not all combat occurs in bases with insta-healing.  Wandering out in the bush, it takes many turns to heal, and you'll never heal more than 80%.  Some Secret Projects make it otherwise: the Nano Factory everywhere, and the Pholus Mutagen on fungus.

Artillery suppresses healing.

Re: Fixing combat mechanics
« Reply #24 on: December 26, 2019, 02:44:50 PM »
So a defender can never hope to survive the attack of a stronger attacker without getting completely chewed up?  I find that a bit hard to believe, but maybe I've been very good at avoiding being on defense lately.

Of course it can get win without a scratch. It's all random chances but its average damage when survived is close to 100%. See table attached. Left column is odds. Right column is an average HP left if unit survived. You see it gets closer and closer to 1 with decreasing odds.

Besides, you are the seasoned play tester. Set up a scenario and test/prove it if you are sure this is too off.

Even more besides, who cares about weaker unit HP left? Just winning a battle is pretty hefty piece of luck already. It will either crawl back to safety and heal up for isolated combat or will die anyway by second strike from a swarm of enemies.

Re: Fixing combat mechanics
« Reply #25 on: December 26, 2019, 05:46:39 PM »
The probability shape of the breadth is still a design.  It can emphasize different outcomes.

That is correct and that is what this fuss and topic is about. Vanilla distribution is extremely narrow due to multi round combat. I am seeking ways to widen it back without breaking other features like averages, etc.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #26 on: December 26, 2019, 06:53:35 PM »
That table has to be wrong somehow.  a/d=0.1 describes 1:10 odds in favor of the defender.  With odds that grossly favorable, the defender should be left with 10 HP.  Otherwise we'd always attack with Scouts for the massive amount of damage they'd do as they committed suicide.  Game doesn't work that way.

I assumed the right column is the defender surviving, because that's what we've been talking about.  If it's the attacker surviving... reanalyzing, BRB.  Ok, I am unclear what columns 1 through 10 mean.


Quote
Even more besides, who cares about weaker unit HP left?

The defender does.  They may be sitting in base and that's all they've got left.

« Last Edit: December 26, 2019, 07:21:56 PM by bvanevery »

Re: Fixing combat mechanics
« Reply #27 on: December 26, 2019, 07:05:44 PM »
That table has to be wrong somehow.  a/d=0.1 describes 1:10 odds in favor of the defender.  With odds that grossly favorable, the defender should be left with 10 HP.  Otherwise we'd always attack with Scouts for the massive amount of damage they'd do as they committed suicide.  Game doesn't work that way.

I assumed the right column is the defender surviving, because that's what we've been talking about.  If it's the attacker surviving... reanalyzing, BRB.

Sorry for for confusion. Right column is an average attacker HP left if survived.
The probability of weaker unit (attacker in this case) survival is much less than 50%. The table shows how many HPs it has if it happens to survive. Doesn't tell you anything about winning chances. This is just an illustration what games does to weaker victor HPs.

For 0.1 odds (1:10) if it happens that attacker wins it usually left with ~2 HP on average. Which means either 1 or 2 most of the time.

Offline bvanevery

  • Emperor of the Tanks
  • Thinker
  • *
  • Posts: 6370
  • €659
  • View Inventory
  • Send /Gift
  • Allows access to AC2's quiz & chess sections for 144 hours from time of use.  You can't do without Leadship  Must. have. caffeine. -Ahhhhh; good.  Premium environmentally-responsible coffee, grown with love and care by Gaian experts.  
  • Planning for the next 20 years of SMACX.
  • AC2 Hall Of Fame AC Text modder Author of at least one AAR
    • View Profile
    • Awards
Re: Fixing combat mechanics
« Reply #28 on: December 26, 2019, 07:36:33 PM »
What are columns 1 through 10?  Some kind of ongoing per round survival but it's not clear what's being measured.


Re: Fixing combat mechanics
« Reply #29 on: December 26, 2019, 07:40:51 PM »
What are columns 1 through 10?  Some kind of ongoing per round survival but it's not clear what's being measured.

A chance for attacker to get left with exact so many HPs. Don't pay detailed attention to this table. It has little to do with this topic. It is just an illustration that weaker unit if survived most likely lose almost all of their HPs. That's all.

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

The prevalence of anoxic environments rich in organic material, combined with the presence of nitrated compounds has led to an astonishing variety of underground organisms which live in the absence of oxygen and 'breathe' nitrate. Likewise, the scarcity of carbon in the environment has forced plants to economize on its use. Thus, all our efforts to return carbon to the biosphere will encourage the native life to proliferate. Conversely, the huge quantities of nitrate in the soil will be heaven to human farmers.
~Lady Deirdre Skye 'The Early Years'

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 36.

[Show Queries]