Page MenuHomeWildfire Games

[gameplay] A24 Cavalry build time increase / speed tech cost increase
ClosedPublic

Authored by wraitii on Jan 25 2021, 5:09 PM.

Details

Summary

Played a bunch of games lately, including one in which I got _wrecked_ by @Feldfeld.
I believe ranged cavalry is a bit too strong, and the main culprit is that they're much, much easier to micro with formations, which makes them much more invulnerable than before, particularly against pikemen/spearmen which are desperately slow. Once massed, they become invincible with proper kiting, when before the pathfinding collisions would have made them more vulnerable

This increases their build time slightly to make them harder to mass, compared to infantry, and raises the cost of the speed tech.
Cavalry as a whole will be slowed down in D3483.

Test Plan

Agree with some/all of these.

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

wraitii created this revision.Jan 25 2021, 5:09 PM
Owners added a subscriber: Restricted Owners Package.Jan 25 2021, 5:09 PM
wraitii retitled this revision from [A24] Ranged cavalary balance debuff to [A24] Ranged cavalry balance debuff / cavalry speed reduction.Jan 25 2021, 5:10 PM
wraitii edited the summary of this revision. (Show Details)
wraitii added inline comments.
binaries/data/mods/public/simulation/data/technologies/cavalry_movement_speed.json
9 ↗(On Diff #15687)

string already exists, so not a SF problem.

binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml
100–101 ↗(On Diff #15687)

Maybe we want to put the wlakSpeed bonus of melee cav to 1.2 again, but honestly cavalry seems fast enough to me.

binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged.xml
26 ↗(On Diff #15687)

They were moved up from 15 to 16 in D2866, but ranged cavalry benefit more from being massed, and training to fire ranged weapons from a horse is hard, so I think this is reasonable.

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/3057/display/redirect for more details.

wraitii requested review of this revision.Jan 25 2021, 5:17 PM
wraitii added inline comments.Jan 25 2021, 5:19 PM
binaries/data/mods/public/simulation/templates/template_unit_cavalry_ranged_archer.xml
11 ↗(On Diff #15687)

This basically puts them in range of infantry slingers. The only civs with no slinger and no foot archer are Romans / Spartans, with Sele having a mercenary archer & a cav archer.

borg- added a subscriber: borg-.EditedJan 25 2021, 5:36 PM

Cavalry javelin and Archer with less range than infantry? No make Sense.
I dont agree with more expansíve range cav and tech p2.
I agree with Nerf move speed.

In D3476#153277, @borg- wrote:

Cavalry javelin and Archer with less range than infantry? No make Sense.

I believe it somewhat does, because you can't use a horse as easily as the ground for leverage when throwing a javelin, though the horse itself is faster, of course. I don't really have a source for this tbh.
Similarly, I believe horse archers would use slightly lighter/smaller bows, thus firing less far - but I guess it would heavily depend on the type of bow, and I'm not sure that this is provable in the historical records of antiquity.

borg- added a comment.EditedJan 25 2021, 6:17 PM

In general the ranged cavalry was very nerfed compared to the a23. Now you need stables for mass training, range and attack is reduced, spear cavalry has its bonus increased and sword cavalry is more effective against ranged units, including cavalry of course.
I think these changes are very aggressive.
I think we can keep the range and training time as how is it, just lowering the general cavalry speed so that units like spearman have more chances and increase the price of movement technology, but keeping it at p1.

wraitii added a comment.EditedJan 25 2021, 6:39 PM
In D3476#153293, @borg- wrote:

In general the ranged cavalry was very nerfed compared to the a23. Now you need stables for mass training, range and attack is reduced, spear cavalry has its bonus increased and sword cavalry is more effective against ranged units, including cavalry of course.

yes, but formation movement is a strong buff IMO, though I guess not really against melee cavalry (but that's mostly relevant in town+ phase).

I think these changes are very aggressive.

Yes that was kind of the objective, making them quite aggressive so that they would be discussed :)

I think we can keep the range and training time as how is it, just lowering the general cavalry speed so that units like spearman have more chances and increase the price of movement technology, but keeping it at p1.

That seems OK to me, do you think the cost I propose here is fair?

And do you have an opinion on the prepareTime change? It should make horse archer slightly harder to micro, but I'm not sure.


@Feldfeld wrote:

I agree with the speed reduction and I agree there should be a train time increase, however it should be for all cavalry (and im a bit concerned if this could nerf early cav rushes a bit too much, i'm not sure)
I think the technology move to town phase is not necessary
For the prepare time it could be a good, idea, won't know without testing

In general the ranged cavalry was very nerfed compared to the a23. Now you need stables for mass training, range and attack is reduced, spear cavalry has its bonus increased and sword cavalry is more effective against ranged units, including cavalry of course.

To compensate there are 2 new technologies for cavalry (speed and health) whereas infantry doesn't get any of this. Also now forge technologies that affect cavalry also affects infantry so it makes it a bit easier for cav player since sometimes they will want to fight with infantry too.
The train time of cavalry has been relatively reduced compared to infantry (+2 seconds for infantry when they were at 10, +1 second for cavalry when they were at 15 iirc) so it makes them easier to mass. Also persian for example has 2 technologies that reduces train time by 10% for archer cav
Range is reduced but spread as well so they are more accurate.
The formation change makes it easier to hit and run.

Cavalry javelin and Archer with less range than infantry? No make Sense.

It is the case in AoE2 but yeah there it will look off and I fear it would nerf early cav rush too much. We probably shouldn't touch range this alpha.

I don't remember the changes that lower cavalry attack or makes sword cavalry more effective but fine I guess.

At least I think we should reduce speed of all cavalry yes. I think a small train time increase (for all cavalry) like +1 could be good as well but up to discussion

borg- added a comment.Jan 25 2021, 7:33 PM

In general the ranged cavalry was very nerfed compared to the a23. Now you need stables for mass training, range and attack is reduced, spear cavalry has its bonus increased and sword cavalry is more effective against ranged units, including cavalry of course.

To compensate there are 2 new technologies for cavalry (speed and health) whereas infantry doesn't get any of this. Also now forge technologies that affect cavalry also affects infantry so it makes it a bit easier for cav player since sometimes they will want to fight with infantry too.

Not really. We had two +10% cavalry speed technologies, now only one +10%. Before we had a +20% health increase for all cavalry, now it affects only champion cavalry and a new one with +10% health.

The train time of cavalry has been relatively reduced compared to infantry (+2 seconds for infantry when they were at 10, +1 second for cavalry when they were at 15 iirc) so it makes them easier to mass. Also persian for example has 2 technologies that reduces train time by 10% for archer cav

An increase of 20%, so 18 seems to make sense, I can agree with that.

Not really. We had two +10% cavalry speed technologies, now only one +10%. Before we had a +20% health increase for all cavalry, now it affects only champion cavalry and a new one with +10% health.

Fair points. The speed technologies were quite expensive though.

One concern if we nerf cavalry now is that I fear it could make early cav rush too bad. Also some animals are harder to kill now.

Not really. We had two +10% cavalry speed technologies, now only one +10%. Before we had a +20% health increase for all cavalry, now it affects only champion cavalry and a new one with +10% health.

Fair points. The speed technologies were quite expensive though.

500F / 500W / 150M

One concern if we nerf cavalry now is that I fear it could make early cav rush too bad. Also some animals are harder to kill now.

For archers the spread reduction helps for that. Javs, not much difference.

wraitii updated this revision to Diff 15695.Jan 25 2021, 8:16 PM
  • All CS cavalry 18 build time
  • All cavalry speed reduced from x2 to x1.8, and reduced run multiplier.
  • Speed tech cost 400F/200W

The CS run multipler is further lowered (compared to champs/heroes) to make them slightly less mobile in formation, which is both for balance and to reflect the greater training of champions.

Build is green

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libnetwork_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblobby_dbg.a(precompiled.o) has no symbols
../../../source/network/scripting/JSInterface_Network.cpp:171:71: warning: unused parameter 'pCmptPrivate' [-Wunused-parameter]
void JSI_Network::StartNetworkJoinLobby(ScriptInterface::CmptPrivate* pCmptPrivate, const CStrW& playerName, const CStr& hostJID, const CStr& password)
                                                                      ^
1 warning generated.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
ld: warning: text-based stub file /System/Library/Frameworks//CoreAudio.framework/Core

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

Nescio retitled this revision from [A24] Ranged cavalry balance debuff / cavalry speed reduction to [gameplay] A24 Ranged cavalry balance debuff / cavalry speed reduction.Jan 25 2021, 9:41 PM
Nescio added a subscriber: Nescio.Jan 25 2021, 9:46 PM

What exactly is the problem? All cavalry? Only ranged cavalry? Or ranged troops in general?
Have you considered simply lowering cavalry health, making them easier to kill, or attack damage, which is currently a bit higher than that of their infantry counterparts?

What exactly is the problem? All cavalry? Only ranged cavalry? Or ranged troops in general?

Cavalry in general became much more mobile with formation-walking, and much easier to micro. This particularly affects ranged cavalry, since it can be used to 'kite' damage. Which iv why...

Have you considered simply lowering cavalry health, making them easier to kill, or attack damage, which is currently a bit higher than that of their infantry counterparts?

... this won't work, since the cavalry is disproportionately strong. The problem is that they can be micro-ed to not take damage at all, and once massed becomes basically impossible to kill, unless you at least equal their range. Which is problematic since cavalry archers outrage everything else but infantry archers, which are naturally less mobile, and less resistant. The only option is melee cavalry, but that isn't necessarily easy to tech into compared to Citizen Solder ranged cavalry.
The problem exists to a lesser extent with cavalry javelineers, but those at least can more or less be kept at bay with any ranged unit.

Lowering their HP would also make the early game cab-rush less viable, likewise damage.

Is the current situation worse than in previous alphas?
D3402/rP24708 already reduced cavalry speed; wasn't that enough?
And could you elaborate how and why you decided on exactly these proposed changes to address the problem?

binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml
101 ↗(On Diff #15695)

Why 1.2? You're giving champions and heroes 1.4.

Is the current situation worse than in previous alphas?

With regards to micro, yes, considerably. Just try it yourself: make 30 cav, use a default formation, and your units will move efficiently and without colliding into each other. Without default formations, stragglers always ended up slower and behind, and could be targeted. This is no longer the case. It basically makes it possible to really mass ranged cavalry, which wasn't really practical before.

D3402/rP24708 already reduced cavalry speed; wasn't that enough?

I judge no. Cavalry remains too fast, and particularly the run multiplier makes escaping very easy.

And could you elaborate how and why you decided on exactly these proposed changes to address the problem?

The problem is very high mobility, making it possible to kite damage. The solution is therefore less mobility, and less ability to kite damage. All these are reducing mobility in a straightforward manner. I initially reduced their range slightly to make it easier for ranged infantry to hit them, but this was seen as possibly too strong a nerf.
Melee cavalry speed is reduced also to avoid a large and odd imbalance between both unit types.

binaries/data/mods/public/simulation/templates/template_unit_cavalry.xml
101 ↗(On Diff #15695)

The CS run multipler is further lowered (compared to champs/heroes) to make them slightly less mobile in formation, which is both for balance and to reflect the greater training of champions.

The problem is very high mobility, making it possible to kite damage. The solution is therefore less mobility, and less ability to kite damage.

Then only change that, not:

Specifically nerfs CS-ranged cavalry by +2 build time, reduced range compared to CS infantry, and increase the prepare time of ranged archer to above 1 MP turn.

Cavalry has a higher training time than it used to have in A23 and it can no longer be trained at the barracks.
How about simply <WalkSpeed op="mul">1.5</WalkSpeed> for template_*_cavalry.xml and 1.2 for *_axeman.xml etc., leaving the rest as is?

Then only change that, not:

Ah, right, I actually forgot to mention in my reply above that the ability to mass them is also a problem, thus the training time increase.

Cavalry has a higher training time than it used to have in A23 and it can no longer be trained at the barracks.

As discussed above (please read it), while that is true, infantry has a proportionally much larger build time increase, meaning cavalry is relatively easier to mass. The barracks fact is correct, but stables are cheaper and faster to build, and it simply remains true that ranged cavalry is easy to mass as things stand.

How about simply <WalkSpeed op="mul">1.5</WalkSpeed> for template_*_cavalry.xml and 1.2 for *_axeman.xml etc., leaving the rest as is?

I don't really see how that would be much different in concept / what your problem with this diff is, to be honest. 1.5 is a much larger nerf.

Ah, right, I actually forgot to mention in my reply above that the ability to mass them is also a problem, thus the training time increase.

If massed cavalry is much more of a problem than massed infantry, then why not make cavalry cost 2 population?

As discussed above (please read it), while that is true, infantry has a proportionally much larger build time increase, meaning cavalry is relatively easier to mass. The barracks fact is correct, but stables are cheaper and faster to build, and it simply remains true that ranged cavalry is easy to mass as things stand.

Proportionally larger, yes, but “much larger” is an exaggeration: it used to be 10 and 15 in A23, now it's 12 and 16. This was intentional, see https://code.wildfiregames.com/D2866#122870 Also, if citizen cavalry time is raised, then champion time ought to be adjusted proportionally as well.

I don't really see how that would be much different in concept / what your problem with this diff is, to be honest. 1.5 is a much larger nerf.

Or 1.6 or something. It would allow removing the 0.9× introduced earlier from the archer and javelineer templates and the <RunMultiplier> can remain unchanged.

While I'm not opposed to changing something, I'm unconvinced it's really necessary to rush this through to have it in A24.

wraitii added a comment.EditedJan 25 2021, 11:11 PM

Proportionally larger, yes, but “much larger” is an exaggeration: it used to be 10 and 15 in A23, now it's 12 and 16. This was intentional, see https://code.wildfiregames.com/D2866#122870

I meant that infantry got a much larger increase in proportion. They went +20%, when cavalry went +6%. All in all, cavalry used to train 50% slower, now it trains 33% slower, and this remains a rather substantial buff.

Also, if citizen cavalry time is raised, then champion time ought to be adjusted proportionally as well.

Not necessarily. Champion cavalry is less of a problem because players have more time to counter it, and it if you can mass them, you've probably already won.

Or 1.6 or something. It would allow removing the 0.9× introduced earlier from the archer and javelineer templates and the <RunMultiplier> can remain unchanged.

You seem to be suggesting larger changes, which seems contradictory.
The RunMultipler remains problematic regardless, but cavalry is already faster, and currently they can be up to 1.67x faster (i.e. 2*1.76 = 3.3x faster than chasing infantry). Formation run-multiplier benefits the kiter over the chaser because the former can have units 'in the back', to move the formation centre back, whereas the latter probably doesn't, thus his units won't benefit from their run multiplier. IMO, reducing the cavalry run multiplier is fair.

While I'm not opposed to changing something, I'm unconvinced it's really necessary to rush this through to have it in A24.

I can't really convince you much further, I think, but I do believe this is necessary, or the A24 meta will be too dominated by ranged cavalry, and particularly ranged cavalry archers.

I meant that infantry got a much larger increase in proportion. They went +20%, when cavalry went +6%. All in all, cavalry used to train 50% slower, now it trains 33% slower, and this remains a rather substantial buff.

As you can read in the discussion of the patch that changed it, it was done to keep early cavalry raids a viable option. I'm not opposed to making it 50% again across the board (i.e. citizen cavalry 18, champion cavalry 30).

You seem to be suggesting larger changes, which seems contradictory.

Not really, you're proposing 1.8×0.9=1.62 (ranged) and 1.8×1.1=1.98 (melee), I'm merely suggesting to have multipliers in fewer files to make it clearer what's going on, e.g. 1.6×1.2=1.92 (melee) and 1.6 (ranged) or 2×0.8=1.6 (ranged) and 2 (melee).

Formation run-multiplier benefits

Then why not lower those?

As you can read in the discussion of the patch that changed it, it was done to keep early cavalry raids a viable option.

Yes, but I believe it remains relatively viable (assuming a 10-12 cavalry raid, the difference is one cavalry-equivalent). Anyways.

Not really, ...

I misunderstood what you meant, sorry. You're suggesting removing the x2 from the cavalry template, and just doing it in the subclasses, correct? If so, I can agree.

Then why not lower those?

Sorry, I wasn't clear: the run-multiplier of units in formation, not the run-multiplier of formations themselves.

I misunderstood what you meant, sorry. You're suggesting removing the x2 from the cavalry template, and just doing it in the subclasses, correct? If so, I can agree.

No, I meant removing duplication of the lines in the children, e.g. https://code.wildfiregames.com/differential/diff/15701/

Sorry, I wasn't clear: the run-multiplier of units in formation, not the run-multiplier of formations themselves.

But if those weren't problematic in A23, then why must it be changed now?

wraitii added a comment.EditedJan 25 2021, 11:35 PM

But if those weren't problematic in A23, then why must it be changed now?

Because the new default formation feature makes formations usable.
(I mean, technically, it was already possible in A23, but really micro-intensive)

borg- added a comment.EditedJan 26 2021, 1:21 AM

One of my fears is about champion cavalry, so the patch helps a little bit.
I would reduce it to 1.9 for now, it seems a safer and sufficient value.

wraitii updated this revision to Diff 15703.Jan 26 2021, 9:05 AM
wraitii retitled this revision from [gameplay] A24 Ranged cavalry balance debuff / cavalry speed reduction to [gameplay] A24 Cavalry speed reduction / build time increase.
wraitii edited the summary of this revision. (Show Details)

Updated the diff to not do "cavalry->subtype" changes but just change the subtypes explicitly. The result is that cavalry goes from 9*2*1.1 = 19.8 for melee and 9*2*0.9 = 16.2 for ranged (a delta of 3.6) to 18 and 14.4 (same absolute delta). Can maybe bump ranged to 1.65.

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/3067/display/redirect for more details.

I would like to decrease melee too, maybe 19,0 melee and 16.5 ranged.
Is the training time of champ cavalry adequate with the new citizen time?

Updated the diff to not do "cavalry->subtype" changes but just change the subtypes explicitly.

As I wrote earlier, it's cleaner (lines in fewer files) to simply give template_*_cavalry.xml a 2× and only modify archers and javelineers afterwards.

I still disagree with the severe run multiplier reduction and with the champion cavalry running faster than their citizen counterparts.

wraitii added a comment.EditedJan 26 2021, 12:22 PM
In D3476#153460, @borg- wrote:

I would like to decrease melee too, maybe 19,0 melee and 16.5 ranged.

You've misread, the new values (with this patch) are 18 and 14.4.

Is the training time of champ cavalry adequate with the new citizen time?

It hasn't been changed and stands at 27 vs 20 for infantry. I followed this here, which actually reduced their build time.

I still disagree with the severe run multiplier reduction and with the champion cavalry running faster than their citizen counterparts.

I have still seen 0 argument except that you disliked it.

I think that a change in speed at that moment is a little risky, we have little time to test, I would just be with the increase in the cost of tech and training time.

I believe the risk of ranged cavalry being OP is greater than the risk of making cav-rush not as viable, to be honest.

borg- added a comment.Jan 26 2021, 1:34 PM

So let's simplify, 1.9 to all cavalry, it's an interesting value and less risky.

In D3476#153465, @borg- wrote:

So let's simplify, 1.9 to all cavalry, it's an interesting value and less risky.

Melee cavalry was explicitly faster than ranged cavalry to be able to catch up though, and i don't think changing that is a good idea atm.
If you're not confident about the impact of the speed reduction, I'd be OK with not committing it. Likewise with the build time.
The 2 things that seem straightforward changes, to me, are:

  • increasing the cost of the speed tech
  • reducing the run multiplier of cavalry.
borg- added a comment.Jan 26 2021, 2:14 PM

Reducing overall speed to 1.9 or 1.8 like first patch, still keeps melee cavalry proportionally faster than ranged.

borg- added a comment.Jan 26 2021, 2:20 PM

Set champion cavalry build time to 30.

wraitii updated this revision to Diff 15724.Jan 27 2021, 4:20 PM
This comment was removed by wraitii.
wraitii updated this revision to Diff 15726.Jan 27 2021, 4:31 PM
wraitii retitled this revision from [gameplay] A24 Cavalry speed reduction / build time increase to [gameplay] A24 Cavalry build time increase / speed tech cost increase.
wraitii edited the summary of this revision. (Show Details)

Movement speed are moved to D3483 because I need them there.

borg- accepted this revision.Jan 27 2021, 5:55 PM
This revision is now accepted and ready to land.Jan 27 2021, 5:55 PM
Nescio accepted this revision.Jan 27 2021, 6:22 PM

Thank you for splitting, that makes it much easier to review! And the patch is complete and correct.
These changes are reasonable and the time increases are proportional. Previously infantry training time was 67% of cavalry's, now it's 60%. Champion training time is still 50% higher than that of their basic counterparts.
You might want to have another look at the elephant training times, though.

You might want to have another look at the elephant training times, though.

I think the much higher cost & population space taken by elephant precludes massing them anyways. Their train time can probably be adjusted, but I see no urgency to do it for A24.

I think the much higher cost & population space taken by elephant precludes massing them anyways. Their train time can probably be adjusted, but I see no urgency to do it for A24.

Indeed, it's not urgent. With this patch the training time values are:

          basic, champion
infantry: 12   , 18
cavalry : 16→18, 27→30
elephant: 20   , 36
This revision was landed with ongoing or failed builds.Jan 27 2021, 6:54 PM
This revision was automatically updated to reflect the committed changes.