Page MenuHomeWildfire Games

[gameplay] Hero aura revision
Needs ReviewPublic

Authored by Feldfeld on Mar 18 2018, 5:13 PM.

Details

Summary

This patch aims to make the choice of heroes less obvious and more based on the strategy employed by the player.
Changes discussed with: @smiley @Feldfeld @temple @Hannibal_Barca

Test Plan

Test hero auras and see if they work.
Test them from the balancing point of view.
Review and commit for A24, let A23 be imbalanced so we can collect more complaints and blames.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 5843
Build 9781: Vulcan BuildJenkins

Event Timeline

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

Add new files
Adjust Chandragupta and Seleucus
Remove changes already committed by temple.

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

Link to build: https://jenkins.wildfiregames.com/job/differential/384/display/redirect

In D1400#59089, @temple wrote:

You forgot to include the new files with the patch.

What about these comments?

Ptolemy IV needs a tooltip documenting the Juggernaut increase.

I want to keep this diff clean, but yes it should be done.

In D1400#59089, @temple wrote:

I wonder why you changed some ranges to 45m but not others? Seems to me that it could also be done for Hannibal, Maharbal, Vercingetorix, Amanirenas, Philip, Cleopatra (all three), Ptolemy IV, Marcellus (both), Brasidas, Leonidas.

Seleucids and Persians both have the unique cavalry technology. This is to limit the potential strength of a mass cavalry spam (the heroes reduced affect cavalry)

In D1400#59089, @temple wrote:

Brasidas should lose the armor bonus.

Brasidas affects citizens only, Leonidas less bonus but affects a wider category. Agis is a good all-round hero if the player doesn't want to specialize.

As for the ranges of +20% heroes, it could be an idea. But I'm not sure yet.

Is this thing still relevant?

lyv added a comment.May 4 2019, 7:39 PM

Probably. Whether it interests the relevant people is a different question.

@relevant-people

Stan added subscribers: Itms, Stan.EditedMay 5 2019, 11:42 AM

@borg- @Itms @designdocument.

Stan added a subscriber: borg-.May 5 2019, 11:42 AM
Nescio retitled this revision from Hero aura revision to [gameplay] Hero aura revision.Mar 22 2020, 12:00 PM
Feldfeld commandeered this revision.Jun 13 2020, 8:39 AM
Feldfeld added a reviewer: Hannibal_Barca.

Some hero rebalance could be nice.

Nescio added a subscriber: Nescio.Jun 13 2020, 4:15 PM

You probably want to click “Plan Changes”. For the aura tooltip format established at the end of 2019, see the style guide. Also feel free to include D2648 in some form.

Feldfeld updated this revision to Diff 12296.Jun 13 2020, 11:10 PM
Feldfeld edited the summary of this revision. (Show Details)

Rebase and changes to the style.

Nescio added a subscriber: fatherbushido.EditedJun 14 2020, 12:04 PM

It's probably best to have a critical look at all hero auras in game. I found a python script in my files that I last used a year ago, but was written by someone else (I'm not sure who; @fatherbushido?); here it is:


[EDIT] I ran it again now and here is the current output:

It's probably best to have a critical look at all hero auras in game.

There are some other heroes that could use a small buff, like Boudica as mentionned in another patch, but the ones addressed in this patch are the priority I think.

Nescio requested changes to this revision.Jun 18 2020, 10:43 AM

There are some other heroes that could use a small buff, like Boudica as mentionned in another patch, but the ones addressed in this patch are the priority I think.

But if only some are changed and other heroes are left untouched, wouldn't that distort gameplay balance?

While Alexander did (re)found many settlements, I do not know of any theatres he supposedly erected. He certainly did not found any libraries. The first real library was founded by Ptolemy I, who had heard of Aristotle's enormous book collection. Therefore him trebling those build limits is inappropiate, please remove that change.
Another thing, please remove Alexander's bonus attack vs heroes (lines 3 to 12 and line 22); while he did participate in pitched battles, like other kings before and after him, and was occassionally wounded, he's not known to have personally killed anyone in single combat. (He did, however, slay several of his closest friends when drunk.)
Furthermore, I'd appreciate it if the first aura ("Structures +10% territory influence radius.", globally) could be replaced with a local aura, e.g. Melee units +1 armour level and +10% movement speed, to reflect the fact that he was a conqueror who kept his army while moving on and on, and won victorious thanks to his superior heavy (i.e. melee) infantry and cavalry.

Darius increasing the apadana limit is appropiate: the design of the famous one he built in Persepolis was based on the slightly older one he built in Susa, another Persian capital.

I'll have another critical look at other the aura changes later.

