Page MenuHomeWildfire Games

[gameplay] tweak ranged attack projectile values
ClosedPublic

Authored by Nescio on Jan 15 2021, 8:43 PM.

Details

Summary

rP23144 changed projectile <Gravity> values to be approximately half the <Speed> values, which has no effect on gameplay balance, but produces nicer-looking arcs.
rP24458 increased <Speed> values slightly, but did not adjust <Gravity> values.
D3297/rP24539 unified ranged soldier attack ranges (javelineers 30, slingers 50, crossbowmen 60, archers 70).
This patch further tweaks <Projectile> values.

Most importantly, spread values are adjusted; because the effect is especially noticeable at longer ranges, longer ranged units need lower values to compensate:

  • javelineers: 4 (unchanged)
  • slingers: 3.5→3
  • crossbowmen: 3→2 (to offset their much higher reload time)
  • archers: 3→2

Next, advanced and elite ranks now reduce spread by 20% (instead of 10%), but champions and heroes have their spread increased a bit, to make theirs proportional to their citizen counterparts:

basic   : 1
advanced: 0.8
elite   : 0.64
champion: 0.4
hero    : 0.2

And because promotion now more strongly reduces spread, the 10% spread reduction from the archery tradition technology.

Furthermore, <Gravity> values are set to 50% of <Speed> values. This has no effect on gameplay, but looks a bit nicer.
Finally, <LaunchPoint> values are raised:

  • infantry keeps y=3
  • cavalry gets y=5
  • camels get y=7
  • elephants get y=9

This determines from which the projectile is visibly launched. This does not affect gameplay balance either, but is a minor detail visible when zooming in. The values may not be perfect, but look better than assuming everything is infantry.

Test Plan

Check for mistakes and omissions, agree with the proposed values.

Event Timeline

Nescio created this revision.Jan 15 2021, 8:43 PM
Owners added a subscriber: Restricted Owners Package.Jan 15 2021, 8:43 PM
Nescio added inline comments.Jan 15 2021, 8:48 PM
binaries/data/mods/public/simulation/templates/units/mace/champion_infantry_crossbowman.xml
19

For a flatter arc.

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

Nescio requested review of this revision.Jan 15 2021, 8:51 PM
borg- added a subscriber: borg-.Jan 15 2021, 9:36 PM

The values proposed by the patch are clearly better. I'm not sure about gravity, how it actually works.

Gravity is merely visual.

borg- accepted this revision.Jan 16 2021, 1:37 AM

Ok.

This revision is now accepted and ready to land.Jan 16 2021, 1:37 AM

I would definitely prefer lowering the Archer spread, even if we reduce their range, because they are currently really annoying to use for hunting. This of course is an indirect DPS increase, so maybe they'd need debugging (Maybe a repeat rate reduction?)

Yes, I kept the basic archer spread unchanged, both as a point of reference for the rest and because @Feldfeld pointed out in a private message yesterday that archers might be too strong already, so I'd rather change spread by too little than by too much.
As for hunting, just move your archers closer.

Yes, I kept the basic archer spread unchanged, both as a point of reference for the rest and because @Feldfeld pointed out in a private message yesterday that archers might be too strong already, so I'd rather change spread by too little than by too much.

I realise that, but I think this isn't really improving things much. Elite archers are probably _much_ stronger than CS archers with this patch, and this is hard to read.
Further, the archer spread means they still miss often depending on the range, making their actual DPS in combat situation difficult to predict.
I think I would prefer a reduction of spread to 2, and a debugger to damage or fire rate. It would make the values more predictable

As for hunting, just move your archers closer.

I think that's un-necessary micro, and just frustrating.


I guess the higher gravity makes trajectories more of an arc? Pls double check at close range then.

Elite archers are probably _much_ stronger than CS archers with this patch, and this is hard to read.

True, they are, but champions are less accurate, so overall I think it's fair.
Elite archer spread is lowered by 36%, but if basic archers were to have a spread of 2, then elite archers would have 1.28, i.e. 57% less than what they have now.
More importantly, when javelineers and archers are firing at each other, archers are clearly more accurate.

I guess the higher gravity makes trajectories more of an arc? Pls double check at close range then.

Gravity is hardly noticeable at point-blank but it is at longer distances; try a gravity of 0 and then of 1000. Anyway, that's beside the point: rP23144 intentionally raised gravity to approximately half the speed, but rP24458 raised speeds without adjusting gravity, which I noticed when tweaking the spreads, which is why I included it here.

