Page MenuHomeWildfire Games

[gameplay] make siege engines uncapturable
ClosedPublic

Authored by Nescio on Dec 21 2019, 4:28 PM.

Details

Summary

This patch removes the <Capturable> stat from all siege engines. In reality, war machines are not more capturable than arrows, swords, chainmails, horses, or elephants, none of which are capturable in 0 A.D. Rams, ships, and other military units are currently not capturable either.
More than anything else, artillery requires specialists to operate them. Artillery being captured, turned around in the heat of battle, and starting firing on the troops of its previous owners is rather unrealistic.
Moreover, it can be rather annoying for players who want to destroy enemy artillery that capturing is the default.

[EDIT] In compensation, artillery pierce armour is severely reduced, making them much easier to be destroyed by e.g. spearmen. Battering ram and siege tower armour is not changed.

Related: D2494.

Test Plan

Check for mistakes and omissions, apply the patch, play-test a couple of games, agree this is an improvement.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

I'd be very happy if attacking siege engines was the default, but in my opinion, capturing ranged siege engines isn't too bad. It already happens very rarely as players tend to have those things near their army, so capturing them only really happens if a player somehow forgets the siege weapon in some area or the siege engine wasn't brought back in time after an enemy gains a big army lead. Even in such cases, players have plenty of time to delete the siege engine as capturing takes a while.

I agree isnt accurate dont capture siege engines. This happens in the Roman-Judean war.

I agree isnt accurate dont capture siege engines.

Does that mean you're in favour of making siege engines uncapturable or against?

I'm in favour of this change.

