Page MenuHomeWildfire Games

[gameplay] enable stable for all civilizations
ClosedPublic

Authored by Nescio on Jun 7 2020, 10:17 PM.

Details

Summary

D1761/rP22984 enabled workshops for all civilizations and removed siege engines and technologies from the fortresses, D2532/rP23746 made champion cavalry trainable at the stable, D2533/rP23781 made war dogs trainable at the barracks. This patch:

  • enables the stable for all civilizations:
    • removes cavalry from all barracks;
    • removes champion cavalry from all fortresses;
    • deletes the now obsolete {civ}_champion_cavalry_barracks.xml templates;
    • removes cavalry technologies from corral and fortress;
  • makes champion chariots trainable at the stable (they are just champion cavalry);
    • removes champion chariots from all fortresses;
    • deletes the now obsolete {civ}_champion_chariot_barracks.xml templates;
  • moves war dogs from barracks to stable;
  • moves archery traditition to civic centre, since it affects all archers, not just infantry;
  • makes the unlock champions technology 30% cheaper;
  • removes the increased cost of cart_temple.xml, kush_temple.xml doesn't have this either.

Things to do in future patches:

  • rename icons: D2551
  • change military structure costs: done: D2821/rP23837
  • new cavalry technologies
  • heal_barracks.json technology: D3264
  • remove champion infantry from the fortress too
  • champion elephants?
Test Plan

Check for mistakes and omissions. Agree these changes are an improvement.

Unit TestsFailed

TimeTest
0 msJenkins > cxxtest_debug.xml::[failed-to-read]
Failed to read test report file E:\Jenkins\workspace\vs2015-differential\cxxtest_debug.xml org.dom4j.DocumentException: Error on line 346 of document : Content is not allowed in trailing section. at org.dom4j.io.SAXReader.read(SAXReader.java:511)
0 msJenkins > TestAllocators::Debug Build & Tests / test_da
0 msJenkins > TestAllocators::Release Build & Tests / test_da
0 msJenkins > TestAllocators::test_da
0 msJenkins > TestAtlasObjectXML::Debug Build & Tests / test_parse_attributes1
View Full Test Results (1 Failed · 1,018 Passed)

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
borg- added a comment.Jun 17 2020, 1:00 AM

Yeah, I suppose unlock_champion_units can be made a bit cheaper. Furthermore, heal_barracks only affects the barracks, I don't think introducing an heal technology for each structure is the way forward, so it's probably best to replace it with one that affects either all structures or only all military structures. What do you prefer?

Just for barrack and stable. This tech need a bug or some change, I never used. I think it could lower cost and put it in the village phase. Phase 2 we already have a temple that can replace the need for tech.

About "unlock_champion_units" I think it could now be splitted, one for infantry and one for cavalry, so the cost can be lower, facilitating the training of champ cavalry. Like 350m for each.

I think you need to change the barrack cost, some are 300 others 250.

Nescio updated this revision to Diff 12358.Jun 17 2020, 8:18 PM
Nescio edited the summary of this revision. (Show Details)
  • correct barracks cost mistake
  • unlock champions technology 30% cheaper
  • tweaked cavalry technologies
This revision is now accepted and ready to land.Jun 17 2020, 8:18 PM
Nescio updated this revision to Diff 12360.Jun 17 2020, 8:44 PM
  • tooltip

Everyone here, see D2821.

Nescio updated this revision to Diff 12363.Jun 17 2020, 9:57 PM
Nescio retitled this revision from [gameplay] enable stables for all civilizations and tweak military structure costs to [gameplay] enable stable for all civilizations.
Nescio edited the summary of this revision. (Show Details)
Nescio edited the test plan for this revision. (Show Details)
  • Excluded military structure cost and tooltip changes, which are split off into D2821, to keep this patch more focused and reviewable.
borg- added a comment.Jun 18 2020, 3:52 AM
  • Excluded military structure cost and tooltip changes, which are split off into D2821, to keep this patch more focused and reviewable.

Better now, but I think the technologies should be in another patch too. Just let unlock champion.

Nescio planned changes to this revision.Jun 18 2020, 10:01 AM
Nescio updated this revision to Diff 12508.Jun 30 2020, 9:43 PM
Nescio edited the summary of this revision. (Show Details)
  • Exclude cavalry technologies changes.
This revision is now accepted and ready to land.Jun 30 2020, 9:43 PM

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

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2555/display/redirect

borg- accepted this revision.Jun 30 2020, 9:51 PM

Perfect!!!

Nescio updated this revision to Diff 12514.Jul 1 2020, 8:07 AM
Nescio edited the summary of this revision. (Show Details)

Perfect!!!

  • Added pers barracks missing in previous revision update.
  • Moved war dog from barracks to stable.
  • Moved archery traditition to civic centre, since it affects all archers, not just infantry.
Nescio edited the summary of this revision. (Show Details)Jul 1 2020, 8:11 AM
Vulcan added a comment.Jul 1 2020, 8:17 AM

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

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2562/display/redirect

