1. Firaxis celebrates the "Asian American and Pacific Islander Heritage Month", and offers a give-away of a Civ6 anthology copy (5 in total)! For all the details, please check the thread here. .
    Dismiss Notice
  2. We have selected the winners of the Old World random draw and competition. For the winning entries, please check this thread.
    Dismiss Notice
  3. Old World has finally been released on GOG and Steam, besides also being available in the Epic store . Come to our Old World forum and discuss with us!
    Dismiss Notice

1.24.1 Released!

Discussion in '[MAC+WIN] Civ4 - History Rewritten' started by Xyth, Dec 24, 2016.

  1. IanMusic

    IanMusic Chieftain

    Joined:
    Apr 13, 2016
    Messages:
    6
    @Xyth re: Scythia and Armenia: My duduk is literally on its way :)
     
    Xyth likes this.
  2. SpartanU

    SpartanU Chieftain

    Joined:
    Sep 28, 2016
    Messages:
    82
    I agree that using foreign culture to generate dissent is probably a better solution than scaling dissent with city count. I think that multiculturalism would need to be changed, otherwise this mechanic would breakdown. The reason I bring up using the espionage slider to control dissent is that it would reduce micromanagement significantly. In a situation where you are managing 48 cities, it can be very tedious to hold your civ together. If a player is going for a domination victory they will probably have several other civs' capitals; so the foreign cultural in these cities will most likely generate an unmanageable amount of dissent if another mechanic to deal with dissent isn't introduced.

    Currently you can use the cultural slider to indirectly manage dissent over time (more culture in a city, less dissent). This is more of a long-term solution though, and the rate of dissent drops very slowly. The espionage slider could be used in a way that has more of a short-term effect, similar to how golden ages are short term solutions to managing dissent.

    A couple ways this could be implemented are:
    1) Base dissent is reduced by the % the espionage slider is at. (This doesn't tie actual espionage point production to reducing dissent, so it will scale well, but espionage point produced won't matter) If base dissent scaling was removed and replaced with foreign culture causing dissent, then I think this would be the best method.

    2) Total espionage points produced are multiplied by a constant, and the result is how much dissent is reduced by each turn. (Depending on how much total espionage production differ between small and large civs, this could have scaling problems. Perhaps maintenance costs will keep larger civ's espionage sliders lower however.)

    edit: if maintenance costs keep large civs' espionage sliders low, my 1st way of implementing this probably wouldn't work, so I think the 2nd way is probably the best
     
  3. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    It's not unlocked until very late in the game, so this is okay. But, see below:

    Foreign culture doesn't generate dissent, it just means you get less dissent reduction from culture. If your city is 100% your culture, then it will reduce dissent by 100 each turn. But if 25% of the city is not your culture, then that city will only reduce dissent by 75 each turn. This dissent reduction is in addition to the -20 you get for each culture level.

    It represents migrant labour. Food, while it makes sense as immigration, would make the civic considerably more powerful. That bonus is better used at Redistribution where it can be tempered with an appropriate penalty (no foreign trade).

    Industrialism is a bit weak. I'll be lowering it's upkeep in 1.25 and see how it feels from there.

    It's available very late in a game and long after Free Market is unlocked. Between that and the opportunity cost I don't think it needs to be weakened.

    The espionage slider does help reduce dissent. Dissent is reduced by 1 for every point of espionage a city generates, after all modifiers are applied (including the slider). The more espionage infrastructure you have in a city, the more effective the slider will be.

    It does as of 1.24.

    I disagree. The problem with Civ4 is that once a civ gets sufficiently ahead in terms of territory, it's rare that it will lose or that other civs can catch up. More territory = more yield = more progress towards victory. This is much less of a problem than in other versions of Civ because maintenance and upkeep stops such leads becoming exponential, but past a certain point they are just slowing the inevitable. I designed the dissent system to address this and to try and create more of a 'leapfrogging' situation, where civs are more likely to rise and fall throughout the game and making foregone conclusions less likely.

    The dissent system does make a Domination Victory tougher though, because it relies on actual territory and not as much on the yield from it. But there is a mechanic already in game that helps to mitigate that problem – vassal states, which allow you to obtain territory without increasing your dissent. This is why I keep imploring you to make use of them. Domination victories are all but impossible without them, because to balance it otherwise means dissent would be much too weak to achieve the goal of dynamic gameplay for the other victory types.

    Scaling is tricky to get right. Currently dissent is too harsh on maps with high land area (e.g. Pangaeas) and on lower difficulty levels. I'll try to address these in 1.25. I don't think untying dissent from number of cities entirely will work, because that's at cross purposes to what the system is trying to achieve (as described above).

    This was my original plan for how espionage would interact with dissent. However it requires a fair bit of AI coding, and it was far easier to just have raw espionage generation apply instead. Incidentally, I'm still pondering whether to rename espionage points as "Security" (with a new symbol). This might fit better with how HR has come to use the system.

    I originally intended foreign culture to cause dissent directly but it led to captured cities rebelling far to often. That's why I connected it to dissent reduction instead.

    It already can be, but it helps to have espionage infrastructure in the cities you want it to affect.

    That's roughly how it works already, just in individual cities rather than civilization-wide.
     
    SpartanU and cobbaut like this.
  4. SpartanU

    SpartanU Chieftain

    Joined:
    Sep 28, 2016
    Messages:
    82
    I still feel like the biggest issue with the labour civics is that social welfare has a much bigger impact on dissent indirectly, than directly. I think the best way to show this is with the impact of corporations. Corporations produce +2 unhappiness, and +2 unhealthiness each. If happiness/health totals are positive, then the dissent offset changes by -5 per unhappiness/unhealthiness. Otherwise if the happiness/health totals are not positive, then dissent generation increases by 17.

    So we can say per corporation the dissent generation is:
    +20 dissent minimum
    +68 dissent maximum

    Social Welfare and Sustainability both halve this (sustainability decreases dissent even further by making population not count towards unhealthiness)

    I think the imbalance here is either with the negatives of corporations, or with the social welfare civic.

    I agree with this in general; however in my experience, the AI can be very hard to force into capitulation. sometimes they will only have 1 city left when they finally cap, so vassals might not be a feasible way to go for domination. If you play with a lot of AI on a large map, you would need to make nearly every civ your vassal. It might make sense in HR if 100% (or >50%) of vassals' land contributed to domination victories.

    Using foreign culture might still be feasible if there was a cap on how much dissent foreign culture produced, and if military units reduced dissent in a city.

    I stand corrected. This addresses all of the reasoning I had behind using the espionage slider to control dissent. I'll probably use this in my future HR games, but the espionage points are usually not very useful in my opinion because you can't get your spies around the map efficiently, unless you're playing on Pangaea. Perhaps could it be changed that spies can use airports to fly to rival cities?
     
  5. dretnoth

    dretnoth Warlord

    Joined:
    Oct 4, 2008
    Messages:
    140
    Location:
    Europe - Slovakia
    On a domination victory: In one game i merely control nearly all land on planet by vasaling but it has still not enof to domination victory. And they idiots break up one after another. So i vent for conquest. But for Ai is different its is ennof.

    On dissent reduction:
    -One think can be military itself. Like 1 per unit and (civic, tents, tenets, wonders or tech) can improve or decrease the number.
    -On second it can be the number (Number of cites * current game dissent constant per one city)) can not be constant but change from distance from capital or seasoning palace. (But still whit the only maximal number that is currently as constant) So no hardcore overseas rebellions on small civc.
    And if we are on it it can be possible to rethink the maintenance costs from distance. Aim okey that overseas colony cost more or the colony whit diferent culture cost more. But not small colony (just constructed) that have imidietly 50% barbarian culture.

    Barracks: I dunno but, i have felling that it will be nice if it give one free support on "stationed"/garrisoned unit.

    Tactic trail: I still feel it no need no cots for upgrade, but at last 10% for upgrade or 1% but no none.

    Martial Law: Ability that if start turn all commerce, research, spy and production to anti dissent battle. Cannot be undone until dissent bar dint decrease by one level. Or some turns dint pass.
    -But it directly cause unhappiness (1*(size of city/10)) And reduction on espionage resistance. Maybe fortification penalty.
    -after it end one unhappy for number of turn that law has occurred as (we remember what you did)
    -but when it fail the rebels it will have double garrison of new generated units and population loos by (1*(size of city/10))
    -a event of rebellion can be triggered, or just "resistant come to hills" (barbarians: they spawn near city. as Civ2). Or if its city of other empire a free draft on its capital as a crusade to liberate holly city. Or protest against martial law cause bulding down, units damage, improves of titles down, or increase dissent in nearly city.
     
  6. SpartanU

    SpartanU Chieftain

    Joined:
    Sep 28, 2016
    Messages:
    82
    I think 1 per unit would be too low maybe 5 per unit? Then if excess happiness stays a 5 dissent reduction per turn, authoritarian players would get -10 dissent per military unit.
    I agree I think that the tactical trait should still require players to spend some gold on upgrades. On large maps, a single tech like rifling can grant a tactical civ thousands of gold worth of upgrades, and allows that civ to skip the slow transition between military technologies after the technology has become available.
    I think the distance maintenance costs is alright where it is now. Usually these high costs are offset by the benefits of being one of the first to colonize a continent, such as more luxury/industrial resources. Also, there is always the option to use Confederation, which takes maintenance costs from distance to capital down to 0.
     
  7. SpartanU

    SpartanU Chieftain

    Joined:
    Sep 28, 2016
    Messages:
    82
    Code:
            self.iHappyDissent                    = -5                                    # Dissent change per excess happiness in city
            self.iUnhappyDissent                = 15                                    # Dissent change per excess unhappiness in city
            self.iHealthyDissent                = -5                                    # Dissent change per excess health in city
            self.iUnhealthyDissent                = 15                                    # Dissent change per excess unhealthiness in city
    I looked in the CivilWar.py file to check my numbers I got from from dividing dissent from happiness by excess happiness (and same for healthiness) and its off by 2 when not in surplus (is 17, not 15). Any idea why?
     
  8. dretnoth

    dretnoth Warlord

    Joined:
    Oct 4, 2008
    Messages:
    140
    Location:
    Europe - Slovakia
    I think From start of the game 5 will be to much. But for simplicity is possible. But for balance the effect unhappiness and unhealthiness can be increased

    Insist that for difficulty? *
    Code:
    class CivilWar:
        def __init__(self):
            self.SpeedModifier                     = 50 * (CyGame().getGameSpeedType() + 1) *here
            self.iEscalationTurns                = 25 * (CyGame().getGameSpeedType() + 1) *and here
    
     
  9. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    I can change this for Windows but not Mac, which makes things messy. Will have to leave it as is and make adjustments elsewhere.

    I don't want military units reducing dissent other than under Authoritarianism.

    This is what the Authoritarian civic is for.

    Not something I can code unfortunately.

    I'm considering lowering upgrade costs across the board in 1.25, which would make this bonus less powerful. If I leave them as is, I might revert the bonus to 50%.

    They're modified by difficulty level.
     
    IanMusic and SpartanU like this.
  10. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    Registered here just to give some feedback:
    1. Thank you for very nice mod, it has interesting balance and is not too overwhelming like some others. Actually was first mod on which i played complete game without dropping :)
    2. On my playthrough game was consistently crashing when entering Global era (same bug as reported here I believe https://forums.civfanatics.com/threads/game-crash.621542/ ). Was able to circumvent this only by advancing myself to Digital era directly with WorldBuilder.
    3. Ability to settle Labourers in a city is ridiculously overpowered. If you just build Labourers and settle all of then it basically allows you to double city's industrial output in a number of turns equal to Labourer's cost in hammers (even faster with production bonuses). Then double it again. And again, as many times as you want. Without any unhappiness/unhealthiness/dissent. Even worse if you get some type of commerce per specialist from civics/traits. It was so out of place that i actually felt compelled to remove just this before starting a game.
    4. When i remove all citizens from city squares (+) buttons on all specialists become inactive which means i can't transfer citizens to artists for example. Also sometimes when adding some type of specialist it draws not from unemployed citizens but from some other type of specialist tho i'm not sure how to reproduce this behavior (maybe it depends on what city advisor considers best at this moment?).
    5. Doctor specialist is weird. All it does (without extra bonuses from civics/traits) is producing 1 food (while eating 2 and increasing unhealth from population by 1) and GPP towards Great Doctor (which is actually ok since it produces more food, don't eat any, don't count for unhealth and also gives science). And it's kinda strange to have doctors produce food anyway (i can understand Great Priests doing some kind of miracles or just humbly working in the fields, but why doctors?). Shouldn't doctors produce health instead (and at least 2)? It would be a nice way to deal with unhealthiness (of course, just producing more food offsets loss to unhealthiness, but dissent and random climate changes remain). It seems that you are even already using mod component that allows specialists to modify happiness/health (since there are iHealth and iHappiness fields in xml), tho I don't know if it's possible to teach AI to use this properly (well, maybe make it produce 1 food and 1 health then?).
     
  11. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    Welcome to CFC! Glad to hear you've been enjoying HR!

    I need a proper crash report to solve that particular issue, as I can't reproduce it from that saved game (and they posted dump files rather than a crash report). If it happens again in your next game, please post the saved game and crash report and I'll try to solve it.

    Valid points. I'd kinda forgotten about settled labourers and didn't consider them when adding new specialist bonuses. Will address for 1.25.

    I can replicate this, seems to be an interface bug. Good catch! I'll have this fixed in 1.25.

    I've noticed this happen occasionally. Almost certainly related to the city advisor AI. Not likely to be something I'm able to fix, so luckily it can be worked around with a bit of trial and error.

    Ideally I would have Great Doctors generating health. The problem is that doing so is impossible on Mac (no custom DLL support) , and if I were to implement as a Windows-only feature I need to figure out how not to break things on the Mac – and vice-versa. So far, no success.
     
  12. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    Well, i didn't delete that save but can you elaborate a bit what else is needed in crash report? Game logs? I tried to look there but nothing new seems to be written there on crash.

    Edit: posted save and logs in Troubleshooting for now, say if you need something else.
     
    Last edited: Feb 23, 2018
  13. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    On a side note, are values for faith/victory and faith/GP intended? 1 faith per victory feels incredibly irrelevant, while 5 faith per settled GP is very strong. This values are located next to each other in python so i wonder if there was some mixup.

    And one more point for Tactical trait discussion above, some civ+leader combinations can abuse it by fiddling with their resource availability. Best example would be tactical leader + sumerians (needs Unrestricted Leaders). Sumerians have very cheap basic mounted unit that requires no resources to build, so if you have no access to horses and oil you can build it anytime, even in latest eras. Then, if you actually have oil but temporarily cut access to it by destroying own improvement or route (or just making a city not connected to network to begin with) you can produce a lot of this units, then get access to oil back and upgade them all to gunships for free. Which cost 9 times more hammers. So, changing this to 50% discount is imho definitely preferable to just lowering upgrade cost for everyone.
     
    DarkLunaPhantom likes this.
  14. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    In 1.25 the faith earned will be based on the defeated unit's experience.

    Reduced to +3:religion: in 1.25.

    Noted, thanks.
     
  15. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    I don't know if it's already changed in future patch (since there was some discussions on both general topics), but will post anyway just in case.
    1. Found minor bug when reading python code for corporations - selectExpansionCity returns iCost for last city checked, not nesessarily (and unlikely) for one that it chooses for expansion. Also, i believe there is nothing actually stopping corporation from expanding to city with competitor's headquarters (it generally wouldn't want to, but if a city is really good it can actually overcome penalties to appeal), so what will happen if it actually expands there? It seems to use dll-function for setting corporation and when i looked in it's source it seems to replace competitors corporations in all cities if headquarters are being replaced (and also destroys it's executives).
    2. Pollution protects from climate changes (since it's implemented as a feature). Also, it targets squares that are already desert. Well, maybe that is intended, since there could be an improvement that will be destroyed in this case, but it definitely don't have to make messages when changing empty desert to empty desert.
     
  16. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    Good catch! Will fix.

    This actually happened to me in a test game a few months ago. Have fixed it for 1.25, but thank you for taking the time to go through the code and reporting it. The Organisations code is the most complex I've ever written so there's bound to be bugs and oversights in it. Please let me know if you find any more.

    The current implementation of Climate Change in HR is temporary. It's a component I merged almost as-is as a replacement for the terrible BTS rendition, and until I can write something more suitable. That won't be for 1.25 unfortunately. These are easy fixes though, I'll add them to my todo list.
     
    Last edited: Feb 25, 2018
  17. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    One more report - when using option to regenerate map on game start, extra peak hammers remain from initial map layout, granting seemingly random +2 hammers to all sorts of terrains (water and ice included), while peaks produce nothing. Extra yields from natural wonders probably remain as well (had natural wonders turned off).

    Actually, one more thing. There is some code in getCultureTransfer function that is supposed to reduce transferred amount if source city is larger than recipient. But since multiplier (which is calculated first) is always less than 1 in this case, it is rounded to 0 and no culture is transferred at all.
     
    Last edited: Mar 1, 2018
  18. Howard Mahler

    Howard Mahler Since Civ 1

    Joined:
    Dec 7, 2003
    Messages:
    619
    While this is an extreme example, I agree that Tactical is very powerful.
    Even without any special effort to exploit the trait, one immediately has the most up to date military, without having to spend any money.

    Immediately getting some benefit of a new military tech can be big deal.
    The vast amount of money saved over the course of a game, can be used for other useful things.
    Also the bigger ones military the more powerful is the Tactical trait.

    Saving 50% rather than 100% would be much more balanced; however, it is possible that in that case, one might need to add some other small advantage.

     
  19. Xyth

    Xyth History Rewritten

    Joined:
    Jul 14, 2004
    Messages:
    4,092
    Location:
    Aotearoa
    Unfortunately there is no way to detect when the map has been regenerated (as far as I know), and thus no way to fix these problems. Regenerating the map can cause all sorts of issues in mods, not just HR. Best to never use it.

    Which multiplier are you referring to here?

    It'll be 50% in 1.25.
     
  20. evilcoward

    evilcoward Chieftain

    Joined:
    Feb 21, 2018
    Messages:
    33
    Gender:
    Male
    Code:
    if iExportCitySize > iImportCitySize:
                    iCultureTransfer *= iImportCitySize / iExportCitySize
    This one. iImportCitySize / iExportCitySize is calculated first and if condition is true it's always less than 1, so it is rounded down to 0 (or to nearest? not familiar enough with python, my city was more than twice as large anyway). Suggesting changing to full form (worked for me):
    Code:
    if iExportCitySize > iImportCitySize:
                   iCultureTransfer = (iCultureTransfer * iImportCitySize) / iExportCitySize
     
    Last edited: Mar 2, 2018

Share This Page