Realism Invictus

On the note of the separatism, I'm curious what you mean exactly by "a safe default course of action" which goes beyond war declaration calculus, build selection and selection of event options, since it's pretty dynamic how it is? I'm not at all trying to shoot down your ideas, but I do really want to know, since I'm not a programmer by any stripe and I think you said that you were in a previous post, and, even though I'm not only really glad that this mechanic exists at all in this mod but also that it is in a pretty good degree of polish with multiple dynamic factors, it's still not perfect and likely not going to be changed by the guy who so fortunately made it.
Please do shoot down my ideas, that's the only way they'll get better.
I didn't mean anything particularly programmer-y, I'm just talking about conceptualising the logic and working out what is the objectively best course of action for the AI to take if it's playing to win. Then other stuff (i.e. AI leader personality, and perhaps special edge cases) can be layered on top of that default course of action. I only have a vague idea of how these things are implemented in civ, but the only thing I'm not sure can be done is personality-based or conditional weightings for event choices.
 
Please do shoot down my ideas, that's the only way they'll get better.
I didn't mean anything particularly programmer-y, I'm just talking about conceptualising the logic and working out what is the objectively best course of action for the AI to take if it's playing to win. Then other stuff (i.e. AI leader personality, and perhaps special edge cases) can be layered on top of that default course of action. I only have a vague idea of how these things are implemented in civ, but the only thing I'm not sure can be done is personality-based or conditional weightings for event choices.

Are you actually able to modify anything as it is though? The actual separatism mechanics are python as far as I know, so that goes well beyond the pale of just tweaking XML values (which is the only thing I know how to do).

Speaking of that, does anyone know what the "extra welfare help" reference was about in my spoilered post on the last page in TechDiffision_GlobalDefines.xml? By default it has a value of 88, but I'm not sure if this is a vanilla thing or part of RI's tech diffusion. I don't think it's the tech transfer rate itself, because that appears to be valued underneath, but it doesn't look like a regular BtS mechanic since that file doesn't exist in the regular game's directory as far as I know. I also tried modifying the tech transfer rate itself in that file but it appears not to have worked, as I still got the default "+40%, then 60%, 80%, etc." after changing the value.
 
