Page MenuHomeWildfire Games

[gameplay] enable cart apartment
ClosedPublic

Authored by Nescio on Jul 28 2020, 4:37 AM.

Details

Summary

Carthage has three nice-looking apartment blocks:


They're already used in a few mods and some people would really like to seem the buildable by default.
This patch:

  • makes the cart apartment independent from the cart house;
  • makes the apartment buildable in the town phase;
  • makes the apartment a bit stronger, most notably with 20 population, instead of 15.

As a consequence:

          cart house , cart apartment
wood          :  150 ,  200
stone         :      ,   50
time          :   50 ,   75
population    :   10 ,   20
garrison      :    6 ,   12
health        : 1200 , 1800
capture points:  300 ,  600

Initial patch by @borg-, redone and expanded by @Nescio.
Icon by @Stan, to be added later.

Test Plan

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

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

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

For city phase, the gains must be considered.
What kinds of gains could we make? what values do you have in mind?

How about +100% health, +50% capture points, and +5 population? And perhaps add a minor stone cost, e.g. 200 wood and 50 stone?

being able to train women without the need for technology?

That's a good idea! Or maybe add the basic infantry spearman? But not any cavalry or ranged units.

borg- updated this revision to Diff 15275.Thu, Jan 14, 1:47 AM
borg- retitled this revision from [gameplay] allow upgrading cart_house to cart_apartment to [gameplay] allow cart apartment.
borg- edited the summary of this revision. (Show Details)
borg- edited the test plan for this revision. (Show Details)

Rebase.

borg- updated this revision to Diff 15276.Thu, Jan 14, 1:57 AM
borg- edited the summary of this revision. (Show Details)

Again I ask to @Nescio to rethink the idea of being available in the town phase, that would be much better for the gameplay.

This is how the apartments look, with a small tower and houses for comparison:


They look much larger and stronger, basically mini-fortresses, therefore I'd like to see them get more health and capture points.
Also, can you use op="mul" and op="add" instead? That would make the file easier to maintain (and review).

Again I ask to @Nescio to rethink the idea of being available in the town phase, that would be much better for the gameplay

I prefer the city phase, but can accept the town phase.

In D2917#149213, @Stan wrote:

Maybe?

Perfect!

They look much larger and stronger, basically mini-fortresses, therefore I'd like to see them get more health and capture points.

Suggestion?

Nescio added a comment.EditedThu, Jan 14, 11:53 AM

Suggestion?

<Capturable>
  <CapturePoints op="mul">2</CapturePoints>
</Capturable>
<GarrisonHolder>
  <Max op="mul">2</Max>
</GarrisonHolder>
<Health>
  <Max op="mul">1.75</Max>
</Health>
Nescio requested changes to this revision.Thu, Jan 14, 12:23 PM

You should also insert <Classes datatype="tokens">CivSpecific</Classes>.

This revision now requires changes to proceed.Thu, Jan 14, 12:23 PM
borg- updated this revision to Diff 15309.Thu, Jan 14, 11:18 PM
borg- edited the summary of this revision. (Show Details)

Changes requested by @Nescio
I kept health at +50%, with 75% it has 2100 health, more than a barracks or temple that are much bigger, 1800 health seems fair.