borg- added a comment.EditedJul 1 2020, 1:47 PM

Perfect!!!

  • Added pers barracks missing in previous revision update.
  • Moved war dog from barracks to stable.
  • Moved archery traditition to civic centre, since it affects all archers, not just infantry.

Good news.

borg- added a comment.Jul 15 2020, 3:10 AM

Just a suggestion, why not take this patch to put citizen/champion chariot in a siege workshop?
I think carthage should keep champion cavalry on temple, this is a peculiarity of civ.

Just a suggestion, why not take this patch to put citizen/champion chariot in a siege workshop?

Maybe in the future, but right now chariots are basically cavalry (they use champion cavalry templates), so training them anywhere other than the stable would be inconsistent. Changing that would not only require new templates, but also de-hardcoding the Cavalry class in the AI (e.g. D2251), i.e. it's not straightforward, the game is not yet ready for that.

I think carthage should keep champion cavalry on temple, this is a peculiarity of civ.

With this patch the peculiarity will be champion infantry is trained at the temple. All other civs train all their cavalry champions at the stable too, making an exception for Carthage is probably not a good idea. Besides, citizen cavalry javelineers, which are already available at the centre, as the only stable unit does not really seem sufficient reason to build one.

Nescio updated this revision to Diff 12694.Jul 15 2020, 2:57 PM
  • rebased

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

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2651/display/redirect

I believe this might no longer need the GUI patches since we removed ballistic tower?

Nescio added a comment.Aug 5 2020, 3:56 PM

I believe this might no longer need the GUI patches since we removed ballistic tower?

No, the civ with most structures is kush, at 24, and they still have 24, they didn't have extra towers. Therefore we still need D2806 or D2875. Also for mods and future additions.

Nescio removed a reviewer: Restricted Owners Package.Aug 15 2020, 9:04 PM
Nescio updated this revision to Diff 13453.Sep 8 2020, 11:26 AM
Nescio edited the summary of this revision. (Show Details)
  • rebased
  • since the gui now supports more than 24 icons (rP24028), this patch is now committable

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

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/1524/display/redirect

Shouldn't the icon of the barracks be also changed now?

Nescio added inline comments.Oct 23 2020, 4:18 PM
binaries/data/mods/public/simulation/templates/template_structure_military_barracks.xml
30

Shouldn't the icon of the barracks be also changed now?

It is.

Nescio updated this revision to Diff 14062.Nov 19 2020, 1:08 PM

*rebased

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/3664/display/redirect

Silier added a subscriber: Silier.Dec 2 2020, 12:09 PM

persians lost their unique structure, do they get something else here like lowered cost or something ?
yes from my perspective, stables should get similar tech as barracks to heal units.
I do not really like how fortresses are getting emptier and emptier with every patch.
For some civs they are already empty and there is almost no reason to build them instead of hp and will to fight tech.

Nescio added a comment.Dec 2 2020, 1:56 PM

persians lost their unique structure, do they get something else here like lowered cost or something ?

Persians have four types of citizen cavalry and two types of champion cavalry, more than any other civ (most have two and one). Moreover, the training_levy_cavalry and training_conscription_infantry are available to pers only, and special_war_horses is available only to pers and sele. In other words, the stable is probably more useful for pers than for other civs, I don't think it's necessary to make it even cheaper.

yes from my perspective, stables should get similar tech as barracks to heal units.

An earlier version introduced a few cavalry technologies for the stable, but it was pointed out it's probably better to do that in a future patch. The heal_barracks affects only units garrisoned in the barracks; a heal_stable technology could be introduced, of course; however, that raises a few questions:

  • Why only the barracks and stable, and not other structures?
  • Would playes actually research such technologies, given that garrisoning a temple is always more effective? If not, why keep such technologies?
  • Wouldn't it make more sense to have just one technology, researchable at the temple, that improves the garrison heal speed of all structures?

It's not obvious what's the best approach, therefore I'd say it belongs in a separate patch.

I do not really like how fortresses are getting emptier and emptier with every patch.
For some civs they are already empty and there is almost no reason to build them instead of hp and will to fight tech.

