(2-06a) Counterproposal: Rome Rework

As far as the UA goes I think it's mostly a fine idea so long as civilizing mission can capture uniques like old Rome can so that the fun of that particular mechanic is preserved. Especially, captured military citystates being able to gift unique units is a pretty interesting concept similar to that of stealing other civ's buildings, and would be good so long as there was some UI indication of what units the captured city state will gift so you don't need to memorize or write it down before conquering it.

I think the villa is pretty poor in concept and far less interesting than the colosseum because of how it overlaps with villages so heavily and it seems a lot weaker and less interesting that the colosseum. More GG/GA's made sense for Rome being one of the few warmonger civs without direct combat enhancements because it rewards skillful warring with more capacity for warring (through extra unit cap, golden age production/culture, and more +15% among a growing army), instead of making it easier at the get-go like it is for the Zulu's or Sweden. I'd have to test the food in capital and how powerful it is but it has the appearance of being an overall nerf to Rome, and personally I think it should be reserved for a mod civilization so that the fun had from GG/GA/GAP spam isn't preserved in hero worship alone.

My main issue however is the fact that the new UA and new UI serve to shoehorn Rome into fealty by removing any viability or potential synergy with statecraft and artistry. The UA takes any utility of statecraft away, while the lack of the coliseum removes any reason for rome to take artisty while the addition of the of the villa's food bonus and pasture/farm synergies seem to thrust rome into fealty-only. Removing policy viability will only make the civilization less interesting and less replayable (even more so given that Rome has little reason not to go Authority/Imperialism in the first place.)
 
I think it's mostly a fine idea so long as civilizing mission can capture uniques like old Rome can so that the fun of that particular mechanic is preserved.
Uh oh! The UB stealing is the main issue that this proposal sets out to fix, for reasons given in the OP.

I don’t generally go imperialism with Rome, because at that point I find I don’t have good enough reasons to keep conquering, and would rather focus on another victory condition. I don’t feel Rome has anything that keeps their domination edge into industrial.
 
It seems that several people like the ability to steal UBs, either as part of Rome's UA or in a policy, so maybe the problems with it should be discussed in more detail. Maybe some kind of solution can be found?

If I understand it correctly, a solution to the unintended stealing of dummy buildings has already been proposed and it would be possible to implement it in a future VP version, increasing modmod compatibility. The problem that remains is unique buildings with abilities that are coded in LUA. @pineappledan Could you maybe give an example of such a building in a modmod, and how it affects performance and stability? Thank you
 
I don't see how that won't just confuse the issue more than me telling you there is not any way to rectify this except removing UB stealing as an ability, but sure.

Spoiler here is an example of Morocco's lua-coded UB ability from 4UC: :

Code:
include("FLuaVector.lua")

local eBuildingRiad = GameInfoTypes.BUILDING_MAROCCO_RIAD
local eCivilizationMorocco = GameInfoTypes.CIVILIZATION_MOROCCO
local eCivilizationRome = GameInfoTypes.CIVILIZATION_ROME

function RiadGoldToGPPs(iPlayer)
    local pPlayer = Players[iPlayer]

    if not (pPlayer and (pPlayer:GetCivilizationType() == eCivilizationMorocco or pPlayer:GetCivilizationType() == eCivilizationRome)) then return end

    local iNumberOfRiads = pPlayer:CountNumBuildings(eBuildingRiad)

    if iNumberOfRiads > 0 then
        local iCurrentRiad = 0

        for city in pPlayer:Cities() do
            if city:IsHasBuilding(eBuildingRiad) then
                -- 15% of gold in city converted to G Merchant Points

                city:ChangeSpecialistGreatPersonProgressTimes100(GameInfoTypes["SPECIALIST_MERCHANT"], math.floor(15 * city:GetYieldRate( YieldTypes.YIELD_GOLD )))

                if iCurrentRiad == iNumberOfRiads then
                    break
                end
            end
        end
    end
end

if Game.IsCivEverActive(eCivilizationMorocco) then
    GameEvents.PlayerDoTurn.Add(RiadGoldToGPPs)