borg- edited the summary of this revision. (Show Details)Thu, Jan 14, 11:19 PM
Nescio added inline comments.Fri, Jan 15, 12:54 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
7 ↗(On Diff #15309)

op="mul">1.5

23–24 ↗(On Diff #15309)

List <Icon> above <RequiredTechnology>.
Also, the icon does not exist (@Stan?). Besides “apartment” is written with a single ‘p’, not two.

31 ↗(On Diff #15309)

op="add">10
Or maybe make keep the old +5?

Stan added a comment.Fri, Jan 15, 12:55 PM

Was waiting for this to be finished before committing anything :)

Freagarach added inline comments.Fri, Jan 15, 12:57 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

That would mean the apartment has only half a population more than an upgraded house?

Was waiting for this to be finished before committing anything :)

Could you commit the icon first, though, like you did with the carnyx-trumpeter?

binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

Yes. It has 50% more building time and 50% more health, so 50% more population seems reasonable.
I could accept +10 too, I'm just wondering whether it wouldn't be too much.

borg- added a comment.Fri, Jan 15, 1:15 PM

The design is like having more rooms, so I think it’s reasonable to have double pop.

Freagarach added inline comments.Fri, Jan 15, 1:16 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

I meant 0.5 pop bonus more.

Nescio added inline comments.Fri, Jan 15, 1:18 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

Now I'm confused, are you talking about something else?

Freagarach added inline comments.Fri, Jan 15, 1:29 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

Cart house: Starts at 10. Upgraded twice (2x +20%) ends at 14.4. If the apartment has 15, so only 0.6 pop bonus more, it would not be worth it I guess.

Nescio requested changes to this revision.Fri, Jan 15, 1:33 PM
Nescio added inline comments.
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
22 ↗(On Diff #15309)

Keep House class, don't add Apartment.

31 ↗(On Diff #15309)

Wait, it should still benefit from house technologies. Basically it's a third level house.

This revision now requires changes to proceed.Fri, Jan 15, 1:33 PM
Freagarach added inline comments.Fri, Jan 15, 1:36 PM
binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

Ah that was our misunderstanding :)

borg- updated this revision to Diff 15366.Sat, Jan 16, 2:18 AM

Changes by @Nescio

Nescio commandeered this revision.Sat, Jan 16, 7:54 PM
Nescio edited reviewers, added: borg-; removed: Nescio.

Some more things need to be changed.

Nescio updated this revision to Diff 15395.Sat, Jan 16, 8:03 PM
Nescio retitled this revision from [gameplay] allow cart apartment to [gameplay] enable cart apartment.
Nescio edited the summary of this revision. (Show Details)
Nescio edited the test plan for this revision. (Show Details)
  • redone from scratch
  • make cart apartment independent from cart house
  • make cart house 20% smaller to increase the difference
Owners added a subscriber: Restricted Owners Package.Sat, Jan 16, 8:03 PM

Build has FAILED

builderr-debug-macos.txt
fatal errorfatal error: : fatal errorfile '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/spidermonkey/include-unix-debug/js/Result.h' has been modified since the precompiled header 'obj/simulation2_Debug/precompiled.h.gch' was built
file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/spidermonkey/include-unix-debug/js/Result.h' has been modified since the precompiled header 'obj/simulation2_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/simulation2_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/source/spidermonkey/include-unix-debug/js/Result.h' has been modified since the precompiled header 'obj/simulation2_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/simulation2_Debug/precompiled.h.gch'
note: please rebuild preco

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/2903/display/redirect
See console output for more information: https://jenkins.wildfiregames.com/job/macos-differential/2903/display/redirectconsole

borg- added a comment.Sat, Jan 16, 8:10 PM

Tnx. Add+10 pop is better.

binaries/data/mods/public/simulation/templates/structures/cart/apartment.xml
31 ↗(On Diff #15309)

Wait, it should still benefit from house technologies. Basically it's a third level house.

it is still possible to research house technologies.

Nescio added a comment.EditedSat, Jan 16, 8:12 PM

Tnx. Add+10 pop is better.

Right now it has nearly double the population of the house (15 vs 8).
[EDIT] Besides, they count towards the city phase requirements.

borg- accepted this revision.Sat, Jan 16, 8:46 PM

Ok.

This revision is now accepted and ready to land.Sat, Jan 16, 8:46 PM

Why not +10 pop for houses and +20 pop for apartments (adjusting cost and build time accordingly)? That would follow/expand the logic of the house pop of other civs (+5 / +10).
+15 is not exactly doubling +8 and neither of them is comparable straight forward with other civs...

Just saying, also because you are often valuing consistency, @Nescio ;)

I prefer 10/20 too.

A fair question! (And yes, I do value consistency.)
Without this patch the cart house is a level two house and the cart apartment basically a level three house.
I'd be fine with 20, if the rest is adjusted proportionally, i.e. doubling the cost and health too; but then it would cost as much as the barracks and have more health, something to which @borg- objected earlier. Hence why I kept it at 15 and decided to further the gap by lowering the ordinary house proportionally by 20%.

+15 is not exactly doubling +8 and neither of them is comparable straight forward with other civs...

The 8's values are proportional: 15 wood and 5 seconds per population and 80 health. The 15's cost is slightly different (200 wood and 50 stone instead of 225 wood), but this is compensated by the having twice the capture points and counting towards the city phase requirements.
Basically the idea is that they're different yet roughly equivalent: if one were clearly better, the other wouldn't be built, which would be a loss; player should have reasonable choices.

Palaxin added a comment.EditedSat, Jan 16, 11:41 PM

A fair question! (And yes, I do value consistency.)
Without this patch the cart house is a level two house and the cart apartment basically a level three house.
I'd be fine with 20, if the rest is adjusted proportionally, i.e. doubling the cost and health too; but then it would cost as much as the barracks and have more health, something to which @borg- objected earlier. Hence why I kept it at 15 and decided to further the gap by lowering the ordinary house proportionally by 20%.

+15 is not exactly doubling +8 and neither of them is comparable straight forward with other civs...

The 8's values are proportional: 15 wood and 5 seconds per population and 80 health. The 15's cost is slightly different (200 wood and 50 stone instead of 225 wood), but this is compensated by the having twice the capture points and counting towards the city phase requirements.
Basically the idea is that they're different yet roughly equivalent: if one were clearly better, the other wouldn't be built, which would be a loss; player should have reasonable choices.

Hm... understand. However, as a player I would still like to have a more distinct purpose for the apartment as an extra structure.
What about delaying apartments to City phase and giving them a clear edge over normal houses in exchange?

  • I understand Carthaginians as being a more late game focused civ with a great unit variety and super strong walls. Apartments would further add to their character (also Carthage has been a great city historically)
  • Houses have their usual purpose for at least a good part of the game, reducing and delaying snowball potential
  • Apartments have a clear purpose for late game optimization

Regarding the values, I could imagine the following:

A) more conservative approach:
pop: 10 / 20
costs and hp: 100% / 150%

B) more impactful approach:
pop: 10 / 30 (also mimics the triple wall bonus nicely)
costs: 100% / 200%
hp: 100% / 150%