binaries/data/mods/public/simulation/data/auras/units/heroes/athen_hero_pericles_3.json
11 ↗(On Diff #12296)

"Structures −20% resource costs."
(With a proper minus sign, mind, not an hyphen.)

binaries/data/mods/public/simulation/data/auras/units/heroes/spart_hero_agis.json
4 ↗(On Diff #12296)

Why Siege?

binaries/data/mods/public/simulation/templates/units/pers_hero_darius.xml
16

Unnecessary line, revert.

binaries/data/mods/public/simulation/templates/units/pers_kardakes_hoplite.xml
15

This does not seem to do anything? Better not touch this file then.

binaries/data/mods/public/simulation/templates/units/pers_kardakes_skirmisher.xml
15

idem

This revision now requires changes to proceed.Jun 18 2020, 10:43 AM
Nescio added inline comments.Jun 18 2020, 10:44 AM
binaries/data/mods/public/simulation/templates/units/spart_hero_agis.xml
6–8

Now he has an aura, remove this line.

Nescio added inline comments.Jun 18 2020, 10:46 AM
binaries/data/mods/public/simulation/templates/units/pers_hero_darius.xml
16

Oops, actually this line is necessary.
Keep, but move it below <Tooltip> and correct indentation.

Feldfeld updated this revision to Diff 12375.Jun 18 2020, 1:15 PM

Changed Alexander, Boudicca and Philip auras and fixed Xerxes

But if only some are changed and other heroes are left untouched, wouldn't that distort gameplay balance?

Not more than it is now, since the patch aims at fixing auras of the weakest heroes to match the strongest, or have some sort of usefulness. But i'll try changing auras of other heroes if I have some ideas.

Another thing, please remove Alexander's bonus attack vs heroes (lines 3 to 12 and line 22); while he did participate in pitched battles, like other kings before and after him, and was occassionally wounded, he's not known to have personally killed anyone in single combat. (He did, however, slay several of his closest friends when drunk.)

Okay, it wasn't useful anyway

Furthermore, I'd appreciate it if the first aura ("Structures +10% territory influence radius.", globally) could be replaced with a local aura, e.g. Melee units +1 armour level and +10% movement speed, to reflect the fact that he was a conqueror who kept his army while moving on and on, and won victorious thanks to his superior heavy (i.e. melee) infantry and cavalry.

Done, do you have an idea for the new aura name ?

binaries/data/mods/public/simulation/data/auras/units/heroes/spart_hero_agis.json
4 ↗(On Diff #12296)

To make the aura stronger I think, in compensation to the 45m radius. If the attack and armor bonus for soldiers is judged strong enough then I can remove it, I guess I could use opinions of other players for that.

binaries/data/mods/public/simulation/templates/units/pers_kardakes_hoplite.xml
15

This was a problem introduced in a previous patch, the Xerxes aura files were deleted at some point.

binaries/data/mods/public/simulation/templates/units/spart_hero_agis.xml
6–8

I don't understand

I'm not sure what is going on here but hero auras could really use some uniqueness. I feel like everything is some sort of +% attack / +1 armour / movement seped which kinda makes it monotone and boring

borg- added a comment.Jun 18 2020, 5:31 PM

I have balaced and new auras on my mod @Feldfeld, take a look, can help.

In D1400#57984, @elexis wrote:

Global auras seemed bad, because it leads players to park the hero as far away from the battlefield / economy as possible.
It would be the same as a technology researched, but a hero should be involved with the map directly.

This I fully agree with!

I'm not sure what is going on here but hero auras could really use some uniqueness. I feel like everything is some sort of +% attack / +1 armour / movement seped which kinda makes it monotone and boring

Suggestions are welcome.

Not more than it is now, since the patch aims at fixing auras of the weakest heroes to match the strongest, or have some sort of usefulness.

Thanks for the explanation, that wasn't clear from the summary.

Done, do you have an idea for the new aura name ?

  • Alexander's Army
  • Conqueror of the Known World
  • Great Conqueror
  • Macedonian Discipline
  • Skilled Troops

Personally I like Anabasis, but only few people know what that means.

binaries/data/mods/public/simulation/data/auras/units/heroes/athen_hero_pericles_3.json
7–8 ↗(On Diff #12375)

List stone before metal.

binaries/data/mods/public/simulation/data/auras/units/heroes/gaul_hero_brennus.json
4

Why not ["Unit !Animal"]?

binaries/data/mods/public/simulation/data/auras/units/heroes/mace_hero_alexander_1.json
3 ↗(On Diff #12375)

Maybe make it 50 or 60?

6–8 ↗(On Diff #12375)

The correct order is Hack, Pierce, Crush.

12 ↗(On Diff #12375)

units → Soldiers

binaries/data/mods/public/simulation/data/auras/units/heroes/mace_hero_alexander_2.json
3–4

Maybe make it 50 or 60?

binaries/data/mods/public/simulation/data/auras/units/heroes/maur_hero_chandragupta_1.json
6 ↗(On Diff #12375)

{ "value": "TerritoryDecay/DecayRate", "replace": 0 }
Or doesn't that work for local auras?

binaries/data/mods/public/simulation/data/auras/units/heroes/maur_hero_chandragupta_2.json
1–9 ↗(On Diff #12375)

Why?

binaries/data/mods/public/simulation/data/auras/units/heroes/pers_hero_xerxes_2.json
3 ↗(On Diff #12375)

Useless if D2742 is committed.

binaries/data/mods/public/simulation/data/auras/units/heroes/sele_hero_seleucus_victor.json
9–11

Hack, Pierce, Crush.

15

"auraDescription": "Champion Elephants +1 armor, +25% melee attack damage, but −10% movement speed.",
(Proper minus sign, no filler text.)

binaries/data/mods/public/simulation/data/auras/units/heroes/spart_hero_agis.json
12–14 ↗(On Diff #12375)

List Armour above Attack (alphabetical order; see D2000/rP23556); damage types are ordered: Hack, Pierce, Crush.

17 ↗(On Diff #12375)

Remove the second sentence.

binaries/data/mods/public/simulation/templates/special/player/player.xml
49

Then the limit goes down again. <LimitChangers> are not permanent, they're based on the actual number of relevant entities you have.

binaries/data/mods/public/simulation/templates/units/mace_hero_alexander.xml
22

Lines 3 to 12?

binaries/data/mods/public/simulation/templates/units/pers_hero_darius.xml
16

(Indentation, order.)

binaries/data/mods/public/simulation/templates/units/pers_hero_xerxes.xml
4

What happened to this? The file doesn't show up in this differential. If it was simply renamed, do it properly, to preserve file history:
svn mv x.json y.json

binaries/data/mods/public/simulation/templates/units/spart_hero_agis.xml
6–8

Agis had twice as much health because it had no aura. Now it has one, it no longer needs double health.

Why is background text just shoved out? Might as well throw random buffs everywhere since we don't shine any light on the reason.

Why is background text just shoved out?

Other auras don't have this either and for consistency it's important to adhere to the style guide. Moreover, the longer a text is, the more time it takes for people to process it. Because the purpose of tooltips is to convey information at a glance, it's best to be both precise and concise. Besides, shorter strings are less work to maintain, also for translators.

Might as well throw random buffs everywhere since we don't shine any light on the reason.

The reasoning behind changes belongs in the differential discussions (i.e. here), which people can always retrieve via the svn revision history, therefore all information is preserved.

Stan added a comment.Jun 19 2020, 10:41 AM

Don't forget the final new lines in some of the files;

It would nice to have the equivalent of history tags in identity in the details pane of auras, techs and whatever.

Technology files have both a description (for flavour text) and a tooltip (for the actual modifications), but auras work differently.

Hannibal_Barca resigned from this revision.Jun 19 2020, 12:25 PM

I guess you can go delete the catafalque descriptions too.

Stan added a comment.Jun 19 2020, 12:43 PM

@Hannibal_Barca can you check your forum PMs when you have some time?

The reasoning behind changes belongs in the differential discussions (i.e. here), which people can always retrieve via the svn revision history, therefore all information is preserved.

I think the point was not the loss of context to developers, but to the user. One of the goals of the game is to make people interested in history/"teach" them about it.
While I, to some extend, agree with tooltips being concise, I think the point of learning more about the past whilst playing is not to be ignored.

In D1400#120898, @Stan wrote:

It would nice to have the equivalent of history tags in identity in the details pane of auras, techs and whatever.

That would be ideal indeed. Casual players could take their time to read them while competitive players can quickly see what an aura does.

I think the point was not the loss of context to developers, but to the user. One of the goals of the game is to make people interested in history/"teach" them about it.
While I, to some extend, agree with tooltips being concise, I think the point of learning more about the past whilst playing is not to be ignored.

If it really teaches something meaningful about history, then yes. However, strings such as

Clad in an overkill of heavy armor, Armored War Elephants were a terror to behold, a rampaging bulk of steel and spikes.

or

A stalwart warrior any Spartan would be proud to follow into battle.

I consider mere peacockery, hence my request not to introduce such filler text.

It would nice to have the equivalent of history tags in identity in the details pane of auras, techs and whatever.

That would be ideal indeed. Casual players could take their time to read them while competitive players can quickly see what an aura does.

It is possible to insert separate "history": lines in the aura files, that wouldn't harm, though they aren't displayed at the moment; a future patch could address that.
Another alternative is putting the string inside the <Identity/History> node in the templates that have the aura, which is displayed in game. History strings were purged in D297/rP19960, though, and have not been reintroduced since.

Stan added a comment.Jun 19 2020, 1:20 PM

I think they were purged because some of them were hugely wrong @Itms might know more.

Freagarach added a comment.EditedJun 19 2020, 1:45 PM

(The ticket states they were removed to save a lot of ad hoc work for translators prior to A20.)

Feldfeld updated this revision to Diff 12458.Jun 25 2020, 4:52 PM

Small fixes, change the aura of one more hero

I'm not sure what is going on here but hero auras could really use some uniqueness. I feel like everything is some sort of +% attack / +1 armour / movement seped which kinda makes it monotone and boring

Yes, but the problem is that there are (much) more heroes than possible aura ideas it sounds like. The problem with that one aura that got removed is that it was not historically accurate.

In D1400#120774, @borg- wrote:

I have balaced and new auras on my mod @Feldfeld, take a look, can help.

Thanks, yeah, training time and attack rate bonuses seem underused in vanilla, maybe some original bonuses could come out of this.

binaries/data/mods/public/simulation/data/auras/units/heroes/mace_hero_alexander_1.json
3 ↗(On Diff #12375)

I left it at 45 as this bonus is approximately equivalent to the typical +20% attack from some other heroes, but this hero has another aura. But the more restricted affected classes might indeed justify going to 60, I will maybe change for next patch.

binaries/data/mods/public/simulation/data/auras/units/heroes/maur_hero_chandragupta_1.json
6 ↗(On Diff #12375)

I tested it and it makes the buildings actually recovering their capture points, in range of the hero aura

binaries/data/mods/public/simulation/templates/units/pers_hero_xerxes.xml
4

Did that work ?

attack rate bonuses

Those are fundamentally equivalent to attack damage bonuses (damage per second = attack damage / attack time).

binaries/data/mods/public/simulation/data/auras/units/heroes/mace_hero_alexander_1.json
3 ↗(On Diff #12375)

One has to keep in mind the area equals pi times the radius square.
Anyway, I appreciate it both Alexander auras have the same range.

binaries/data/mods/public/simulation/data/auras/units/heroes/maur_hero_chandragupta_1.json
6 ↗(On Diff #12375)

That's because structures (see template_structure.xml) have both a <TerritoryDecay/DecayRate> (of 20) and a <Capturable/RegenRate> (of 0.5). The former is the rate capture points are lost when unconnected to a territory root; the latter the rate at which entities recover towards their owner. TD/DR usually dwarfs C/RR, but if TD/DR becomes 1% or 0, the effect of C/RR becomes noticeable.

binaries/data/mods/public/simulation/data/auras/units/heroes/pers_hero_xerxes_2.json
8 ↗(On Diff #12458)

Again, stone ought to be before metal.

Also, I don't really understand the choice of Chandragupta auras; e.g. an elephant bonus would make more sense.

Nescio added a comment.EditedJun 26 2020, 10:54 AM

For determining appropiate range values, this table might be helpful:

range → area ; normalized
  5 →     79 ; 0.016
 10 →    314 ; 0.063
 15 →    707 ; 0.141
 20 →   1257 ; 0.25
 25 →   1963 ; 0.391
 30 →   2827 ; 0.563
 35 →   3848 ; 0.766
 40 →   5027 ; 1
 45 →   6362 ; 1.266
 50 →   7854 ; 1.563
 55 →   9503 ; 1.891
 60 →  11310 ; 2.25
 65 →  13273 ; 2.641
 70 →  15394 ; 3.063
 75 →  17671 ; 3.516
 80 →  20106 ; 4
 85 →  22698 ; 4.516
 90 →  25447 ; 5.063
 95 →  28353 ; 5.641
100 →  31416 ; 6.25

[EDIT] Going from e.g. 25 to 20 means a 36% reduction (0.25 / 0.391), from 25 to 30 a 44% increase (0.563 / 0.391); and 30 means an area 2.5× as large as 20.

Stan added a comment.Jul 14 2020, 12:58 PM

@Itms any opinion on the history string removal?

(Actually no strings are removed by this patch.)

Stan added a comment.Jul 14 2020, 1:08 PM

Ah right, I'm backlogging the past month, so I missed the it :D

lyv resigned from this revision.Jun 22 2022, 1:56 PM