Are you actually able to modify anything as it is though? The actual separatism mechanics are python as far as I know, so that goes well beyond the pale of just tweaking XML values (which is the only thing I know how to do).
There's nothing stopping you altering the Python stuff freely; a .py file is just plain text.
Here is where various things for separatism are defined, for example (in \Realism\Assets\Python\Components\Revolutions.py, if you're interested in playing with it). That section certainly isn't harder to understand than the xml.

Spoiler :


Python:
def __init__(self):
        self.iHappy        = 10    ## Increased by X Per Excess Unhappy
        self.iHealth        = 4    ## Increased by X Per Excess Unhealthy
        self.iNonStateReligion    = 5    ## Increased by X Per Non State Religion or Absense of State Religion
        self.iNationality        = 0.2    ## Increased by X Per Non Nationality
        self.iOccupation        = 1    ## Increased by X Per Occupation Turn
        self.iUnit            = 3    ## Decreased by X Per Defender
        self.iDistance        = 1    ## Decreased by X Per Tile Distance during Uprising
        self.iPopulation    = 0.2 ## Increased by X Per Population point
        self.iEspionage    = 2 ## Decreased by X Per Espionage generated by the city      
        self.iBaseChance    = 0 ## Base separatism level
        self.Civics = [        ["CIVIC_AUTOCRACY", -5],
                    ["CIVIC_THEOCRACY", -15],
                    ["CIVIC_DICTATORSHIP", -10],
                    ["CIVIC_RULEOFFEAR", -5],
                    ["CIVIC_COLLECTIVISM", -5],
                    ["CIVIC_SOCIAL_JUSTICE", -5],
                    ["CIVIC_WELFARE_STATE", -5]]
        self.Methods = [["BRIBE"], ["REPLACE"],    ["HARSH"], ["SERMON"], ["TAX"], ["MARTIAL"], ["ARRESTS"], ["PROPAGANDA"], ["AUTONOMY"]]
        self.iNewDefenders        = 2    ## Number of Extra Defenders after Uprising
        self.iCultureXfer        = 80    ## X% Culture Transferred after Revolution
        self.iSafeZone        = 0    ## No Revolution Below This Level
        self.iDangerZone        = 10    ## Can Start Uprising
        self.iMaxZone        = 100    ## 100% Revolution
        self.iLeaderEra = gc.getPlayer(CyGame().getRankPlayer(0)).getCurrentEra()


I think some of the AI stuff is in dlls, so it's a little bit more faffing about to get at (to use a technical term). Everything in the game can be modified, though.
 
There's nothing stopping you altering the Python stuff freely; a .py file is just plain text.
Here is where various things for separatism are defined, for example (in \Realism\Assets\Python\Components\Revolutions.py, if you're interested in playing with it). That section certainly isn't harder to understand than the xml.

Spoiler :


Python:
def __init__(self):
        self.iHappy        = 10    ## Increased by X Per Excess Unhappy
        self.iHealth        = 4    ## Increased by X Per Excess Unhealthy
        self.iNonStateReligion    = 5    ## Increased by X Per Non State Religion or Absense of State Religion
        self.iNationality        = 0.2    ## Increased by X Per Non Nationality
        self.iOccupation        = 1    ## Increased by X Per Occupation Turn
        self.iUnit            = 3    ## Decreased by X Per Defender
        self.iDistance        = 1    ## Decreased by X Per Tile Distance during Uprising
        self.iPopulation    = 0.2 ## Increased by X Per Population point
        self.iEspionage    = 2 ## Decreased by X Per Espionage generated by the city     
        self.iBaseChance    = 0 ## Base separatism level
        self.Civics = [        ["CIVIC_AUTOCRACY", -5],
                    ["CIVIC_THEOCRACY", -15],
                    ["CIVIC_DICTATORSHIP", -10],
                    ["CIVIC_RULEOFFEAR", -5],
                    ["CIVIC_COLLECTIVISM", -5],
                    ["CIVIC_SOCIAL_JUSTICE", -5],
                    ["CIVIC_WELFARE_STATE", -5]]
        self.Methods = [["BRIBE"], ["REPLACE"],    ["HARSH"], ["SERMON"], ["TAX"], ["MARTIAL"], ["ARRESTS"], ["PROPAGANDA"], ["AUTONOMY"]]
        self.iNewDefenders        = 2    ## Number of Extra Defenders after Uprising
        self.iCultureXfer        = 80    ## X% Culture Transferred after Revolution
        self.iSafeZone        = 0    ## No Revolution Below This Level
        self.iDangerZone        = 10    ## Can Start Uprising
        self.iMaxZone        = 100    ## 100% Revolution
        self.iLeaderEra = gc.getPlayer(CyGame().getRankPlayer(0)).getCurrentEra()


I think some of the AI stuff is in dlls, so it's a little bit more faffing about to get at (to use a technical term). Everything in the game can be modified, though.

That is very useful to know, thanks!

The one thing on here which I think is strangely low to the point of being insignificant is the population factor. I noticed this at the end of my last game, where cities of pop of around 20 (so, basically, well-developed "modern" cities) I'd recently conquered, while difficult to manage mostly due to foreign culture, had basically none of their separatism coming from population itself, and I personally thought that this should be a weightier factor, because as it is it basically doesn't make any kind of meaningful difference. I wonder what the reasoning was for that one?

So, thanks to you I can adjust that myself. :)
 
That is very useful to know, thanks!

The one thing on here which I think is strangely low to the point of being insignificant is the population factor. I noticed this at the end of my last game, where cities of pop of around 20 (so, basically, well-developed "modern" cities) I'd recently conquered, while difficult to manage mostly due to foreign culture, had basically none of their separatism coming from population itself, and I personally thought that this should be a weightier factor, because as it is it basically doesn't make any kind of meaningful difference. I wonder what the reasoning was for that one?

So, thanks to you I can adjust that myself. :)
Access to this is much more powerful than just being able to set those base numbers - for example if you search the file for iPopulation you'll find this line:
return int(pCity.getPopulation() * self.iPopulation)
So you can change what it does with the base number. Want it to increase exponentially with population? That would be return int(pCity.getPopulation() ** 2 * self.iPopulation). Want to flatten the curve? This would take the square root: return int(pCity.getPopulation() ** 0.5 * self.iPopulation). Or perhaps you feel like big cities should not be directly affected by size, but should be more affected by unhappiness: return int(pCity.getPopulation() * self.getRevHappy(pCity) * self.iPopulation).
Note that python uses ** as the exponentiation operator. Also it has to be rounded to an integer; that's why it's wrapped in int().
 
