Page MenuHomeWildfire Games

[gameplay] introduce unlock champion cavalry technology
ClosedPublic

Authored by Nescio on Jan 15 2021, 5:59 PM.

Details

Summary

Champions are quite powerful. Currently all champion cavalry and chariots are trainable at the stable and requiring the city phase. However, champion infantry trainable at the barracks requires a special technology, which costs 700 metal, and civs that can't train champion infantry at the barracks need to build separate structures with varying costs.
There are several options to address this:

  • do nothing and leave it for A25 to figure out an elegant solution;
  • simply deprecate the “unlock champions” technology, removing the requirement for champion infantry, but perhaps raise the cost of the city phase;
  • make the existing “unlock champions” technology a requirement for champion cavalry too;
  • introduce a separate “unlock champion cavalry” technology (as requested by @borg-);
  • introduce a separate unlock technology for each champion unit (which would mean dozens of files, but offers more flexibility for civs).

This patch introduces a new “unlock champion cavalry” technology and makes it a requirement for all champion cavalry. However, chariots are specifically excluded (and keep a city phase requirement), giving a bit of a civ bonus to Britons, Mauryas, and Persians.

The proposed cost is 600 food, because:

  • the city phase costs 750 stone and 750 metal
  • food is easiest to obtain when metal mines run out in the late game, and a metal cost would be harder for players who are confined to a small area
  • champion cavalry costs more food than wood or metal, so having a food cost for their requirement means delaying massed champion cavalry a bit longer

It can be changed, of course.

[EDIT] Further changes:

  • introduces an equivalent “unlock champion chariots” technology for Britons, Mauryas, and Persians
  • lower cost to 600 food
  • also changes barracks' “unlock champion units” technology cost, from 700 metal and 90 s to 600 food and 60 s
Test Plan

Check for mistakes and omissions. Agree with the cost. Consider whether the patch is better than the alternatives.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Nescio created this revision.Jan 15 2021, 5:59 PM
Owners added a subscriber: Restricted Owners Package.Jan 15 2021, 5:59 PM
Nescio added inline comments.Jan 15 2021, 6:01 PM
binaries/data/mods/public/simulation/data/technologies/unlock_champion_cavalry.json
10–13 ↗(On Diff #15350)
  • athen and spart don't have champion cavalry, therefore don't need this.
  • brit and maur have champion chariots but no other champion cavalry, therefore don't need this either.
  • pers has both a champion chariot and a champion cavalry spearman, therefore does need this technology.

Build is green

builderr-debug-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/liblobby_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libscriptinterface_dbg.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine_dbg.a(precompiled.o) has no symbols
../../../source/graphics/ShaderProgram.cpp:86:15: warning: 'Reload' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void Reload()
                     ^
../../../source/graphics/ShaderProgram.h:124:15: note: overrid

See https://jenkins.wildfiregames.com/job/macos-differential/2881/display/redirect for more details.

Nescio requested review of this revision.Jan 15 2021, 6:17 PM
borg- added a comment.EditedJan 15 2021, 6:55 PM

I think you should add brit and maury to the patch. British chariot is stronger than the rest of the cavalry.

I thought about 600 food for both techs.

Chariots are javelineers so IMO they should count.

Nescio updated this revision to Diff 15352.Jan 15 2021, 7:14 PM
Nescio edited the summary of this revision. (Show Details)
  • unlock technology for chariots
  • lowered cost to 600 food
borg- added a comment.Jan 15 2021, 7:17 PM

Good new cost.
I don't think it's necessary to divide between cavalry and chariots, for me both are cavalry.

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

I don't think it's necessary to divide between cavalry and chariots, for me both are cavalry.

It's not strictly necessary, but it makes no difference for Britons and Mauryas, is not more effort right now, and saves work if an when chariots are truly separated from cavalry.
For the Persians it means they have one technology for unlocking the cavalry spearman and one for unlocking the chariot archer, forcing them to choose which one to prioritize. This seems fair to me, given that other civs only get one champion per technology as well, and the Persians have four types of citizen cavalry by default, whereas most other civs have two.

borg- added a comment.Jan 15 2021, 9:38 PM

How about we let the Persians be able to train cavalry without tech? It would be a differentiator since all civ now have stables.

The Persians already have a lot of cavalry things:

  • four types of citizen cavalry and two types of champions (most other civs have two and one, respectively)
  • a very cheap town-phase technology giving cavalry −10% training time
  • a technology enabling training citizen cavalry at triremes
  • a technology increasing giving champion cavalry spearmen +20% health

Therefore I think it's better they're required to research both those unlock technologies.

borg- accepted this revision.Jan 16 2021, 2:30 AM

This is one of the most important patches. I really bothered @Nescio to create this patch, sorry haha.
Technology is highly important for not having horse champions spam in most games and we don't want that.
It seems fair that cavalry also needs technology to train in stables, as well as infantry.

Now we need a patch to remove infantry champion from the castles and all ok, tnx for you hard work @Nescio .

This revision is now accepted and ready to land.Jan 16 2021, 2:30 AM
This revision was automatically updated to reflect the committed changes.

For the record, I dislike the approach taken here, with these unlock technologies. I'd prefer simply raising the cost of the city phase or the stable.
I'm also worried whether the AI will actually make use of this. I've observed (without this patch) the AI researches phase advances and economic technologies, but it seems to ignore everything else. It does not even take the Seleucid champion choice, despite it being free.

Now we need a patch to remove infantry champion from the castles and all ok, tnx for you hard work @Nescio .

Yes, I'm working on it, but it's more complicated, due to different champion infantry file names.

ps/trunk/binaries/data/mods/public/simulation/data/technologies/unlock_champion_chariots.json
14

And I see I forgot sele.

Silier added a subscriber: Silier.Jan 16 2021, 11:18 AM

no, she will not research unlock technology, maybe in phase 3 as random choice as she does not care about current technology for infantry in barracks