wraitii added a comment.EditedJan 16 2021, 4:20 PM

True, they are, but champions are less accurate, so overall I think it's fair.

Sorry, I don't follow why? Mostly my point is that this makes archer XP much more useful than any other XP, which doesn't really seem "working as designed"

Elite archer spread is lowered by 36%, but if basic archers were to have a spread of 2, then elite archers would have 1.28, i.e. 57% less than what they have now.
More importantly, when javelineers and archers are firing at each other, archers are clearly more accurate.

This is only true in archer vs Jav combat though.
I did a basic test against a dummy infantry unit, and I got at max range, for the same amount of time:

  • Basic CS Archer does 500 HP damage
  • Elite CS Archer does around 1100 HP damage
  • Champ Archer does 4000 HP Damage
  • Basic Javelineer does around 1500 HP damage
  • Elite Javelineer does around 3150 HP damage (!!)

Moving archers a bit closer I got 500 / 950 / 1600 / 600 / 1100
Moving to point blank range 500 / 505 / 1050 / 1000 / 1000 which is close to the DPS ratio.

Therefore, I think archer DPS is unpredictable. This 35% spread reduction is essentially making elite archer 2x better at max range, but equivalent at point blank range. Likewise, champions are arbitrarily better at long range since they basically have perfect aim.

I would prefer to reduce Spread across the board, so that DPS is more predictable, and then debuff accordingly.

Sorry, I don't follow why?

Recent feedback indicated people are concerned about champions, about ranged troops, and about archers. While elite archers become more accurate, basic archers remain unchanged, and champions (and javelineers) are a bit less effective, so I'd say overall it's an improvement.

Mostly my point is that this makes archer XP much more useful than any other XP, which doesn't really seem "working as designed"

What do you mean with XP?

I did a basic test against a dummy infantry unit, and I got at max range, for the same amount of time:

Thanks for testing. Basically javelineers are most effective, which is hardly surprising, given their much higher base damage. To me it just confirms increasing javelineer spread is an improvement.

Therefore, I think archer DPS is unpredictable

Isn't that precisely the point of spread? If we want predictability, we might as well give everything a spread of 0.

I would prefer to reduce Spread across the board, so that DPS is more predictable, and then debuff accordingly.

Probably the most important thing to address is attack ranges (D3381); the new way of calculating (which is definitely an improvement) has the consequence maps are relatively smaller and rushes harder.
Spread ought to be done next. I don't particularly care about the precise values, I was just explaining why I kept basic archers at 3 for now. However, I do think the proposed b:a:e:c:h ratio is better than the current situation, with the big jump of champions.
Finally, change base damage (in D3246 or elsewhere), simply because this is easiest to adjust.

What do you mean with XP?

I mean upgrading your archers to elite is much more important than for other units.

Thanks for testing. Basically javelineers are most effective, which is hardly surprising, given their much higher base damage. To me it just confirms increasing javelineer spread is an improvement.

I'd much rather decrease their attack. I find missing arrows 100% annoying.

Therefore, I think archer DPS is unpredictable

Isn't that precisely the point of spread? If we want predictability, we might as well give everything a spread of 0.

Well yeah, but also no. The point of spread is that ballista can't be used against units effectively. Not that archers can't be used against units effectively. Our archers are basically very very micro heavy


Basically I disagree with the spread increase here, and I think we should instead decrease in general, possibly make this somewhat a non-factor for these units.

(I do agree with you on the range thing).

I mean upgrading your archers to elite is much more important than for other units.

How quickly an unit gains experience is based on how quickly they kill their opponent, and since archers inflict less damage per second than javelineers, they promote more slowly.

I find missing arrows 100% annoying.

Well, I kind of like the unpredictability.

Well yeah, but also no. The point of spread is that ballista can't be used against units effectively. Not that archers can't be used against units effectively. Our archers are basically very very micro heavy

Isn't the idea ranged troops are ineffective vs single targets, but effective vs massed groups?

Basically I disagree with the spread increase here, and I think we should instead decrease in general, possibly make this somewhat a non-factor for these units.

So what numbers would you prefer? Basic javelineers 4, slingers 3, archers 2? Or even lower?

How quickly an unit gains experience is based on how quickly they kill their opponent, and since archers inflict less damage per second than javelineers, they promote more slowly.

What I'm trying to say is that the power ∆ between your basic archer and elite archer is much larger than between your basic Jav and elite Jav. So you really want elite archers.

