• Civilization 7 has been announced. For more info please check the forum here .

[Sponsored] (8-35) 4UC Rome

Sounds quite Roman to me actually.

Roman cavalry and reconnaissance were embarrassing. They relied on foederati for these shortcomings for most of Rome’s history, because they were god-awful at that kind of fighting. Ballistae we’re indeed used for accurate ranged anti-personnel fire, and not just sieges. Thus, the army composition of heavy infantry and siege/ranged that the 2 UUs produce is pretty on the money.
Plus, if you lack iron, spears and ballistae can still can still give you an edge, that an alternative UU would not. It would only kick in after conquering someone.
 
That’s why I think the idea of gifting ballistae as a special reward unit is not very good. Rome has the strongest sword rush in the game if they get the right start, but they has a SR requirement. Having another conditional unit that is limited in some other way sounds really frustrating.
 
That’s why I think the idea of gifting ballistae as a special reward unit is not very good. Rome has the strongest sword rush in the game if they get the right start, but they has a SR requirement. Having another conditional unit that is limited in some other way sounds really frustrating.
On top of that, you can argue that the new fornix was a nerf compared to the colosseum. Conquering cities to unlock it can be harder than just killing units for the golden ages.
 
Having just played a bunch of the 4.9.1 update modpack as Romans, I really like the current way the villa and figs work. The rest of the bonuses I can take or leave, Fornix is more interesting than the Coliseum was, Ballista and legionnaire are cool and have been in the game forever, but legionnaire is often limited by lack of iron and ballista currently isn't that unique. If they were going to replace them with something, I guess you could lean into the auxilia. Interestingly, Roman cavalry for most of the republican era wasn't awful (winning at Heraclea, although losing at Cannae), additionally in the late republic and Empire Roman citizens often joined auxilia cavalry units to have the opportunity to marry non-citizens and these auxilia performed well, so there wasn't an inherent substandard quality to the cavalry. However, given Rome isn't known for cavalry it would be an odd choice for a cav unique being Equitatus and not a more mercenary auxilia representation.

Anyways, I like the civ as of 4.9.1 and am fine if it doesn't get that many changes, although as always I will note I mostly play on prince/warlord against the ai so the fornix isn't that hard to get a few early when I have iron.
 
Having just played a bunch of the 4.9.1 update modpack as Romans, I really like the current way the villa and figs work. The rest of the bonuses I can take or leave, Fornix is more interesting than the Coliseum was, Ballista and legionnaire are cool and have been in the game forever, but legionnaire is often limited by lack of iron and ballista currently isn't that unique. If they were going to replace them with something, I guess you could lean into the auxilia. Interestingly, Roman cavalry for most of the republican era wasn't awful (winning at Heraclea, although losing at Cannae), additionally in the late republic and Empire Roman citizens often joined auxilia cavalry units to have the opportunity to marry non-citizens and these auxilia performed well, so there wasn't an inherent substandard quality to the cavalry. However, given Rome isn't known for cavalry it would be an odd choice for a cav unique being Equitatus and not a more mercenary auxilia representation.

Anyways, I like the civ as of 4.9.1 and am fine if it doesn't get that many changes, although as always I will note I mostly play on prince/warlord against the ai so the fornix isn't that hard to get a few early when I have iron.
Dropping the legion for auxilia is sacrilege!
 
Updated villa in OP.

Proposal is now that villa are non-permanent, and remove an adjacent fig if replaced by another improvement. With the combination of non-random tile selection of figs (so they are placed in the same hex every time if a Villa is placed on the same tile multiple times), and the removal of a fig resource if Villa is removed, there is no need for the improvement to be permanent.
 
Updated villa in OP.

Proposal is now that villa are non-permanent, and remove an adjacent fig if replaced by another improvement. With the combination of non-random tile selection of figs (so they are placed in the same hex every time if a Villa is placed on the same tile multiple times), and the removal of a fig resource if Villa is removed, there is no need for the improvement to be permanent.
Instead of removing "an" adjacent fig, can't it remove "the" fig it placed? The tile selection is deterministic, so it should be able to always get the correct fig.

There's still the problem of having no way to know where the fig will spawn though.
 
If you have two Villa and one placed a fig between them while another didn’t there would not be a way to store that info in a sensible way. If you remove a Villa it would look for an adjacent fig to remove regardless of if the Villa planted a fig. Removing the “right” fig, has no relationship to whether or not the fig being removed is the one with the best adjacencies, so I don’t think it will matter.