By a strange coincidence, I'm sluggishly trying to improve the resource model on the other hand. https://forums.civfanatics.com/threads/quick-modding-questions-thread.351519/page-330
That is, to increase the return of resources along with the modernization of the improvement. At the same time, yes, half of the history of technology is a giant increase in the efficiency of using raw materials + a drop in the complexity of processing. At the same time, in the game, the growth of production by three or four orders of magnitude is not reflected in any way at all.

partly because I presume the "waste" is lower.

Now there will be a long historical reference
The nuance is that as progress progresses, an increase in real production did occur, but for other reasons.
1. One of the limiting factors in the construction of ships was a sufficient amount of suitable material for parts of complex shape. As a result, since the 13th century, frames, etc., begin to be grown in advance.
2. But the real leap came later. Since the 16th century, the ship's timber has been dried, which dramatically increases its shelf life. More precisely, they begin to dry again, because in antiquity it was already practiced. As a result, even with the formally identical production of materials, many more ships can be supported. At the same time, the drying technology is being improved at least until the middle of the 18th century.
3. In parallel, they experiment with impregnations and coatings against rotting and woodworms. And it's quite fun there – on one of the earliest ships of the line, for example, sulfur was used... broken glass... crushed cow wool. In general, everything went into business, right down to whale oil and olive oil.
4. This is not counting the use of lead, and then copper plating.
 
This is how the cultivation of frames and CO. looked like.
Spoiler :

0_139311_ead77ef2_XL.jpg

https://galea-galley.livejournal.com/192013.html
By the way, if you are not very skeptical about the trucking company and are interested in the sailing / rowing fleet, follow the link to an interesting blog of the late Russian admiral.
 
this could be nice additional option: effectiveness of raw materials depends on population
finally, building a city to stock a fourteenth source of fish would make sense

In general, there is a much simpler and more realistic option for using the the fourteenth fish ("Invictis" reflects the shortage of resources quite well).
Yes, the vanilla version looks specific For simplicity, let's take health/happiness resources.А unit of happiness / health for a resource is received by both a small city and a megalopolis. That is, per inhabitant, the metropolis actually has a fine, and the average resident of a small town somewhere on the outskirts bathes in delicacies and luxury.
A variant with a uniform distribution over the population (which is obtained in the "Reimagined") good, but not perfect.
1. From the point of view of realism, even in a purely market economy, the distribution of resources among the population is extremely uneven. On average, wealthier megacities have an advantage in luxury consumption, and large industrial centers consume a record amount of productive resources per capita. At the same time, the practice of administrative feeding and making the residents of the capital happy did not begin in Rome and did not end there.
2. From the point of view of game mechanics, it is better for a player to be able to manage resources than not to have.
Conclusion – we build buildings in the usual "Invictis" style and duplicate them simply with the help of ХML. That is, a certain building X, which gives, for example, happiness for beavers, can be supplemented with a second and so on building with the same effect. At the same time, of course, the resource consumption for building No. 2 will go from scratch. However, we can simply make it more expensive by including the expense of the first one in the "price". That is, if No. 1 consumes 2 units of resource, No. 2 will consume 4 and so on. As a result, we will get the number of buildings strictly proportional to the number of resources (4 beavers = 2 buildings) and ... at the same time, they can be built anywhere.
And exactly the same mechanics work in relation to production resources.
 
Resources
A single resource can only support a finite population. If your population grows too large and a single resource can't satisfy the demand all health, happiness and production benefits are reduced accordingly. Additional resources of the same kind are then required to mitigate the resource shortage: If one pig would grant you only +0.7 :health: because of high population, two pigs will give you the full +1.0 :health: bonus. Production speed for units and buildings that rely on a resource is reduced in the same manner. Movement speed using railroads is reduced with a low coal and oil ratio. Researching technologies improves your resource ratio, reflecting your increased ability to foster and distribute resources. This change is a boon for small realms who can keep up their 1.0 ratios easily. However playing a large realm is more fun than ever as your constant struggle to connect new and old resources keeps you on the lookout for good settling positions and trade deals.

finally, building a city to stock a fourteenth source of fish would make sense
also these all "recycle centers" , gas and nuclear plants would apply (I feel that the level of health in the modern era is overstated, in modern era i never have problem with unhealthy, i even dont need build these modern plants to reduce :yuck:)



2. From the point of view of game mechanics, it is better for a player to be able to manage resources than not to have.
Conclusion – we build buildings in the usual "Invictis" style and duplicate them simply with the help of ХML. That is, a certain building X, which gives, for example, happiness for beavers, can be supplemented with a second and so on building with the same effect. At the same time, of course, the resource consumption for building No. 2 will go from scratch. However, we can simply make it more expensive by including the expense of the first one in the "price". That is, if No. 1 consumes 2 units of resource, No. 2 will consume 4 and so on. As a result, we will get the number of buildings strictly proportional to the number of resources (4 beavers = 2 buildings) and ... at the same time, they can be built anywhere.
And exactly the same mechanics work in relation to production resources.


2 different ways to handle how the ressources are used. Besides the one implemented in our RI mod already. And then I have my own 4th way.......


Oh, that's why I really love this CIV-game. Only lack of fantasy sets a limit, when we try to find a way out of a problem - and that even regardless of whether the problem is "real" or imagined......
 
TheBirdMan
=Only lack of fantasy sets a limit, when we try to find a way out of a problem - and that even regardless of whether the problem is "real" or imagined....=

By the way, there is another very interesting HMD opportunity related to resources. Improvements are looking for resources and at the same time you can specify a 100% probability of detecting a resource by the next move after construction. That is, an option is possible – we build a pasture and the next move it finds a cow, etc. I suspect that in "Invictis" this is how the scheme works with fertile soil on which corn, wheat, etc. can be grown at will.
The most obvious conclusion is that this is how you can build a completely custom agriculture.
Less obvious – forest improvements can work in the same way, finding timber and, most importantly, charcoal, around which almost the entire industry was built until the 19th century. And the same applies to quarries.
The most obvious problem is how to deal with this АI; quite possibly, in no way. However, there is a mod component that solves this problem, but this is no longer ХML.
A less obvious problem is that agriculture, to put it mildly, depends on the climate. Sugar cane in the tundra will look peculiar. At the same time, it is impossible to directly link the improvement at least to latitude. The only option is to link to the terrain and the type of vegetation, which does not quite please my perfectionist soul :D .
Finally, the detection of resources is probably irreversible (?). That is, if charcoal is found on the cell, it is impossible to detect a timber on it, etc. But it would be necessary to check whether this is true.
 
Small bug report for the uncertain update: the Labarum, UU of Orthodoxy, doesn't have combat animation. Anyway, this mod has become a masterpiece. Always wish it to be better and better.
 
Small bug report for the uncertain update: the Labarum, UU of Orthodoxy, doesn't have combat animation. Anyway, this mod has become a masterpiece. Always wish it to be better and better.
Orthodoxy isn't an official part of the RI mod - but it is rather simple to activate it.

And it is true..... it looks "funny" when a unit doesn't move when it's in a fight

Civ4ScreenShot0070.JPG


Even some movements with a hand and an arm - like he was casting a curse on the enemy - would make it look much "better".
 
Orthodoxy isn't an official part of the RI mod - but it is rather simple to activate it.

And it is true..... it looks "funny" when a unit doesn't move when it's in a fight

View attachment 658527

Even some movements with a hand and an arm - like he was casting a curse on the enemy - would make it look much "better".
It is a part of the mod, in the relevant scenario.
 
Ok, that's fair enough. But then let's do half-damage ("halv skade" as it is called in Danish).

RI has been updated many times since those scenarioes has been released - but not the parts, that includes the religion Orthodoxy.


I know because I wrote to Walter - back when RI had its own website - about why I couldn't choose Orthodoxy as religion.
The answer was, that there was no need for more religions than those, already part of RI itself.


So that's why - I think - we won't see any updates whatsoever on anything that has to do with Orthodoxy.

But still - I repeat myself - it's easy to activate it (now - after I did try and try again). Only thing missing is an "orthodoxy shrine".
 
Hi all,

I hope I am on a right place to ask this question.

I play this mod multiplayer with 2 more friends and we noticed that when save game is around 5MB+ we start to see a lot of "out of sync" alerts and then we need to reload the game.

Is there any settings or something that we can do in order to prevent this annoying issue ?


Another question:
If I download latest installer from here: https://sourceforge.net/projects/civ4mods/files/Realism Invictus/ do I need to apply latest patch or is it included automatically ?

Thank you in advance for any helpful advice :)
 
Last edited:
Hi all,