end
You see how there is a player check at the top of the code that filters out the non-Morocco players. This is a cheap check the player's ID. easy.
If it passes this check, the next thing to check is if they have the building in any of their cities, which requires fetching that civs' city id list and looping through it while checking for the building ID of the desired building. There are way more buildings than there are civs, and you have to do this for each city, so this is a much more expensive check. The lua hooks are only activated in the game if the civ is in that specific game -- that's what those last 3 lines do -- so you won't have Morocco's abilities firing every turn if Morocco was never in the game.

- If both Morocco and Rome are in the game, you have to do this expensive check twice: Once on Morocco's turn and once on Rome's turn.
- But you ALSO have to do everyone else's checks twice too: once on the actual player, and all of them together for Rome

As an example, if India, Morocco, Persia, and Rome are in a game then:
  • India does a cheap player check for everyone else's code and an expensive one for India's unique building, and executes his code
  • Morocco does a cheap player check for everyone else's code and an expensive one for Morocco's UB, and executes his code
  • Persia does a cheap player check for everyone else's code and an expensive one for Persia's UB, and executes his code
  • Rome bypasses EVERYONE's player check and is forced to do the expensive lua check in all his cities for all 3 of the other players' UBs every turn in all of his cities.
I found 16 instances of these kinds of buildings in 4UC. Some of them have more than 1 ability that uses lua, meaning 16 of the 43 base civs have 1 of these sorts of abilities. With 1/3 of all civs using similar abilities, there is a good chance that any standard game with Rome will have 3+ abilities that are being checked twice on two different AIs' turns.
The end result is that if Rome is in the game there is a clearly perceptible amount of hanging on AI turns and, a clear chug, and higher turn times.

Add to this that VP offers support for 43 player DLL, so the impact on performance is potentially high. Modders can add custom civs and more components to their games, which means the number of these lua buildings doesn't really have a cap except for when it crashes your game. This is also a barrier to entry for new modders, because having to code in a backdoor for Rome's private use onto every new ability you add is not intuitive. Why would it be? It's kludge.

===============================================================================================================

As a modder for the VP community I want to kill UB stealing with fire. It forces me to add lines into the code to specifically and deliberately break my code's optimization and make it run worse.
Speaking as a player, I wouldn't miss UB stealing either. Managing to steal a UB results in 1 of 3 things:
  1. It's a UB with a bonus that doesn't really impact my playthrough as Rome, offering bonuses in a captured, third-tier city, that don't really benefit me beyond the base building itself, and is therefore completely ignorable outside of some base yields or something. Eg. Walls of Babylon, Stelae, Paper Maker, etc.
  2. It's an extremely good UB that you only need 1 of in your empire in order to derive most of the power from it. Now unless I deliberately ignore that city, I'm playing an entirely different civ with the bonuses of multiple civs. Eg. Ikanda, Dojo
  3. You capture a UNW, which is tantamount to capturing an entire trait off another civ. UNWs are global effects by design, and now you're playing with the power of 2 civs condensed into 1. I disabled this ages ago on my local install, because it's so powerful. It's such a powerful ability that G blocked the stealing of normal NWs, because that alone is crazy enough.

In one case, the point of the UB is that it's a bonus you would normally have in all your cities, so having it in a few minor satellites has no impact on my game. In the other case it totally breaks my game, because I have Bushido now, and can pipe all of my unit production or whatever through that 1 city -- especially if I went authority or zealotry and can just buy units in that small city without regard for its local infrastructure. I don't find that fun; if I wanted to play Japan I would play Japan. And I don't find it an interesting exploitation of the mechanics. I'm not being crafty if I do this; I'm not minmaxing some hidden potential. I got a map roll next to a civ with an early and strong UB, and my strategy consists of discarding my civ's abilities and using his, knowing this makes a mockery of any attempt at balance. So I don't even get why people defend this ability so passionately. As a modder I hate it, and as a player I don't really like it either.
 
Last edited:
Thank you very much for the detailed explanation! I understand the problem better now
 