The only reason to remove your UI is if a strategic resource appears underneath it. In that context, whichever fig is being removed and in what order is not relevant, so I just don’t see why it would be necessary to track which Villa spawned which fig.
 
Last edited:
If you have two Villa and one placed a fig between them while another didn’t there would not be a way to store that info in a sensible way. If you remove a Villa it would look for an adjacent fig to remove regardless of if the Villa planted a fig. Removing the “right” fig, has no relationship to whether or not the fig being removed is the one with the best adjacencies, so I don’t think it will matter.

The only reason to remove your UI is if a strategic resource appears underneath it. In that context, whichever fig is being removed and in what order is not relevant, so I just don’t see why it would be necessary to track which Villa spawned which fig.
The main issue would be if you have Villa A spawn a fig next to another Villa B, then remove Villa A. If Fig B is removed due to being adjacent to Villa A, then Fig A is stranded without being adjacent to any Villa at all.
 
If you have two Villa and one placed a fig between them while another didn’t there would not be a way to store that info in a sensible way. If you remove a Villa it would look for an adjacent fig to remove regardless of if the Villa planted a fig. Removing the “right” fig, has no relationship to whether or not the fig being removed is the one with the best adjacencies, so I don’t think it will matter.

The only reason to remove your UI is if a strategic resource appears underneath it. In that context, whichever fig is being removed and in what order is not relevant, so I just don’t see why it would be necessary to track which Villa spawned which fig.
The main issue would be if you have Villa A spawn a fig next to another Villa B, then remove Villa A. If Fig B is removed due to being adjacent to Villa A, then Fig A is stranded without being adjacent to any Villa at all.

I mean, doing it properly is still possible without requiring memory. It's just a consideration the developer needs to keep in mind when coding the removal.
 
The main issue would be if you have Villa A spawn a fig next to another Villa B, then remove Villa A. If Fig B is removed due to being adjacent to Villa A, then Fig A is stranded without being adjacent to any Villa at all.

I mean, doing it properly is still possible without requiring memory. It's just a consideration the developer needs to keep in mind when coding the removal.
Do you consider adding a single pointer in all CvPlots to be a significant memory overhead?
 
I can sponsor this (DLL), thinking that each CvPlot can have a pointer to another CvPlot, then each villa can keep track of which fig should be removed if the villa is removed.

Thinking about whether there could be a UI element that shows you where the fig will be spawned (highlight) when you hover the villa button in the worker interface (could potentially also show which fig would be removed if you remove the villa).
 
We also need DLL for the Ballista "Legatus Legionis" (+1 :c5moves: Movement Point if :c5capital: GG is within 2 tiles)
and for the Fornix which is also enabled by lua (and has some UI jank atm because there are 2 of them)
you good with that @KungCheops
 
I can sponsor this (DLL), thinking that each CvPlot can have a pointer to another CvPlot, then each villa can keep track of which fig should be removed if the villa is removed.

Thinking about whether there could be a UI element that shows you where the fig will be spawned (highlight) when you hover the villa button in the worker interface (could potentially also show which fig would be removed if you remove the villa).
If this is too much consider using two chars (16 bits total) to store the coordinates of the plot.

Or simply use a deterministic function to get the plot every time it's needed. Fig location of a given plot can be a constant priority list every time the function is called. If the top priority plot is blocked, spawn the resource on the second plot, and so on. And then store the spawned priority index in CvPlot (3 bits if optimized, 8 bits if using char).

Not related, but I've found a disadvantage of spawning resources on the map - it reduces the chance of antiquity sites spawning in your territory.
 
Last edited:
If this is too much consider using two chars (16 bits total) to store the coordinates of the plot.

Or simply use a deterministic function to get the plot every time it's needed. Fig location of a given plot can be a constant priority list every time the function is called. If the top priority plot is blocked, spawn the resource on the second plot, and so on. And then store the spawned priority index in CvPlot (3 bits if optimized, 8 bits if using char).

Not related, but I've found a disadvantage of spawning resources on the map - it reduces the chance of antiquity sites spawning in your territory.
Two chars sounds sensible, the other solution seems a bit convoluted.

You can also accidentally delete strategics (not with the current Lua implementation, but its should be like that to be consistent with brazilwood camps and to avoid cheating).
 
No strategic deleting please, that is one reason I never play Brazil, as I don't think it is fine to destroy resources you can't see...
 
Top Bottom