Why should fortresses train units? As you point out, athen and spart fortress don't train anything at all, so why should those of other civs be treated differently, when they're otherwise equivalent? Isn't the purpose of a fortress defending an area? I don't think it needs more than a decent attack, a lot of health, a high garrison capacity, and perhaps a territory root (D1762). Towers don't train soldiers either.
(I'm also in favour of moving the attack_soldiers_will technology to the Wonder and civ-specific technologies elsewhere.)

@Angen, more comments? Else this can be committed I guess.

Not sure If remove cavalry of Fortress and temple is a good Idea.

borg- added a comment.EditedDec 28 2020, 12:09 PM

I mean, I really like this patch, but it doesn't seem fair that civilizations continue to train champion infantry in the fortress and champion cavalry does not. It also doesn't seem fair to me that cavalry can train in a stable without needing the technology to do so. Cavalry must remain in the temple for cartage, this is a peculiarity of civilization and I particularly like it very much.

it doesn't seem fair that civilizations continue to train champion infantry in the fortress and champion cavalry does not.

Some fortresses don't train any units at all (e.g. athen, pers, spart). The reason other fortresses do train champions is presumably mostly because those civs lack unique structures for training them. Moreover, listing a champion in a production queue does not only mean that civ can train the champion at its fortress, it also means other civs that can't train champions at their own fortresses can train champions at captured fortresses. Currently champion cavalry is trainable at seven fortresses, though not at the other six.
If stables are available for all civilizations, then there is no longer a need to train cavalry at other structures, and removing champion cavalry from all fortresses is more consistent than the current situation.

It also doesn't seem fair to me that cavalry can train in a stable without needing the technology to do so.

D2532/rP23746 made champion cavalry trainable at the stable. The city phase is the required technology. Likewise, training champion elephants at the elephant stable doesn't require a separate technology either.

Cavalry must remain in the temple for cartage, this is a peculiarity of civilization and I particularly like it very much.

For comparison, Kushites also train infantry champions at their temples, but not champion cavalry.

borg- added a comment.EditedDec 28 2020, 2:40 PM

it doesn't seem fair that civilizations continue to train champion infantry in the fortress and champion cavalry does not.

Some fortresses don't train any units at all (e.g. athen, pers, spart). The reason other fortresses do train champions is presumably mostly because those civs lack unique structures for training them. Moreover, listing a champion in a production queue does not only mean that civ can train the champion at its fortress, it also means other civs that can't train champions at their own fortresses can train champions at captured fortresses. Currently champion cavalry is trainable at seven fortresses, though not at the other six.

I am not against fortress not training units, but shouldn't the infantry logic be applied? If I can train infantry in barracks then it must be removed from fortress.

if i'm playing gauls for example, i can train champion cavalry basically at no cost while i need a 1000 stone fort or 700 metal technology to train infantry.

it seems more just that civilizations that currently train infantry and cavalry in the fortress can train the two units fairly. Unlock champion tech should also be applied to the stable in this case, and infantry removed from the fortress.

borg- added a comment.Dec 28 2020, 2:42 PM

@ValihrAnt what you think about this patch?

if i'm playing gauls for example, i can train champion cavalry basically at no cost while i need a 1000 stone fort or 700 metal technology to train infantry.

And e.g. athen can train champion infantry at a structure that costs only 200 stone + 200 metal, whereas cart can train theirs at their temple, which was presumably built already prior to advancing to the city phase.
I get your point and agree training infantry at fortresses isn't consistent either. However, it's not really straightforward how to address that, therefore I think it's better to do that in a separate patch. This one is already quite large.

borg- accepted this revision.EditedDec 28 2020, 3:06 PM

if i'm playing gauls for example, i can train champion cavalry basically at no cost while i need a 1000 stone fort or 700 metal technology to train infantry.

And e.g. athen can train champion infantry at a structure that costs only 200 stone + 200 metal, whereas cart can train theirs at their temple, which was presumably built already prior to advancing to the city phase.
I get your point and agree training infantry at fortresses isn't consistent either. However, it's not really straightforward how to address that, therefore I think it's better to do that in a separate patch. This one is already quite large.

Yes, but athens and cartage train all their champions in the same place, so it seems fair.
Yes, in another patch for sure.

I accept this patch, but I want to see some changes about infantry in another patch, cited by @Nescio .

Would really like cartage cavalry to continue training on temples.

Basically, infantry and cavalry are different unit categories, and this patch ensures they're trained at separate structures. Likewise, siege engines have their own structure too (D1761/rP22984), as do ships, or healers.

Nescio edited the summary of this revision. (Show Details)Dec 28 2020, 3:18 PM
borg- added a comment.Dec 28 2020, 3:21 PM

Basically, infantry and cavalry are different unit categories, and this patch ensures they're trained at separate structures. Likewise, siege engines have their own structure too (D1761/rP22984), as do ships, or healers.

Yes, no problem while doing that, i just want to make sure that infantry and cavalry train fairly for some civilizations like gaul/brit/iber.

Aren't civs with the unlock champion at barracks technology actually better off?

@ValihrAnt what you think about this patch?

Seems fine to me, I don't know how exactly it will impact gameplay, but it's moving towards the right direction - where strategic choices are more impactful.

Nescio edited the summary of this revision. (Show Details)Dec 28 2020, 6:36 PM
Nescio removed a subscriber: Restricted Owners Package.

@Angen, more comments? Else this can be committed I guess.

09:04 < Angen> @tell Freagarach no comments

This revision was landed with ongoing or failed builds.Dec 29 2020, 12:57 PM
This revision was automatically updated to reflect the committed changes.
Owners added a subscriber: Restricted Owners Package.Dec 29 2020, 12:57 PM

Thank you, all of you!

borg- added a comment.Dec 29 2020, 1:03 PM

Thank you, all of you!

Thanks to you @Nescio , for the great effort.