And I don't find it an interesting exploitation of the mechanics. You aren't being crafty if you do this; you aren't maxing some hidden potential. You're a rat going down the contrived maze a designer specifically made possible, knowing this makes a mockery of any attempt at balance.
Yes.
 
Strongly support @pineappledan 's proposal here. I've wanted a Rome re-work for quite a while, as I've always felt the current Roman UA is boring and underpowered. It's an ever bigger plus if it helps optimize the code.
 
As a modder for the VP community I want to kill UB stealing with fire. It forces me to add lines into the code to specifically and deliberately break my code's optimization and make it run worse.
Is it feasible to make a mod mod that changes Rome, so it's compatible with your mods and is a requirement to them? Or just include it into these mods.
 
Is it feasible to make a mod mod that changes Rome, so it's compatible with your mods and is a requirement to them? Or just include it into these mods.
It’s feasible to just remove Rome’s UA in a modmod. That’s what @Hinin does. That’s not a reasonable ask, for either modders, or players that want to play with mods, to ask them to also rework or disable Rome’s UA as part of their mod if they want to add anything else. The base VP should have a Roman UA that doesn’t necessitate such workarounds.

It’s far more reasonable to have Rome’s default UA not steal UBs, and not ask modmodders to collectively agree on a single fix for Rome to make it modmod compatible.
If this were to be approved and implemented, You could then make Rome's UB stealing a modmod by just reverting the changes.
 
Last edited:
I've never really thought of the UB stealing as more than a brief novelty anyway; you have to wait for the targeted civ to tech for and build them, kill a bunch of citizens taking them, and then acquire some marginal bonus in a few cities that likely never catch up to your core.
 
Would it be any easier code-wise to just create a copy of the losing civ's UB upon city capture? As in skip checking if it already exists there to steal, just spawn it automatically.
I'm kind of shocked it's that complicated an issue. I remember playing modded civs back in vanilla with various unique-stealing aspects and it always worked just fine back then. Is CBP's code that different?

I've never really thought of the UB stealing as more than a brief novelty anyway; you have to wait for the targeted civ to tech for and build them, kill a bunch of citizens taking them, and then acquire some marginal bonus in a few cities that likely never catch up to your core.
Sometimes they won't catch up to your core, but sometimes they will, and even if they don't they'll come a hell of a lot closer than with other civs. That's Rome's appeal. Those cities you capture are actually going to matter.
It's a similar story for the UB stealing. Sometimes they don't mean much, just some flavor to make Roman Carthage a little distinct from the rest of the empire, sometimes they make a huge difference. Waiting for the targeted civ to actually build those buildings is something that separates Rome from other warmongers in playstyle, it's one more thing to consider as you're planning your conquests.

Honestly, if the biggest concern here is that UB stealing is a modders nightmare, why isn't this proposal to just remove that and give Rome some other buff to compensate?
 
Honestly, if the biggest concern here is that UB stealing is a modders nightmare, why isn't this proposal to just remove that and give Rome some other buff to compensate?
That's....pretty much what this proposal is. Removing that element in favor of a new UA.
 
Honestly, if the biggest concern here is that UB stealing is a modders nightmare, why isn't this proposal to just remove that and give Rome some other buff to compensate?
TL;DR -- such a proposal wouldn't pass.

The UB stealing is the most interesting thing about Rome's current kit and the only part that the proposal is actually trying to remove from the game, rather than move elsewhere. It's also the only change most people have vocally opposed. Support for replacing the UB with a UI has outweighed opposition so far, and no one seems to care about the tiles on conquest going away, or moving to the Shoshone.

A proposal just to remove the UB stealing gimmick, but allow Rome to otherwise retain all normal buildings would probably be enough on its own. The UB stealing is just that: a gimmick. It only contributes to the civ's power under exceptional circumstances like having Assyria, Carthage, Japan or the Zulu as an early neighbour. A proposal to remove it with minimal or no compensation would be balanced and reasonable, but it's also one that I would fully expect to get voted down.
 
Last edited:
That's....pretty much what this proposal is. Removing that element in favor of a new UA.
Not even close. There's a big difference between removing UB stealing aspect from the UA and changing the UA to something else entirely, to say nothing of the Coliseum getting axed for the Villa.

TL;DR -- such a proposal wouldn't pass.

The UB stealing is the most interesting thing about Rome's current kit and the only part that the proposal is actually trying to remove from the game, rather than move elsewhere. It's also the only change most people have vocally opposed. Support for replacing the UB with a UI has outweighed opposition so far, and no one seems to care about the tiles on conquest going away, or moving to the Shoshone.

A proposal just to remove the UB stealing gimmick, but allow Rome to otherwise retain all normal buildings would probably be enough on its own. The UB stealing is just that: a gimmick. It only contributes to the civ's power under exceptional circumstances like having Assyria, Carthage, Japan or the Zulu as an early neighbour. A proposal to remove it with minimal or no compensation would be balanced and reasonable, but it's also one that I would fully expect to get voted down.
I don't think that's true. You've made a good case for removing the UB aspect, and I'm saying that as someone who came into this thread pretty ambivalent to modder suffering. It'd need some kind of compensation to the rest of their kit, gimmick or not, but I'm about convinced that it's got to go. If that was all this proposal was I'd be all for it.
And if you are right, and you really did need to add all this fat just to get the one thing you really care about through, then that says a lot about this VP Congress system of decision making, none of it good.
 
He already said that the only thing interesting in the UA is the part that the proposal removes. Rome's UA needs something interesting to replace it. The proposed mechanic is that something interesting. It's not "fat".
 
Last edited:
He already said that the only thing interesting in the UA is the part that the proposal removes. Rome's UA needs something interesting to replace it. The proposed mechanic is that something interesting. It's not "fat".
If that's his intent, then see my response to Stalker0. Needing something interesting to replace the problematic UB stealing aspect of the UA is no reason to overhaul the UA completely or replace the Coliseum.
 
Agree that this proposal can simply be "Rome can't no longer steal UB of other civ for technical reason", and anything else like new UA/UI/UB,,, should be a separated proposal.
This is indeed one of the issue with the Congress system, as "full" proposal (which both solve the issue and provide a replacement) would only/mostly get suggested by modders who want to implement their ideas into VP and willing to sponsor the changes, while ideas without a sponsor would likely be stuck at "partly done" (solve the issue in the most simple and boring way possible, like what happened with SoI proposal last season).

Democracy won't work with the big difference (in contribution or knowledge) among voters. Autocracy under a good dictator or a senate system would work much better.
 
TL;DR -- such a proposal wouldn't pass.

The UB stealing is the most interesting thing about Rome's current kit and the only part that the proposal is actually trying to remove from the game, rather than move elsewhere. It's also the only change most people have vocally opposed. Support for replacing the UB with a UI has outweighed opposition so far, and no one seems to care about the tiles on conquest going away, or moving to the Shoshone.

A proposal just to remove the UB stealing gimmick, but allow Rome to otherwise retain all normal buildings would probably be enough on its own. The UB stealing is just that: a gimmick. It only contributes to the civ's power under exceptional circumstances like having Assyria, Carthage, Japan or the Zulu as an early neighbour. A proposal to remove it with minimal or no compensation would be balanced and reasonable, but it's also one that I would fully expect to get voted down.
Are you sure? As one of the people who likes the current kit of Rome, I will explain my thoughts.

I like 3 aspects of Rome's building retention.
1. keeping all buildings saves a lot of production and makes annexing early much more viable. While I feel this is not super historic (Rome like all conquerors razed some cities to the ground), I think it's the most impactful.
2. keeping defense buildings allows you to conquer cities in a contested environment. This adds to the theme of siege warfare that the Romans excelled in. The other components of this kit are more generals from colosseum, the Legion's building abilities and pilum (rewarding you for staying fortified in a fort, that the Legion can build by itself), those extra tiles at conquest (that might allow for a quick forward citadel) and also the ballista to some degree.
Since Rome does not have big bonuses to kill units like other warmongers, I find retention of defensive buildings useful and thematic. It gets stronger in the late game since more def. buildings are present.
3. keeping unique buildings. This is the most flavorful and least impactful part for me. First of all, the UB needs to be built by the time you conquer. Early conquest of a late UB owner gives you nothing. Most UBs are not that great if only present in a few cities. If you have a Hanse in just 3 cities, will you send all TRs to city states? And even the theoretical big impact UBs might not be so strong in practice. I once conquered Zulus with Rome and got their UB. The thing is, I already had an experienced army that I needed to conquer them. I did build some units with the buffalo promotions, but they lagged behind my veteran's xp. And they did not get cover 2, which my upgraded Legions had back then.

As for the other components, I prefer the colosseum to your proposed villa. The colosseum adds to the mentioned siege theme by giving more generals. And it adds to the efficient wide empire theme (15% building production bonus) by giving golden ages. You get this even if you stop conquering and just fight devensive wars like Rome did. As for the villa, I like the food bonus for the capital but I don't like the farm spam you need to max it. What is the use if farms if you play wide / warmonger? Any I think the villa would be much weaker than the colosseum.

Should we move the building retention to imperialism if Rome loses it (except the UB part)? I think NO.
I don't find the mechanic that interesting outside of the context of Rome and prefer to keep the current building production bonus for older buildings. I don't think late game conquering or imperialism needs this buff. I think what people like most about it is the flavor of Rome stealing UBs.

Regarding the tributing to annex city states: I think it's a flavorful mechanic, but not for Rome. Rome did conquer / annex city states and tribes, but either by conquering or by becoming allies and gradually integrating them. Putting their army in front of the city walls and saying, look, you can join our empire now without a fight, or we attack and slaughter everyone, it feels much more like mongol terror. It would also leed to a playstyle where your army has many weak CS units like spears, instead of maxing Legions (and Ballistas).

TL, DR:
I propose to
1. cut the UB stealing mechanic, but keep the general and defensive building retention.
2. keep the colosseum. Give the food for capital per UI to the latifundium of 3/4UC.
3. keep the extra tiles on conquest. They help in OFFENSIVE boder push and siege warfare.
4. to compensate for the UB retention loss, and as an overall buff, make the pilum and construction abilities of the Legion permanent. Both keep the offensive siege theme alive throughout the game and give a military edge.

This would remove the troublesome UB retention and keep Rome's themes of offensive fortification/siege and efficient wide empire alive, which represents the Roman Empire really well IMO.
 
Extra tiles on conquest grow in the wrong way (i.e. towards you or the ocean/snow) 90% of the time, since the tiles towards the enemy are already owned. It's only useful if the city is forward settled.
 
- Rome is an odd duck right now. It's simultaneously too special, and not very special at all. Aside from its UU and the building bonuses in the UA, it's mostly built around doing things that other civs do, but worse.
  • Rome gains 4 free tiles on city conquest, compared to Shoshone's 8 free tiles on settle. Shoshone's bonus is 2x as strong, earlier, and easier to use, and can be used by raze-resettling cities too.
  • Rome's yields on kill bonuses are similar to Greece's Acropolis, but the Acropolis gives :c5culture:culture on kills, which I would rather have
- The GGeneral and GAP yield bonuses are strange. They feel like the push Rome more towards being a border blob and a GA civ, respectively, but neither of them is supported by anything else in the kit, and they don't coalesce into a unique playstyle.
- In general there are just too many capture bonuses, via beliefs, policies, and Traits, and Rome contributes to this problem in its own small way.
A simpler alternative I see is something along these lines:
  • UA no longer retains UB/UNW in conquered cities.
  • UA's 4 tiles on conquest is replaced by a +1 citadel tile acquisition radius (just like Lebensraum).
  • Coliseum no longer gives :c5greatperson: Great Admiral nor :c5goldenage: Golden Age Points, but gives more :c5greatperson: Great General points and also grants it on city conquest.
This reduces the similarity with Shoshone's UA and sets a synergy between Rome uniques. This gives Rome something distinct from the playstyle of other militaristic civs: carving considerable parts of enemy territory, paving the way to their cities, and putting the Legion's ability to build roads and forts to good (offensive) use.

I can put this as a counterproposal if others see enough merit in it.
 
Top Bottom