Opened 14 months ago
Closed 6 days ago
#6755 closed defect (fixed)
Incorrect description for modifying the BatchTimeModifier
Reported by: | Langbart | Owned by: | |
---|---|---|---|
Priority: | Should Have | Milestone: | Alpha 27 |
Component: | UI & Simulation | Keywords: | |
Cc: | Patch: |
Description
- vaguely reported in the forum by
wang_wei_2
- Incredibly fast training times (3/Mar/23)
to reproduce
- start a game with
Athens
- build a barracks and look at the time it takes to train
Hoplites
in different batches - research
Conscription
and look at the time it takes to trainHoplites
againLine 1 { 2 "genericName": "Conscription", 3 "description": "Significantly increase training speed of infantry by training them in large batches or companies.", 4 "cost": { 5 "food": 500 6 }, 7 "requirements": { 8 "all": [ 9 { "tech": "phase_city" }, 10 { "notciv": "pers" } 11 ] 12 }, 13 "requirementsTooltip": "Unlocked in City Phase.", 14 "icon": "ist_spear_fire.pngf", 15 "researchTime": 40, 16 "tooltip": "Barracks −10% batch training time.", 17 "modifications": [ 18 { "value": "Trainer/BatchTimeModifier", "add": -0.1 } 19 ], 20 "affects": ["Barracks"], 21 "soundComplete": "interface/alarm/alarm_upgradearmory.xml" 22 }
Batch size | Normal Time (in seconds) | Conscription Time (in seconds) | % Change |
5 | 37 | 31 | -16.22% |
10 | 64 | 51 | -20.3% |
15 | 88 | 67 | -23.86% |
20 | 110 | 82 | -25.45% |
A reduction of 0.1
will not result in a 10% reduction in batch time.
It will always depend on the batch size, thus any description claiming a constant percentage reduction is incorrect.
Batch Training Time = costBuildTime * batchSizebatchTimeModifier
Changing the Cost Build Time
Batch Training Time change = newCostBuildTime/oldCostBuildTime -1
Changing the Batch Time Modifier
Batch Training Time change = batchSizenewBatchTimeModifier - oldBatchTimeModifier -1
BatchTimeFactor
was added with [12877]- renamed to
BatchTimeModifier
in [12883] - see comment:20:ticket:1717 by
zoot
- the name change was done to better clarify that it is an exponent
- renamed to
affected files:
.json
- barracks_batch_training.json added with [13400]
- stable_batch_training.json added with [13407]
- phase_city_pers.json added with [26996]
- phase_town_pers.json added with [26996]
.xml
- civil_centre_court.xml added with [26634]
- batch time modifier was halved
- batch size x would lead to a Batch Training Time change of: x0.4-0.8-1
- batch size 16 = -67%
- batch size 32 = -75%
- batch size 64 = -81%
- ...
- batch size x would lead to a Batch Training Time change of: x0.4-0.8-1
- batch time modifier was halved
- civil_centre_court.xml added with [26634]
possible solution (1)
- Adapt description to vaguely describe that there is a reduction
- it must be short and precise, no long, overly complex, compound sentences
possible solution (2)
- modify
Cost/BuildTime
instead ofTrainer/BatchTimeModifier
"modifications": [ { "value": "Cost/BuildTime", "multiply": 0.9 },
Change History (3)
comment:1 by , 13 months ago
comment:2 by , 11 months ago
costBuildTime * batchSizeModifierBuilding + ModifierTech0 + ModifierTech1
can also be expressed like this:
costBuiltTime * batchSizeModifierBuilding * batchSizeModifierTech0 * batchSizeModifierTech1
Then the description of the tech would only had to talk about it's factor:
Changes the training time by a factor of batchSize^-0,1.
or Devides the training time by batchSize^0,1.
A tech which does multiply (only the Han CC) can't be represented in this notion.
In 27584: