Page MenuHomeWildfire Games

[Gameplay A26] - Make Hyrcanian cavalry useful
Needs ReviewPublic

Authored by real_tabasco_sauce on May 31 2022, 6:19 PM.

Details

Reviewers
None
Group Reviewers
Balancing
Summary

This patch balances the axe cavalry parent against sword cav, and makes hyrcanian cavalry a raiding unit.
I envisioned this unit to have a cost profile like skiritai, training at rank 3. However, instead of armor and hp benefits, they receive speed.
Instead of winning massive battles, these units will be strong at raiding eco, and picking off small groups of units.
Discussion and mod can be found here: https://wildfiregames.com/forum/topic/81746-cool-hyrcanian-cavalry/#comment-500462

In the mod, everything worked as expected.
160 hp, 3 hack armor , 2 pierce armor, 20 m/s walk speed, 18.7 hack, 5.0 crush 1.5 sec repeat time.

Test Plan

Make sure all mentioned changes are applied in game. [x]
Test for balance [x]

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

real_tabasco_sauce requested review of this revision.May 31 2022, 6:19 PM
real_tabasco_sauce created this revision.
Stan added a subscriber: Stan.May 31 2022, 6:29 PM
Stan added inline comments.
binaries/data/mods/public/simulation/templates/units/pers/cavalry_axeman_b.xml
9 ↗(On Diff #20370)

Does it have to be that number or does 100 work?

17 ↗(On Diff #20370)

_b means base if you want an elite unit it should be named _e

34 ↗(On Diff #20370)

Not a fan of this, I suppose there is _a version of this template that could be used instead?

36 ↗(On Diff #20370)

This makes gathering more efficient,no?

real_tabasco_sauce added a comment.EditedMay 31 2022, 6:51 PM

Ok, I will switch out the cavalry_axeman_b.xml file for _e, but where do I enable the stable to train the advanced unit? I didn't know so I just changed the _b file.

binaries/data/mods/public/simulation/templates/units/pers/cavalry_axeman_b.xml
17 ↗(On Diff #20370)

I can change it to the _a file, but I didn't know where to enable stables to train the advanced rank unit directly.

36 ↗(On Diff #20370)

yes, but it would not be worth the additional metal cost. When people train these they will want to immediately use them to fight.

binaries/data/mods/public/simulation/templates/units/pers/cavalry_axeman_b.xml
9 ↗(On Diff #20370)

102.4 at advanced rank is 160 exactly. Is there a better way to do this?

Hmm I can add the ability to train cavalry_axeman_e to structures/pers/stable.xml, but I can't get rid of cavalry_axeman_b from the parent. Will I need to delete _b and _a from the units/pers directory?

You can try -cavalry_axeman_b?

Allowed pers stables to train cavalry_axeman_e, adjusted cavalry_axeman_e, allowed triremes to train cavalry_axeman_e_trireme instead of _b_trireme.

You can try -cavalry_axeman_b?

Oh! Thanks, I'll do that one sec.

Stan added inline comments.Jun 1 2022, 9:56 AM
binaries/data/mods/public/simulation/templates/units/pers/cavalry_axeman_e.xml
2–10

You could build that template's values on top on the previous one so you don't have to change the parent and you don't break the chain.

9

What is 100 ? There is no better way to do it as it depends on the other techs but it doesn't have to be round I guess.

now uses cavalry_axeman_a as the parent, which means the chain isn't broken. Still unsure if I am changing stable and trireme trainers properly. I can't build to test it because for me, spidermonkey fails to build.

real_tabasco_sauce marked an inline comment as done and an inline comment as not done.Jun 1 2022, 5:59 PM

I tried making these changes in the mod as a means of testing, but I got simulation errors. Even including the unmodified stable or ship_trireme files in the mod results in errors.

binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
12–14

@Stan I don't think I did this correctly. I just need to disable training the _b variant.

14

@Freagarach did I understand you correctly here?

binaries/data/mods/public/simulation/templates/units/pers/cavalry_axeman_e.xml
9

100 becomes 156.25. Alternatively, could I do

<Max op="sub"> 57.6 </Max>

?

borg- added a subscriber: borg-.EditedJun 1 2022, 6:17 PM

I didn't really understand the changes only in the _e template. Will he lose armor reaching elite? Armor and velocity change cannot be done in unit_cavalry_melee_axeman.xml template? Why is it necessary to train in elite?
At the moment only Persia uses this type of cavalry but probably other civilizations will, so it makes more sense.
Getting cavalry moving at that speed makes it basically uncountable. Spearman cavalry cannot chase.

The concept is good, I think all ax cavalry should be great in raids. The idea behind him was that he was quick to destroy buildings and medium to fight. I think he released half of the objectives, should get better at destroying buildings, I would just change that. Increasing his crush damage would make him a little better in fights too.

Freagarach added inline comments.Jun 1 2022, 6:24 PM
binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
14

Aye, you did. :)

In D4674#198858, @borg- wrote:

I didn't really understand the changes only in the _e template. Will he lose armor reaching elite? Armor and velocity change cannot be done in unit_cavalry_melee_axeman.xml template? Why is it necessary to train in elite?
At the moment only Persia uses this type of cavalry but probably other civilizations will, so it makes more sense.
Getting cavalry moving at that speed makes it basically uncountable. Spearman cavalry cannot chase.

The concept is good, I think all ax cavalry should be great in raids. The idea behind him was that he was quick to destroy buildings and medium to fight. I think he released half of the objectives, should get better at destroying buildings, I would just change that. Increasing his crush damage would make him a little better in fights too.

Thanks for the feedback @borg-! I modified the _e template so that the attributes of the elite unit could be changed from the default. These units will train at rank 3 for the persians as a unique unit similar to the skiritai commandos. Instead of armor and HP increases, they receive + 2 speed. In the parent, the armor is 3h, 2p. In the _e file, the armor encoded is 1 and 0, but this becomes 3h 2p after the elite rank designation.

I don't think the parent axecav template should get the speed increase because this is what you pay the extra 25 metal for as the Persians.

The cav should be counterable because of their weakness to pierce attacks, including building arrows. In addition, should spearcav somehow intercept them, they will lose quickly.
Thanks for the crush suggestion, I will add back the original crush dps to the parent template, which should then carry over to the hyrcanian cav.

marder added a comment.Jun 1 2022, 9:14 PM

I've no real founded opinion on this, other than it looks like a very strong unit. Especially the walk speed is _very_ (too?) fast. Also thinking about the cav speed tech -> then it's 22.

binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
14

It needs to be -units/{civ}/cavalry_axeman_b otherwise you get an error

real_tabasco_sauce marked an inline comment as done.

increase parent crush dps to pre patch level, fix disabling of cavalry_axeman_b in stable.xml. (thanks @marder)

I've no real founded opinion on this, other than it looks like a very strong unit. Especially the walk speed is _very_ (too?) fast. Also thinking about the cav speed tech -> then it's 22.

Thanks for the input. Yes the walk speed is very fast, but at least it doesn't look entirely unnatural. My thoughts are that sacrificing armor and hp (from rank 3 designation) in favor of speed is a roughly equitable tradeoff. In practice, these cav should be strong at raiding, but will need to retreat should any spearcav approach (especially considering the spearcav buff) Ranged units will lose in an outright fight, but a handful of ranged units should be enough to deter the enemy. (in contrast to swordcav which can tank a lot of ranged attacks).

How should we go about testing the patch? I cannot build spidermonkey unfortunately.

Stan added a comment.Jun 1 2022, 11:18 PM

You don't need to build anything on Windows. Just apply the files as a mod for instance.

I also have some concerns about this becoming impossible to counter. If a unit is so fast that it can't be caught by its natural counter (spear cav) then that is broken.

Alternatively, if you make a unit so fragile that it shatters in actual fights to other units in fights then that unit isn't good for actual fighting.

In other words, this runs this risk of being OP against women but useless in general fights (kinda like how naked fanatics currently are). Having such a limited usefulness may have a place in the game, but it is a small one and I don't think that is what you're looking for with this proposal.

To know how this really impacts things it will just have to be tested.

If this is implemented, I would like Persia to keep a useful melee cav unit for fighting (i.e., not a glass cannon). Perhaps they should get sword cav as a unit, so that they have this glass cannon for raiding and a sword cav for melee fighting.

I also have some concerns about this becoming impossible to counter. If a unit is so fast that it can't be caught by its natural counter (spear cav) then that is broken.

Alternatively, if you make a unit so fragile that it shatters in actual fights to other units in fights then that unit isn't good for actual fighting.

I think what has been put together here lies somewhere between these lines. It can be countered just not necessarily by spearcav, unless acceleration makes those engagements harder to avoid. Yet it's dps is high enough that it beats skirm cav, and trades against spearcav (a25) and spears. The tests I did with breakfastburrito were interesting, and I bet they will beat swordcav.

In other words, this runs this risk of being OP against women but useless in general fights (kinda like how naked fanatics currently are). Having such a limited usefulness may have a place in the game, but it is a small one and I don't think that is what you're looking for with this proposal.

To know how this really impacts things it will just have to be tested.

If this is implemented, I would like Persia to keep a useful melee cav unit for fighting (i.e., not a glass cannon). Perhaps they should get sword cav as a unit, so that they have this glass cannon for raiding and a sword cav for melee fighting.

One thing is for sure, it will be way stronger than the current unit, which is a glass stick XD. I actually imagine a mix of spear and these axes will be pretty strong.

In D4674#198892, @Stan wrote:

You don't need to build anything on Windows. Just apply the files as a mod for instance.

I am not on windows, but I will quickly update the mod with this setup.

binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
13–14

OK in the mod, the _b variant is the only trainable, even though this was supposed to remove it.
Maybe I am missing something?

binaries/data/mods/public/simulation/templates/units/pers/ship_trireme.xml
18–19

This throws errors upon dock placement: "unable to verify ship_trireme"
using {civ} instead of pers allows dock placement without errors, but the trireme is not buildable.
Any ideas?

If you don't do promotion anymore, you could also just ditch the basic and advanced variants?

As for compiling, you could try a snap, it has quite an up-to-date development version for 0 A.D..

binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
13–14

This works for me?

binaries/data/mods/public/simulation/templates/units/pers/ship_trireme.xml
18–19

Works for me as well?

marder added inline comments.Jun 2 2022, 7:09 AM
binaries/data/mods/public/simulation/templates/structures/pers/stable.xml
13–14

I guess you are using a25 to test the mod, while Freagarach and me use the a26 dev version.

If you don't do promotion anymore, you could also just ditch the basic and advanced variants?

As for compiling, you could try a snap, it has quite an up-to-date development version for 0 A.D..

Ok, thanks checking to see if it works. If you two say it's working fine, I will take your word for it. In the mod, I just made cavalry_axeman_b the rank 3 unit and this works for a25. Tonight I will try to get a testing TG on the mod together and see what players think.

real_tabasco_sauce edited the summary of this revision. (Show Details)Jun 2 2022, 6:58 PM
real_tabasco_sauce edited the test plan for this revision. (Show Details)
real_tabasco_sauce edited reviewers, added: borg-; removed: bb.Jun 2 2022, 7:03 PM

I updated the mod with the new crush dps (thanks to @borg- ) so that balance can be investigated without a26. Just keep in mind the differences acceleration and spear cav buff will make in a26 vs a25.

real_tabasco_sauce added a comment.EditedJun 3 2022, 6:52 AM

So any comments from reviewers? anything to change? @marder @borg-? other balancers?

marder added a comment.Jun 3 2022, 4:40 PM

So any comments from reviewers? anything to change? @marder @borg-? other balancers?

I really have no strong opinion on it. If you really feel like this is a good idea you will probably need to get more people to test it and give their opinion on it.

real_tabasco_sauce edited reviewers, added: ValihrAnt; removed: marder.Jun 3 2022, 5:17 PM
real_tabasco_sauce added a subscriber: ValihrAnt.

So any comments from reviewers? anything to change? @marder @borg-? other balancers?

I really have no strong opinion on it. If you really feel like this is a good idea you will probably need to get more people to test it and give their opinion on it.

ok, so you don't wan't to review? I'll add @ValihrAnt perhaps. I will make some testing games using the mod too.

real_tabasco_sauce added a comment.EditedJun 3 2022, 5:37 PM

How do I increase train time? It just occurred to me that they need 1.5x longer train time.
^nevermind, I see this is already baked into rank 3 status. 22 sec train time seems fine

borg- added a comment.Jun 3 2022, 6:14 PM

honestly I think the patch changes unnecessary things. I think that changing the ax cavalry to phase one, and lowering cost, would be enough to have a "special" unit. Its low cost would make it a unit capable of being trained quickly and in large quantities, being able to be very effective in small fights especially in phase 1. Maybe it would increase its crush damage a little, so that it would be more effective against buildings, and maybe also a higher capture rate.

real_tabasco_sauce added a comment.EditedJun 3 2022, 6:22 PM
In D4674#199086, @borg- wrote:

honestly I think the patch changes unnecessary things. I think that changing the ax cavalry to phase one, and lowering cost, would be enough to have a "special" unit. Its low cost would make it a unit capable of being trained quickly and in large quantities, being able to be very effective in small fights especially in phase 1. Maybe it would increase its crush damage a little, so that it would be more effective against buildings, and maybe also a higher capture rate.

what do you mean unnecessary? Axe cav are pretty much the worst unit in the game.
Would people rather I get rid of the rank 3 idea and just let them train with the parent class stats? (https://code.wildfiregames.com/D4683)

I think allowing a cheaper axe cav with more crush attack in p1 would be OP. Couldn't one just destroy the enemy CC by 3 minutes? You can already destroy a cc in under a minute with 20 or so.

In D4674#199087, @Stan wrote:

Thank you for that. I think the train time is good as is, since rank 3 units train slower 15 sec -> 22 sec.

real_tabasco_sauce added a subscriber: LetswaveaBook.

Do you all think this decision should come down to the vote? If so, I would like at least 8 to 10 votes before we make a decision. It seems borg- doesn't really like the idea. I have yet to hear from @ValihrAnt, so I am adding @LetswaveaBook as a reviewer.
I can say for sure that people in the game lobby have been mostly supportive.
We need to decide on something fast, and I don't know if we could put together borgs suggestions in their entirety soon enough. I say better to balance axecav as a unit now and reconsider when they can be trained later as part of a larger Persia differentiation effort. Thoughts?

Do all balancers refuse to accept the revision, or is there something I have yet to do?

real_tabasco_sauce edited the test plan for this revision. (Show Details)Wed, Jun 22, 7:58 AM