(I'd be in favour of removing capturing entirely from the game to be honest so my opinion is maybe not too relevant)

(I'd be in favour of removing capturing entirely from the game to be honest so my opinion is maybe not too relevant)

Capture attacks only or capture points entirely (hence also territory decay etc.)?

(I'd be in favour of removing capturing entirely from the game to be honest so my opinion is maybe not too relevant)

Capture attacks only or capture points entirely (hence also territory decay etc.)?

I think our capturing gameplay is boring and inferior to destruction most of the time (and I believe players often/generally destroy captured stuff anyways?). I'm OK with capture points and mods using the feature, but I don't really see the point in 0 A.D. But again, that's just my opinion.
Territory decay seems OK to me.

Nescio added a comment.Jun 7 2020, 1:12 PM

I think our capturing gameplay is boring and inferior to destruction most of the time (and I believe players often/generally destroy captured stuff anyways?). I'm OK with capture points and mods using the feature, but I don't really see the point in 0 A.D. But again, that's just my opinion.
Territory decay seems OK to me.

In 0 A.D. there is both active capturing (capture attack of units) and passive capturing (territory decay and influence of structures).
Personally I liked how it worked in Cossacks: buildings were captured practically immediately, but only when all enemy units in the vicinity were killed; that allowed you to take over an entire enemy base and use it for yourself. Anyway, that's a different game.
Currently in 0 A.D. only artillery is capturable, rams and other units are not, which I think is inconsistent, hence this patch.

borg- added a subscriber: borg-.EditedJun 10 2020, 7:01 PM

Capturing first than attack seems broken, were many times that I got frustrated. It seems to me a good solution right now.

I'm not sure, i can't check it now, but I think it would be good to take a look at the Roman siege weapons, they have different status, maybe there's something to capture too that could be removed.

borg- accepted this revision.Jun 10 2020, 7:01 PM
This revision is now accepted and ready to land.Jun 10 2020, 7:01 PM

@Feldfeld, any opinions on this?

I agree with Valihrant there.

badosu added a subscriber: badosu.Jun 13 2020, 4:57 PM

In general, I agree with this change.

My concern is that it removes an option to deal with siege engines, that may encourage siege spam, which is bad in terms of gameplay in my opinion. A player that got a bad mapgen with few minerals should still be able to have at least one option to deal with siege.

If we're discussing how reasonable it is for a siege to be captured with a fully trained engineer and instantly attack their previous owner we should definitely discuss how reasonable is for a soldier handling a catapult or bolt shooter be able to survive an attack from dozens of skirmishes around him. The previous mechanic at least served as a 'patch' for this inconsistency.

In summary, I like that we're removing complexity in behavior related to siege capture mechanic, but I would want to see some kind of compensation for what would be in practice a 'buff' to siege engines.

How about sharply reducing the pierce armour?

It seems to me it would make more sense to make rams more vulnerable to hack attacks still, now that all civilisations get some kind of counter.
Opinions?

badosu added a comment.EditedJul 14 2020, 1:33 PM

now that all civilisations get some kind of counter

Kinda, some civs are more privileged in that regard, making hack/crush units as regular citizen-soldiers while others are hampered e.g. Carth with 2 embassies at most and Mace requiring a fortress to build champions.

Anyway, I am not sure there's an easy fix for this issue. Certainly it would make sense for a battering ram to sustain heavy arrow fire but not for a bolt shooter, on the other hand the bolt shooter is already a bit uneconomical as it is, nerfing would only make it irrelevant.

Ideally there would be some kind of mechanic for each siege unit, e.g. the bolt shooter being a 'glass canon', extremely overpowered but fragile; the ram requiring garrison to operate and with varying degrees of efficiency with the number of garrisoned units, siege towers actually capturing instead of firing arrows, etc..

Given the complexity of such a task I am not sure how to suggest anything that wouldn't require a complete rebalance.

The most minor adjustment I can think is that for sure it feels like the pierce armor is excessive. In AoE2:DE for example siege units are much more vulnerable to projectiles while still being uneconomical for opponent to attack them without the correct unit composition.

A benefit of this would be for siege pushes to actually require some support and be more realistic.

It seems to me it would make more sense to make rams more vulnerable to hack attacks still, now that all civilisations get some kind of counter.

It is absurd what one can do with garrison micro and not a whole lot of swordsmen/cavalry, especially if they have attack upgrades.

20 swordsmen in a cc affords guaranteed protection against nothing short of 4-6 fully upgraded rams, realistically in the context of a cluttered pathfinding around the cc.

Making them more vulnerable to hack will only exacerbate the already clunky siege counter mechanic. Swords and pikes should have comparable efficacy against siege (it's fine to have one as a proper counter) while lowering it overall, so that's still a threat to be dealt with.

Nescio updated this revision to Diff 12674.Jul 14 2020, 2:27 PM
Nescio edited the summary of this revision. (Show Details)
Nescio edited the test plan for this revision. (Show Details)
  • keep ram and siege tower armour as is;
  • severely reduce bolt-shooter, fire-raiser, and stone-thrower armour.
Owners added a subscriber: Restricted Owners Package.Jul 14 2020, 2:27 PM
Nescio updated this revision to Diff 12675.Jul 14 2020, 2:30 PM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2641/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2642/display/redirect

It is absurd what one can do with garrison micro and not a whole lot of swordsmen/cavalry, especially if they have attack upgrades
20 swordsmen in a cc affords guaranteed protection against nothing short of 4-6 fully upgraded rams, realistically in the context of a cluttered pathfinding around the cc.

It seems to me we're hitting a different issue here, which is that garrisoning is too powerful, but that's a different topic.
I'll let you guys decide on whether this is a positive change or not.

It seems to me we're hitting a different issue here, which is that garrisoning is too powerful, but that's a different topic.

Yes; see e.g. D2845 and D2854.

borg- added a comment.Jul 14 2020, 2:48 PM

Doesn't look good to me <Pierce>15</Pierce><Crush>1</Crush>.

Keep <Crush>5</Crush> and <Pierce>25-30</Pierce>?

Keep in mind armour is exponential. Level 25 is already quite excessive, it means 93% of damage is resisted. At 15, it's only about 80%. See https://wildfiregames.com/forum/index.php?/topic/27505-armour-computations/ for other levels.
As for crush armour, aren't rams and elephants supposed to be highly effective vs artillery?

borg- added a comment.Jul 14 2020, 2:58 PM

Keep in mind armour is exponential. Level 25 is already quite excessive, it means 93% of damage is resisted. At 15, it's only about 80%. See https://wildfiregames.com/forum/index.php?/topic/27505-armour-computations/ for other levels.
As for crush armour, aren't rams and elephants supposed to be highly effective vs artillery?

Yes. However axeman/slinger would be extremely strong against these units.

Yes. However axeman/slinger would be extremely strong against these units.

Not extremely, the crush armour reduction means the champion axeman damage per second inflicted would go up from 13.16 to 14.4 and the citizen slinger crush damage from 0.53 to 0.81.

Angen added a subscriber: Angen.Jul 14 2020, 4:22 PM

I had some fun in excel :)

javelins will become new long range siege killers.
crush armour change for slingers is not so big I think (6 seconds difference for 20 slingers).


But given range of archers, what is currently 80 and it is the same as for stonethrower and boltshooter, siege will not stay long alive.
With 20 archers it will go down approximately in 7-8 seconds. With the range advantage compared to slingers and javelin throwers, they would be probably best choice now.

Nescio added a comment.EditedJul 14 2020, 5:16 PM

You forgot some unit types. Also, looking at only one damage type at a time does not give the full picture.
Effective damage vs rams (unchanged):

                         hack + pierce + crush ; time ;  1        50        5       = total per second
basic infantry axeman     :  6   +  0   +  2   ; 1    ; 5.4   + 0        + 1.18098  = 6.58098
basic infantry pikeman    :  1   +  3   +  0   ; 2    ; 0.45  + 0.007730 + 0        = 0.457731
basic infantry spearman   :  3   +  2.5 +  0   ; 1    ; 2.7   + 0.012884 + 0        = 2.712884
basic infantry swordsman  :  5.5 +  0   +  0   ; 0.75 ; 6.6   + 0        + 0        = 6.6
basic infantry archer     :  0   +  6.7 +  0   ; 1    ; 0     + 0.03453  + 0        = 0.03453
basic infantry javelinist :  0   + 16   +  0   ; 1.25 ; 0     + 0.065968 + 0        = 0.065968
basic infantry slinger    :  0   +  9.2 +  0.9 ; 1    ; 0     + 0.047415 + 0.531441 = 0.578856

Effective damage vs artillery (@borg-):

                         hack + pierce + crush ; time ;  1        25        5       = total per second
basic infantry axeman     :  6   +  0   +  2   ; 1    ; 5.4   + 0        + 1.18098  = 6.58098
basic infantry pikeman    :  1   +  3   +  0   ; 2    ; 0.45  + 0.007730 + 0        = 0.457731
basic infantry spearman   :  3   +  2.5 +  0   ; 1    ; 2.7   + 0.012884 + 0        = 2.712884
basic infantry swordsman  :  5.5 +  0   +  0   ; 0.75 ; 6.6   + 0        + 0        = 6.6
basic infantry archer     :  0   +  6.7 +  0   ; 1    ; 0     + 0.480992 + 0        = 0.480992
basic infantry javelinist :  0   + 16   +  0   ; 1.25 ; 0     + 0.918909 + 0        = 0.918909
basic infantry slinger    :  0   +  9.2 +  0.9 ; 1    ; 0     + 0.660466 + 0.531441 = 1.191907

Effective damage vs artillery (proposed):

                         hack + pierce + crush ; time ;  1        15        1       = total per second
basic infantry axeman     :  6   +  0   +  2   ; 1    ; 5.4   + 0        + 1.8      = 7.2
basic infantry pikeman    :  1   +  3   +  0   ; 2    ; 0.45  + 0.308837 + 0        = 0.758837
basic infantry spearman   :  3   +  2.5 +  0   ; 1    ; 2.7   + 0.514728 + 0        = 3.214728
basic infantry swordsman  :  5.5 +  0   +  0   ; 0.75 ; 6.6   + 0        + 0        = 6.6
basic infantry archer     :  0   +  6.7 +  0   ; 1    ; 0     + 1.379471 + 0        = 1.379471
basic infantry javelinist :  0   + 16   +  0   ; 1.25 ; 0     + 2.635406 + 0        = 2.635406
basic infantry slinger    :  0   +  9.2 +  0.9 ; 1    ; 0     + 1.894198 + 0.81     = 2.704198

Also, artillery can shoot back, and ranged units have less armour and health than melee soldiers, i.e. they're killed much quicker.

borg- added a comment.EditedJul 14 2020, 5:44 PM

basic infantry javelinist : 0 + 16 + 0 ; 1.25 ; 0 + 2.635406 + 0 = 2.635406
basic infantry slinger : 0 + 9.2 + 0.9 ; 1 ; 0 + 1.894198 + 0.81 = 2.704198

Its bad for slinger/javelins. Javelin with some ups+rank+hero can get attack 28+. Would be disaster for artillery. Champions would be total annihilation haha.

Artillery bassicaly cant back vs slingers and javelins, they are fast.

I think my values are better. seems to maintain the "same" effectiveness of the melee soldiers and slightly increases the effectiveness of the range units.

Maybe something like 3 crush and 20 pierce can work.

Nescio updated this revision to Diff 12679.Jul 14 2020, 5:56 PM
Nescio edited the summary of this revision. (Show Details)
  • artillery armour to 1, 25, 5, per @borg-

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2645/display/redirect

borg- added a comment.EditedJul 14 2020, 6:02 PM

@Nescio and others, look D2878. Good complement to this patch.

What about limit the armour siege tech only for ram/tower? Make sense with this patch.

Let's focus the discussion here on the capturableness of siege engines. Other siege-related things can be discussed elsewhere (e.g. D2494, D2508, D2815, D2878).

badosu added a comment.EditedJul 14 2020, 6:28 PM

It seems to me we're hitting a different issue here, which is that garrisoning is too powerful, but that's a different topic.

Well, if garrisoning is on the roadmap for change before a24 then my argument is moot, otherwise making rams much less effective against swordsmen garrisoned should be under consideration since the primary goal for this patch is to improve balance.

I see no changes to hack armor currently so it's ok in that regard.

I would be concerned with ranged being buffed even more, allowing players to bypass melee units as a feasible composition, as it's already often done. But that might be a different issue (melee v ranged balance).

I like that it requires more careful planning from players on siege placement, thought I would be careful to at least ensure that they are not as bad as elephants for example.

(Rams already are uncapturable, this patch does not change anything for those.)

(Rams already are uncapturable, this patch does not change anything for those.)

This patch contains armour change, if this concern is split into a different patch I can comment there.

Yes, but the armour of rams (and siege towers) is not changed, only that of artillery, per your earlier remarks:

In summary, I like that we're removing complexity in behavior related to siege capture mechanic, but I would want to see some kind of compensation for what would be in practice a 'buff' to siege engines.

The most minor adjustment I can think is that for sure it feels like the pierce armor is excessive. In AoE2:DE for example siege units are much more vulnerable to projectiles while still being uneconomical for opponent to attack them without the correct unit composition.
A benefit of this would be for siege pushes to actually require some support and be more realistic.

badosu added a comment.EditedJul 15 2020, 5:12 AM

Yes, but the armour of rams (and siege towers) is not changed, only that of artillery, per your earlier remarks:

Oh, my bad, I thought template_unit_siege was a basic template to all siege weapons and did not pay attention to the addition to the ram-specific template, only the deletion from the others.

By the way, this is not on scope for this change (or might be) but perhaps catapults damage should be increased to compensate for this and the (planned) splash removal.

Even with a23 armour they are quite ineffective in actual gameplay except for particular cases in which rams are not suitable (e.g. heavily fortified positions). 2 or even 3 catapults do not pose a particular high treat for a prepared defender using workers to repair, allowing to buy time for ally, buildup or a maneuver which pays off the idle worker time as opposed to the fairly high attacker investment.

Since the splash will be removed we should be fairly optimistic it will not be abusable while still not being terribly slow and brittle as it is currently.

Oh, my bad, I thought template_unit_siege was a basic template to all siege weapons and did not pay attention to the addition to the ram-specific template, only the deletion from the others.

Yes, please do check the actual changes (below) carefully and critically. If I made a mistake, let me know, and if you approve of everything a patch does, feel free to click “Accept Revision”.

By the way, this is not on scope for this change (or might be) but perhaps catapults damage should be increased to compensate for this and the (planned) splash removal. [...]

Yes, I fully agree artillery is currently not very effective, splash damage ought to be removed, and attack damage raised considerably. (For comparison, elephants and rams inflict 100 crush damage per second, stone-throwers only 14.3.) However, see D2494 for that.
To keep things reviewable, smaller patches are preferable.

wraitii removed reviewers: Restricted Owners Package, ValihrAnt, borg-.Jul 15 2020, 2:28 PM

(Removing reviewers as the stats changed too much).

I'm not entirely sure what the concerns are? I seem to read that ranged units would be too efficient? The current pierce values probably work around that indeed.

This revision now requires review to proceed.Jul 15 2020, 2:28 PM
Nescio edited the summary of this revision. (Show Details)Jul 15 2020, 3:03 PM
Nescio added a reviewer: Restricted Owners Package.
borg- added a comment.Jul 15 2020, 3:12 PM

I will test this values, and give a feedback soon.

@borg- update on that?

borg- added a comment.EditedAug 6 2020, 5:35 AM

@borg- update on that?

Definitely 25 is not a good number, javelins or slinger can take down easily

For archers 25 it can be a good number.
30 good number for basic jave/sling without upgrade.
35 good number for upgrade/champion units.
I particularly choose 35.

wraitii requested changes to this revision.Aug 6 2020, 8:17 AM

Alright, thanks for reporting.

@Nescio I leave to you to update this, I think we'll be good to merge after.

This revision now requires changes to proceed.Aug 6 2020, 8:17 AM
Nescio added a comment.Aug 6 2020, 9:38 AM

Definitely 25 is not a good number, javelins or slinger can take down easily

That was the idea, right? The purpose of the pierce armour reduction, as requested by @badosu, was explicitly to make artillery vulnerable, to compensate for the fact they become uncapturable. See e.g.

[...]
Ideally there would be some kind of mechanic for each siege unit, e.g. the bolt shooter being a 'glass canon', extremely overpowered but fragile;
[...]
The most minor adjustment I can think is that for sure it feels like the pierce armor is excessive. In AoE2:DE for example siege units are much more vulnerable to projectiles while still being uneconomical for opponent to attack them without the correct unit composition.
A benefit of this would be for siege pushes to actually require some support and be more realistic.
[...]

While I personally don't feel strongly whether the pierce armour is 50, 36, 25, 16, or some other value, I'd prefer to have the opinion of @badosu (others are welcome too) before raising it again.

borg- added a comment.EditedAug 6 2020, 3:57 PM

It depends on how vulnerable @badosu referss.
Anyway, for me, values below 25 can be a problem, even with buff in D2494.

Nescio added a comment.Aug 6 2020, 4:20 PM

Indeed it does. Let's wait for him to reply.
The armour level has a significant effect how much (or little) damage is taken:

50 → 0.5%
45 → 0.9%
40 → 1.5%
35 → 2.5%
30 → 4.2%
25 → 7.2%
20 → 12%
15 → 21%
10 → 35%
 5 → 59%
 0 → 100%

For more information, see https://wildfiregames.com/forum/index.php?/topic/27505-armour-computations/

badosu added a comment.Aug 8 2020, 4:13 PM

I think this is a step in a good direction, as far as I like the ability to capture siege, making the behavior consistent is more important.

I don't have the knowledge on the best values though, I think we can iterate on this after playtest.

Nescio removed a reviewer: Restricted Owners Package.Aug 15 2020, 9:17 PM

Anyway, for me, values below 25 can be a problem, even with buff in D2494.

So 25 would be acceptable?

Nescio updated this revision to Diff 13402.Sep 4 2020, 7:33 PM
Nescio edited the summary of this revision. (Show Details)
  • rebased
borg- added a comment.Dec 14 2020, 5:29 PM

New armor value is good, but I don't know if this reduction is necessary, I think we can keep only the main focus on this patch and pass the reduction to another patch like D2494.

The initial version(s) only made siege engines uncapturable. The artillery resistance reduction was added later, at the request of @badosu, to compensate. If the values are acceptable to you, I don't really see why it's better to move it elsewhere?

borg- accepted this revision.Dec 14 2020, 8:55 PM

The initial version(s) only made siege engines uncapturable. The artillery resistance reduction was added later, at the request of @badosu, to compensate. If the values are acceptable to you, I don't really see why it's better to move it elsewhere?

it's an acceptable value, but I don't think it's necessary to have the armor reduction as part of the patch. Basically no one uses the capture, so reducing the armor would only make a "nerf" siege patch.

In D2493#142341, @borg- wrote:

Basically no one uses the capture

Me and my sibling constantly use capturing to get some nice siege engines when we cannot construct them ourselves like with the Kushites.

wraitii accepted this revision.Jan 15 2021, 9:51 AM

My understanding here is that siege engines are more easily destroyed than captured, so pro-players prefer to destroy them.
The unfortunate problem is that we don't have a good way to define "preferred attacks" against target, so it defaults to Capture. We have patches that might change that in the future, but none right now.

I do think it's annoying that this removes the possibility of capturing entirely, but I'm not seeing a good workaround if we do want to make attack the default here.
And it does seem like many players want that.

IMO this needs to be committed, but should ideally be reverted for A25 with a cleverer system to pick default attack/capture.

This revision is now accepted and ready to land.Jan 15 2021, 9:51 AM
wraitii updated this revision to Diff 15461.Jan 18 2021, 12:31 PM

Rebased before merging.

Build is green

builderr-debug-macos.txt
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/CoreAudio.tbd and library file /System/Library/Frameworks//CoreAudio.framework/CoreAudio are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd and library file /System/Library/Frameworks//AudioToolbox.framework/AudioToolbox are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback.tbd and library file /System/Library/Frameworks//ForceFeedback.framework/ForceFeedback are out of sync. Falling back to library file for linking.
ld: warning: text-based stub file /System/Library/Frameworks//CoreVideo.framework/CoreVideo.tbd and library file /System/Library/Frameworks//CoreVideo.framework/CoreVideo are out of sync. Falling back to library file for linking.
ld: warning: text-based stu

See https://jenkins.wildfiregames.com/job/macos-differential/2939/display/redirect for more details.

This revision was automatically updated to reflect the committed changes.

Thanks! Soldiers attempting to capture siege engines was something numerous people complained about on the forums over the years.

rwas added a subscriber: rwas.Mar 20 2021, 5:42 AM

As I have suggested for rams elsewhere, I think *all* siege (cat's, bolts, rams) should be manned. If the crew is dead,
the machine is useless and can be taken by any player that mans it first.

All siege crew should be susceptible to any attack any other human unit is susceptible to. The machine they're operating provides
some (depending on what it is) protection.

Siege takes damage. They can disabled (repairable) or destroyed.

a.k.a. captBluesky