Isn't the idea ranged troops are ineffective vs single targets, but effective vs massed groups?

I do believe that's the idea. I'm not sure it works that well in practice. The fact is that our ranged units still have a relatively short range, and in mosh pit battles this doesn't really work out all that well.

My main concern is that they're not actually ineffective vs single targets (and in fact can't be, or dancing happens). They just require some micro to be effective. IMO this adds un-necessary frustration and balance issues.

Basically I disagree with the spread increase here, and I think we should instead decrease in general, possibly make this somewhat a non-factor for these units.

So what numbers would you prefer? Basic javelineers 4, slingers 3, archers 2? Or even lower?

I think that would be OK with the range changes from D3381. It puts all units at a 'max' spread of 1.2, which will still occasionally miss.

Champions can retain their value of 1 across the board IMO.

Just to be clear, I meant 4, 3, 2 with the rank spread reductions, i.e.:

           j   ,  s   ,  a
basic   : 4    , 3    , 2
advanced: 3.2  , 2.4  , 1.6
elite   : 2.56 , 1.92 , 1.28
champion: 1.6  ,      , 0.8
hero    : 0.8  ,      , 0.4

Still fine?

Nescio updated this revision to Diff 15397.Jan 16 2021, 8:34 PM
Nescio edited the summary of this revision. (Show Details)

Just to be clear, I meant 4, 3, 2 with the rank spread reductions, i.e.:

           j   ,  s   ,  a
basic   : 4    , 3    , 2
advanced: 3.2  , 2.4  , 1.6
elite   : 2.56 , 1.92 , 1.28
champion: 1.6  ,      , 0.8
hero    : 0.8  ,      , 0.4

Still fine?

It's fine but it's not super useful. Champions already have essentially perfect aim, so reducing their spread further isn't very useful. Honestly the existing 10% spread reduction seems fine to me.

I think we need an archer debug to go alongside this, and possibly a javelineer debuff (just because they seem really strong?). I'll ask on the balancing PM.

This revision now requires review to proceed.Jan 18 2021, 12:26 PM
wraitii requested changes to this revision.Jan 18 2021, 7:23 PM

Based on above, remove this if you feel it's OK

This revision now requires changes to proceed.Jan 18 2021, 7:23 PM

Well, I like having champion spread proportional to that of their citizen counterparts.
Yes, javelineers have rather high base damage, but they did so in A23 too, the value hasn't changed; infantry movement speed has changed, so I'd expect javelineers to be actually a bit less effective than they used to be, if anything. I haven't seen people complaining about it recently either, so it's probably best to leave it as is. Changing javelineer damage without testing by others doesn't seem a good idea.
Archers have about half the damage but twice the range of javelineers. Their range has been reduced recently and I'm not sure what the effect of the spread changes will be in practice. I'd be more comfortable with having this committed as is and tweaking damage later, if necessary.

wraitii accepted this revision.Jan 19 2021, 6:54 PM

This fixes the spread affecting the DPS issue & I think it sets us in a good position for further changes.

This revision is now accepted and ready to land.Jan 19 2021, 6:54 PM

FeldFeld makes the point that maybe this should only be merged for A25, since we don't really know where archers stand in the meta. It's reasonable IMO.

I expect this diff to make archers slightly stronger, though not hugely so. Our meta doesn't really have a good counter to archer except for melee cavalry, which is a bit of a problem on its own.

TBH I'd merge it because I dislike the archer spread, _particularly_ when hunting as said before, but I'm OK with pushing if players are worried.

It's up to you, I'm fine with either.

borg- added a comment.Jan 19 2021, 7:23 PM

I would put that to the a24, it doesn't seem like a big risk since the range is smaller and advance / elite range armor was reduced. Melee units in general are better, so I don't see any risks here.

I initiated the idea of reducing range because my feeling was that archers were possibly too strong, and that it would also make the game a bit nicer (and also fixed buildings range).
My fears for this patch is that it will have unknown effects for balance, it could change quite a bit the balance between ranged units, and we don't have the time or the means to do proper tests for a24

borg- added a comment.Jan 19 2021, 7:52 PM

In general, the efficiency of ranged units is lower than a23. Ranged units gain less armor, +25% time to up level, less range etc... This patch is not enough to leave something op.

This revision was landed with ongoing or failed builds.Jan 19 2021, 8:15 PM
This revision was automatically updated to reflect the committed changes.