I hope I am on a right place to ask this question.

I play this mod multiplayer with 2 more friends and we noticed that when save game is around 5MB+ we start to see a lot of "out of sync" alerts and then we need to reload the game.

Is there any settings or something that we can do in order to prevent this annoying issue ?


Another question:
If I download latest installer from here: https://sourceforge.net/projects/civ4mods/files/Realism Invictus/ do I need to apply latest patch or is it included automatically ?

Thank you in advance for any helpful advice :)
I unfortunately can't help with the multiplayer OOS, but I can confirm that that installer does have the latest patch included automatically.
 
Hi all,

I hope I am on a right place to ask this question.

I play this mod multiplayer with 2 more friends and we noticed that when save game is around 5MB+ we start to see a lot of "out of sync" alerts and then we need to reload the game.

Is there any settings or something that we can do in order to prevent this annoying issue ?


Another question:
If I download latest installer from here: https://sourceforge.net/projects/civ4mods/files/Realism Invictus/ do I need to apply latest patch or is it included automatically ?

Thank you in advance for any helpful advice :)
You do need to apply the latest patch (3.61) but not the black terrain fix unless you're getting black terrain.
 
Hello,

I wanted to ask where in the files I could modify both the "ahead of tech cost increase" percentage and the open borders tech transfer settings. I hope to be able to make them both more potent, in efforts of keeping the game relatively close technologically throughout the game.
 
For the sake of realism a re-work could be in order, but in terms of balance I think they're good how they are. And if they weren't good units in their own right their unique promotions become much less interesting, and they would be quite poor exploration units because the barbarians would kill them too easily.
That could be easily mitigated by giving them a big buff against barbarians though.

The linear tech tree was actually a deliberate choice; Walter talked about it a while ago. He likes to force a more historical progression. I think you'd only need to alter one or two prerequisites per era to change that. I don't particularly like the idea of bringing back deliberate tech sharing - is there really any logic behind it before the industrial era? Personally I'd like to increase the basic cost of mediaeval and later techs, so that civs can only keep up with historical progress if they have lots of open borders agreements; that way isolated or isolationist countries and big, stable empires which wipe out all their neighbours would get left behind and the tech leaders won't be hitting the renaissance in the 6th century...
A situation like you described with the tech leaders hitting the renaissance in the 6th century (AD I'm assuming :lol:) tends to bother me much more than someone way behind on tech. It just feels more realistic to me that way: having the science leader roughly on par with real world historical scientific development, while everyone else is either slightly or quite far behind. After all human history is full of examples of places or civilizations falling technologically behind, even if they were right at the forefront at some point in time before (Incans, Chinese empire etc). And just like in the real world those meetings of different scientific and technological levels usually don't end well for the underdog :help:
So I do like the "ahead of the times" tech cost penalties, however I think it should be possible, or rather made easier to beeline to a certain technology within an era, even if say you maybe didn't research every technology from a previous era.
make Skirmishers target other Skirmishers first in combat, the way that several units already have this ability.
That could be an elegant solution!
I went ahead and nerfed tech transfer to 20% per civ instead of 40%
I think I would be in favor of that as well, for the reasons stated before.
 
Two questions for you guys:

Is there a way to better identify what kind of units are in a stack? If it's a big stack the list will fill the entire screen from top to bottom, and therefore some of it will be blocked by the interface.
Also the way untis are listed does not seem very intuitive or informative. You'd think you're facing a stack with let's say 12 units, until you discover the little (25) behind one units name and realize there are 25+ units of just that type in there, next to all the others!! :eek:

Connected to that is my second question: Do you guys still see the A.I. (or even yourself) deploy huge doomstacks? I thought that the logistics penalties should discourage anyone from doing so, but then I read an older post here when searching about that issue where someone stated that if you combine the net positives you would get from all the bonuses in a huge diverse stack (say recon bonus III, siege bonus III, etc) it would still be more than the penalties you'd get from the max logistic problems number. So ironically the system which was designed to discourage the use of doomstacks actually encourages them after all. Is that still the case?
Because in my recent game I had the A.I. steamroll into my lands with an enormous doomstack (must have been around 50+ units) in the renaissance era. When meeting my troops of the same unit types in much smaller stacks they had no problem crushing them, taking only a 2:1 loss rate when attacking entrenched cities, not even bothering to reduce the city's defenses before attacking it. What gives??
 
Back
Top Bottom