apartment costs maybe 50% stone and 50% wood

borg- added a comment.EditedSun, Jan 17, 12:13 AM

Well, im fine with two options but i prefer 10/20.

Palaxin added a comment.EditedSun, Jan 17, 5:16 AM

I came up with another interesting mechanic:

Apartments have 10 base pop (same as a normal house), cost 150% resources and have 150% hp (compared to normal house).
However, each apartment gets bonus population which equals the number of total apartments. Technically this should be possible with stackable global auras.

So in the beginning houses are more attractive to build than apartments, preventing snowball. Even if you choose to build apartments straight away, you will have to invest more resources in the beginning than your opponent to reach the same amount of population. However, if you manage to build 6 apartments (equaling 9 houses of 10 pop each or 18 houses of 5 pop each), they become more cost efficient than houses. However, I would unlock apartments in Town Phase in this case, so you'll have to build at least a few normal houses first.

In lategame, this will allow you to build a relatively compact and thus easy to defend city at full population.
To reach 299 pop you only need 13 apartments compared to 30 houses of 10 pop each or 60 houses of 5 pop each.

EDIT: with the extra pop space technologies for houses the pop per apartment and the total pop raise accordingly. In this case you are maxed out with 11 apartments at a 29% discount compared to houses. 21 houses of 10 pop each or 42 houses of 5 pop each would be required to reach max pop.

no. of apartm.pop. per apartm.total pop.cost vs. houses
11111+36%
21224+25%
31339+15%
41456+7%
51575=
61696-6%
717119-12%
818144-17%
919171-21%
1020200-25%
1121231-29%
1222264-32%
1323299-35%
1424336-37%
1525375-40%

It's clear the ordinary house should stay at 10.
As for the apartment, there are the following options:

  1. keep the old values (225 wood, 15 population)
  2. keep the proposed values (200 wood, 50 stone, 15 population, town phase, double capture points)
  3. increase the population to 20 but increase cost and health accordingly (making it as costly as a barracks)
  4. increase the population to 20, keep the cost as in 2, making it more cost-effective, but postpone to city phase (@Palaxin's A)
  5. increase the population to 30, increase the cost, making it more cost-effective, but postpone to city phase (@Palaxin's B)

Also keep in mind that with the two house population technologies, its actual population limit is +44% higher.

I came up with another interesting mechanic:

The idea is interesting. However, those who'll benefit most are the rich and powerful, making it even harder for players who're already behind to catch up.

  1. increase the population to 20, keep the cost as in 2, making it more cost-effective, but postpone to city phase (@Palaxin's A)

I second @borg-
However, instead of 200 wood and 50 stone (-17% cost), I'd prefer 100 wood and 100 stone (-33% cost), since they are available only in city phase where you already have built a considerable amount of houses, so the average cost reduction including regular houses is way smaller.

I came up with another interesting mechanic:

The idea is interesting. However, those who'll benefit most are the rich and powerful, making it even harder for players who're already behind to catch up.

Some general remarks:
What you say is true, but that's actually intended.
First of all, 0 A.D. is depicting history, thus not necessary following what is fair or should be done from a political point of view.
Second, from a gameplay/design point of view, it is in the interest of variety that different civs play different. Some civs may include snowball mechanics as this one, with high risk and high potential reward. Other civs may be more straight forward and play more consistent. In some situation the risk will pay out whereas in others consistency is more important. The player should take that into consideration already when picking the civ, so it is not really unfair if he finds himself in a bad position in the game just because he didn't play the civilization to its full potential. You can find these patterns in many games, and I like them because they also reflect different player types/characters. Some will like to sacrifice their impact in most part of the game and even consistently fail, just to have the possibility to live their late game fantasy now and then. Others are very aggressive and want immediate impact and finish the game as quickly as possible. Some prefer to be able to adapt during a match and to have a variety of decent options instead of very few excellent options. Actually it's like real life.

borg- added a comment.Sun, Jan 17, 6:05 PM

I like second too but 100w 100s +5 extra pop and town phase.

I like second too but 100w 100s +5 extra pop and town phase.

With +5 do you mean 10+5 or 15+5?

Some general remarks: [...]

I'll answer those later.

So we all agree that normal houses remain what they are (10 pop), right?
I would be okay with town phase also.

However, I stay with 20 pop for apartments.
15 pop just does not feel that much of a difference compared to houses. It is much more difficult then to answer the question: "What functionality can apartments provide that houses cannot provide?" With 20 pop it is clearer that you need much less buildings/space and thus need less micro and defence is easier etc.

In case it wasn't clear, yes, normal houses will be restored.
For the apartment, town phase, 200 wood, 50 stone, and 20 population?

In case it wasn't clear, yes, normal houses will be restored.

Fine!

For the apartment, town phase, 200 wood, 50 stone, and 20 population?

Not my favourite cost, but I could live with it.

Nescio updated this revision to Diff 15444.Sun, Jan 17, 8:19 PM
Nescio edited the summary of this revision. (Show Details)
Nescio removed a reviewer: borg-.
  • restore ordinary house
  • apartment population to 20
This revision now requires review to proceed.Sun, Jan 17, 8:19 PM
Nescio edited subscribers, added: borg-; removed: Restricted Owners Package.Sun, Jan 17, 8:20 PM

Not my favourite cost, but I could live with it.

Nor mine, I think it's too cheap.

Nescio edited the summary of this revision. (Show Details)Sun, Jan 17, 8:21 PM

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

Palaxin added a comment.EditedSun, Jan 17, 8:45 PM

Not my favourite cost, but I could live with it.

Nor mine, I think it's too cheap.

I have not read complaints so far about Carthage being overpowered, so I don't expect this change to change that considerably (also having the town phase delay in mind)... If you like to make it a bit more difficult to build apartments, I suggest raising the build time modifier from 1.5 to 2

That's beside the point.
If a civ has multiple similar entities, then each of them ought to viable choice. If one is always clearly better, then it will always be chosen, and the alternatives might as well not exist. Carthage has three embassies, but none of them is better than the other two, so it's fine.
Likewise, if Carthage can build both houses and apartments (the purpose of this patch) then they ought to be balanced with respect to each other (irrespective of other civs).
Anyway, as usual, feel free to click “Accept Revision” or “Request Changes”.

borg- accepted this revision.Mon, Jan 18, 2:39 AM

For me these are the best values. It is a real gain, as a small bonus for this civilization. It is not something that puts balance at risk.

This revision is now accepted and ready to land.Mon, Jan 18, 2:39 AM
Palaxin accepted this revision.EditedTue, Jan 19, 11:32 AM

I think we have reached a good compromise.
Houses will still be used in village phase, apartments from town phase.

We could think of an upgrade mechanism from house -> apartment, e.g. available from city phase, in another patch (similar to towers).

We could think of an upgrade mechanism from house -> apartment, e.g. available from city phase, in another patch (similar to towers).

As I wrote earlier:

Upgrading does not involve any workers, therefore the time is basically free.

Upgrading does not involve any workers, therefore the time is basically free.

For the record, I believe this would actually be somewhat realistic for houses, since inhabitants could "upgrade" them...
I think with a long upgrade time (several minutes), it might work out, but I guess not for A24, and I think it would be nice if pop was temporarily reduced perhaps.

As I wrote earlier:

Upgrading does not involve any workers, therefore the time is basically free.

Sorry, I have not been aware of it. In that case I'd raise upgrade costs.
E.g. 150 stone, so the player could decide if he wants to save build time and building space and invest stone or build another house with wood only.

A "nice to have" feature anyways, not that it is really needed.

This revision was automatically updated to reflect the committed changes.
Owners added subscribers: Restricted Owners Package, Restricted Owners Package.Tue, Jan 19, 12:05 PM