Bug Reports and Technical Issues

Also not to spur on the (heated) Defensive Pact discussion, but should it maybe just be renamed to "Military Alliance"?
 
Wasn't too bothered about that save, I got my Mughal strategy down and got the UHV in another game.
Do you know what the problem was specifically, about Russia capturing Krakow?
Yes, when capturing the city the Portuguese cultural control over surrounding tiles was reset before the Russian stack could advance into it. This caused Prussia to regain control of the tile it had been on and the stack was pushed away. This caused an inconsistency that led to the crash. I reordered when cultural control is reset to avoid that.
 
Rules do not exist in the real world and anyway who lets themselves be rolled over by an initial attack because otherwise you are not "truly" defending yourself? That's just schoolyard logic.

Okay, explain to me how your rules for DoC defensive alliances would handle the following situations:

1. Germany has a defensive alliance with Russia, a defensive alliance with Austria, and a defensive alliance with Italy. Russia DoWs Austria. Two turns later, Austria DoWs Italy. Who does Germany wind up at war with?

2. The United States has defensive alliances with England, Canada, France, Spain, Portugal, the Netherlands, Germany, the Ottomans, Russia, China, Japan, Korea, Khmer, India, Iran, Brazil, Colombia, Peru and Mexico. Congo has a defensive alliance with Polynesia. Polynesia DoWs the United States. Who does Congo wind up at war with?
 
Last edited:
Slaves can only be used in the New World as settled specialists or for slave plantations. Your use for slaves is to sell them via diplomacy to other civs that control cities there.
So, one can only use slaves in Americas and that wasn't a bug that I could not use them even in sub-saharan Africa.

Well, I am glad to know that my game is not bugged, but then again, isn't it weird that no one else can use slaves? I mean come on, the whole economies of the ancient empires of greeks and romans were built on slavery. Like the whole damn thing. They literally collapsed for that exact reason, because there were not enough conquest anymore, not enough new slaves and as a result a collapse of the old system and a gradual evolution into medieval serfdom system from the times of Diocletianus.

I mean, you find the transatlantic slave trade important enough a concept to implement it in the mod, yet ignore everything else. I understand, indoctrination, white guilt and everything, but damn, there were so much more in history. Medieval slave trade by turks and arabs brought us the word slave itself. It came from the ethnonym of slavic peoples. So many slavs were taken as slaves by turkic raiders and sold to arabs or byzantines, that the word itself became synonymous with servitude in every major language of the western europe including English, French, German, Spanish. There were so many slavic slaves in Islamic Spain that at times they created their own small rebel kingdoms there. How can we simply brush aside all of that? Why the only slavery that HAS TO BE implemented is the transatlantic one? I don't get it. And I do hope that in the future the concept would either disappear completely or will be extended in order to represent the history as it was, not the way some people in the high echelons of power want us to believe.

If needed I am even ready to spend my own time in order to help with implementing these changes. I don't have much experience with modding the Civ 4, yet I have quite some in games like EU4, CKII or the older total war games. I don't think that modding this game is that more difficult.

Thank you.
 
Well, I am glad to know that my game is not bugged, but then again, isn't it weird that no one else can use slaves? I mean come on, the whole economies of the ancient empires of greeks and romans were built on slavery. Like the whole damn thing. They literally collapsed for that exact reason, because there were not enough conquest anymore, not enough new slaves and as a result a collapse of the old system and a gradual evolution into medieval serfdom system from the times of Diocletianus.

You do realize that you can literally adopt Slavery as a civic, and both Greece and Rome start with it? (Arabia too for that matter)

I understand, indoctrination, white guilt and everything

Ah. You are one of those people.

not the way some people in the high echelons of power want us to believe.

Hold on, I think you forgot something there:

not the way (((some people in the high echelons of power))) want us to believe.

There, that seems more fitting.

A bit more on-topic:

Yes, the trans-Atlantic slave trade is implemented with its own unique mechanic, but that is in addition to how in theory every civ can base its economy around slave labor via adopting the Slavery civic, which many civs that historically did so are already incentivized to do. I for one see two good reasons for that decision:

First, that it allows European civs to make heavy use of slave labor in their colonies while having an entirely different economic system back home, which is pretty much what historically happened.

Second, that it captures the uniquely racialized dynamic of Trans-Atlantic slavery, which more than any other system of slavery before or since had completely separated spheres of slave capture, slave use and slave-good consumption. Slavery in ancient Rome and medieval Arabia was a fact of daily life even (or especially so) in the most developed urban centers far away from the war-fronts that brought a steady stream of new slaves. You also had more fluidity between free men and slaves, there are plenty of occasions where free men became enslaved or slaves became freed over the course of their lives, and Turkish history especially is rife with stories of slave castes that in an ironic twist became ruler castes as well. Trans-Atlantic slavery on the other hand had very rigid rules for who could or could not become a slave, and most slaves were working on American plantations to produce luxury goods for far away European markets that had entirely different systems of social stratification in place.
 
Yes, the trans-Atlantic slave trade is implemented with its own unique mechanic, but that is in addition to how in theory every civ can base its economy around slave labor via adopting the Slavery civic, which many civs that historically did so are already incentivized to do. I for one see two good reasons for that decision:

First, that it allows European civs to make heavy use of slave labor in their colonies while having an entirely different economic system back home, which is pretty much what historically happened.

Second, that it captures the uniquely racialized dynamic of Trans-Atlantic slavery, which more than any other system of slavery before or since had completely separated spheres of slave capture, slave use and slave-good consumption. Slavery in ancient Rome and medieval Arabia was a fact of daily life even (or especially so) in the most developed urban centers far away from the war-fronts that brought a steady stream of new slaves. You also had more fluidity between free men and slaves, there are plenty of occasions where free men became enslaved or slaves became freed over the course of their lives, and Turkish history especially is rife with stories of slave castes that in an ironic twist became ruler castes as well. Trans-Atlantic slavery on the other hand had very rigid rules for who could or could not become a slave, and most slaves were working on American plantations to produce luxury goods for far away European markets that had entirely different systems of social stratification in place.
Well, instead of being sarcastic you could've just explained all of that to me in good faith. Which you still did, after being sarcastic. Anyway, I thank you for the explanation and it actually makes sense to me. After all sometimes all we (or any other dumbass for that matter, even if he's "one of those people") need is just some proper explanation provided in good faith. I would recommend doing that thing more often to anyone any day. Thanks.
 
Okay, explain to me how your rules for DoC defensive alliances would handle the following situations:
Do you want to discuss geopolitics leading up to WW1 or do you wanna discuss defensive alliance rules? You're kind of jumping back and forth and I'm not sure which one is informing the other here.

So, one can only use slaves in Americas and that wasn't a bug that I could not use them even in sub-saharan Africa.

Well, I am glad to know that my game is not bugged, but then again, isn't it weird that no one else can use slaves? I mean come on, the whole economies of the ancient empires of greeks and romans were built on slavery. Like the whole damn thing. They literally collapsed for that exact reason, because there were not enough conquest anymore, not enough new slaves and as a result a collapse of the old system and a gradual evolution into medieval serfdom system from the times of Diocletianus.

I mean, you find the transatlantic slave trade important enough a concept to implement it in the mod, yet ignore everything else. I understand, indoctrination, white guilt and everything, but damn, there were so much more in history. Medieval slave trade by turks and arabs brought us the word slave itself. It came from the ethnonym of slavic peoples. So many slavs were taken as slaves by turkic raiders and sold to arabs or byzantines, that the word itself became synonymous with servitude in every major language of the western europe including English, French, German, Spanish. There were so many slavic slaves in Islamic Spain that at times they created their own small rebel kingdoms there. How can we simply brush aside all of that? Why the only slavery that HAS TO BE implemented is the transatlantic one? I don't get it. And I do hope that in the future the concept would either disappear completely or will be extended in order to represent the history as it was, not the way some people in the high echelons of power want us to believe.
As a courtesy to you, I will limit myself to pointing out that phrases such as "white guilt" and "people in the high echelons of power want us to believe X" are white nationalist talking points, conspiracy theories, and dog whistles. I will give you the benefit of the doubt and assume that you were not aware of this and your use of this language was unintentional and coincidental, because white nationalism has no place in this community and I will not suffer people who subscribe to this vile ideology. Do not make me regret that decision.

I'll try to answer your questions assuming they were asked in good faith despite the above and your unnecessarily accusatory tone, because the answer may be of interest of everyone. My patience with you however is pretty thin already so take that into account in the future.

1. Slavery and slave trade are a general feature of human history and civilisation, found across many cultures and all periods of history at least since the agricultural revolution, including the modern day. Your accusation that I, or any reasonable person educated in history, is denying that is wrong.

2. That said, over the course of human history, despite the shared name, slavery has taken different forms in different societies and different historical periods. Also, other social institutions/norms/forms of production that do not share its name are functionally indistinguishable from at least some form of slavery.

3. The development of this mod is not just an exercise of historical representation, but also needs to capture any historical phenomenon in game mechanics that are historically appropriate, i.e. in upsides/downsides, overall effects on the world, incentives to use them etc. Those obviously have to be different for different forms of slavery that existed in history because they have been different in the real world as well.

4. The slavery civic already exists and every civilisation can adopt it since very early in the game. That is a very obvious fact that should already satisfy your desire to see this historical phenomenon represented. The civic allows you to capture enemy workers, and increases production on plantations and mines. This is a very abstract but not inaccurate representation of general features that were true for all forms of historical slavery, but especially those practiced in the classical mediterranean and the medieval Islamic world: the displacement of defeated populations for the benefit of the victor, and the use of a cheap source of labour to assist labour intensive economic sectors like mining and agriculture. Is it perfect? No, it does not capture all dimensions that slavery could have in a society, for example the use of slave military units etc. But neither does the Free Enterprise civic capture all possible effects of having a free market economic system and I do not see you complain about that.

5. Despite that, the transatlantic trade, of which the transatlantic slave trade is a crucial component, is one of the most transformative historical events for the entire world in recorded history. The historical effect of this event that spanned multiple centuries shaped almost every aspect of the history of the Americas, as well as the regions of Western and Central Africa that were affected by it. It is therefore totally reasonable to represent it in a separate mechanic, whose existence does not diminish or soften the existence of other forms of slavery represented in the civic. Mechanics like trading slaves through the diplomacy interface and engaging in chattel slavery are significantly different than what the civic would allow, hence they exist for this context, and cannot easily be extended to other regions of the world without eliding the important differences between them. African warlords did not capture slaves in their African hinterlands to send them to work their own plantations, they did so to sell them to Europeans and get access to European goods, especially weaponry. It is European colonists who used African slave labour, exclusively in the Americas, not in Europe itself. Hence the transatlantic slave trade has historically a clear regional dimension.

6. And now we are leaving the question of historical representation for a moment, and it bears repeating in many contexts, the absense of a feature in this mod is not an indication of a particular agenda. I am one person developing the mod, and there are lots of more important things to focus on. Hold me to account for the content I am adding, but it is not legitimate to infer any position from content that is not in the mod. In this case, many of the comparisons I made between the transatlantic slave trade and "other" slavery did not account for some of the historical events you mentioned. For example, Muslim slavery relying on slave raids in Christian Europe, e.g. by Moorish pirates or most importantly, Tatar raids in Slavic Europe. The same is true for African slaves traded by Muslims along the East African coast. Those things aren't really represented by any of the existing slavery mechanics, but neither would they be accurately represented by just extending the existing rules designed for the transatlantic slave trade to these civs and places. I would love to revisit this, and come up and implement rules and mechanics that represent it. But so far, it hasn't been a very high priority. Why? Because there is no Tatar civ that would benefit from it. Because there are no African civs along the East African coast that would interact with it. The existence of a Nigerian civ could cause me to rethink how slavery works because Benin opposed the slave trade but the Sokoto Caliphate made extensive use of slaves and if they were in the game I would suit the rules to capture that. But right now they aren't, so those things do not exist either, and that is the only reason why.

I am tired though. Tired because typing all this up cost me 30 minutes, even though most of this is actually pretty easy to infer if you have minimal critical thinking skills and as much historical knowledge as your bluster implies. Those are 30 minutes I could have been closer to actually implementing something like I just talked about, and to be honest I would have much preferred that.

In conclusion, if you actually are a white nationalist, I hope you read this and then eff right the eff off away from this forum so I don't have to read garbage like that anymore.
 
Oh, and one other thing. The fact that I am not-so-subtly accused of unfairly focusing on slavery perpetrated by European colonists is a direct consequence of the overwhelming focus on historical activity by Europeans in this mod, a feature it has inherited both from the mod and game it is based on as well as the dominant perspective of popular historiography in the West, the place I and most of my audience lives in. Let me assure you that I am working hard at counteracting this biased emphasis on Western and European agency in history in this mod every day, a fact that should make all of us very happy.
 
Do you want to discuss geopolitics leading up to WW1 or do you wanna discuss defensive alliance rules? You're kind of jumping back and forth and I'm not sure which one is informing the other here.


As a courtesy to you, I will limit myself to pointing out that phrases such as "white guilt" and "people in the high echelons of power want us to believe X" are white nationalist talking points, conspiracy theories, and dog whistles. I will give you the benefit of the doubt and assume that you were not aware of this and your use of this language was unintentional and coincidental, because white nationalism has no place in this community and I will not suffer people who subscribe to this vile ideology. Do not make me regret that decision.

I'll try to answer your questions assuming they were asked in good faith despite the above and your unnecessarily accusatory tone, because the answer may be of interest of everyone. My patience with you however is pretty thin already so take that into account in the future.

1. Slavery and slave trade are a general feature of human history and civilisation, found across many cultures and all periods of history at least since the agricultural revolution, including the modern day. Your accusation that I, or any reasonable person educated in history, is denying that is wrong.

2. That said, over the course of human history, despite the shared name, slavery has taken different forms in different societies and different historical periods. Also, other social institutions/norms/forms of production that do not share its name are functionally indistinguishable from at least some form of slavery.

3. The development of this mod is not just an exercise of historical representation, but also needs to capture any historical phenomenon in game mechanics that are historically appropriate, i.e. in upsides/downsides, overall effects on the world, incentives to use them etc. Those obviously have to be different for different forms of slavery that existed in history because they have been different in the real world as well.

4. The slavery civic already exists and every civilisation can adopt it since very early in the game. That is a very obvious fact that should already satisfy your desire to see this historical phenomenon represented. The civic allows you to capture enemy workers, and increases production on plantations and mines. This is a very abstract but not inaccurate representation of general features that were true for all forms of historical slavery, but especially those practiced in the classical mediterranean and the medieval Islamic world: the displacement of defeated populations for the benefit of the victor, and the use of a cheap source of labour to assist labour intensive economic sectors like mining and agriculture. Is it perfect? No, it does not capture all dimensions that slavery could have in a society, for example the use of slave military units etc. But neither does the Free Enterprise civic capture all possible effects of having a free market economic system and I do not see you complain about that.

5. Despite that, the transatlantic trade, of which the transatlantic slave trade is a crucial component, is one of the most transformative historical events for the entire world in recorded history. The historical effect of this event that spanned multiple centuries shaped almost every aspect of the history of the Americas, as well as the regions of Western and Central Africa that were affected by it. It is therefore totally reasonable to represent it in a separate mechanic, whose existence does not diminish or soften the existence of other forms of slavery represented in the civic. Mechanics like trading slaves through the diplomacy interface and engaging in chattel slavery are significantly different than what the civic would allow, hence they exist for this context, and cannot easily be extended to other regions of the world without eliding the important differences between them. African warlords did not capture slaves in their African hinterlands to send them to work their own plantations, they did so to sell them to Europeans and get access to European goods, especially weaponry. It is European colonists who used African slave labour, exclusively in the Americas, not in Europe itself. Hence the transatlantic slave trade has historically a clear regional dimension.

6. And now we are leaving the question of historical representation for a moment, and it bears repeating in many contexts, the absense of a feature in this mod is not an indication of a particular agenda. I am one person developing the mod, and there are lots of more important things to focus on. Hold me to account for the content I am adding, but it is not legitimate to infer any position from content that is not in the mod. In this case, many of the comparisons I made between the transatlantic slave trade and "other" slavery did not account for some of the historical events you mentioned. For example, Muslim slavery relying on slave raids in Christian Europe, e.g. by Moorish pirates or most importantly, Tatar raids in Slavic Europe. The same is true for African slaves traded by Muslims along the East African coast. Those things aren't really represented by any of the existing slavery mechanics, but neither would they be accurately represented by just extending the existing rules designed for the transatlantic slave trade to these civs and places. I would love to revisit this, and come up and implement rules and mechanics that represent it. But so far, it hasn't been a very high priority. Why? Because there is no Tatar civ that would benefit from it. Because there are no African civs along the East African coast that would interact with it. The existence of a Nigerian civ could cause me to rethink how slavery works because Benin opposed the slave trade but the Sokoto Caliphate made extensive use of slaves and if they were in the game I would suit the rules to capture that. But right now they aren't, so those things do not exist either, and that is the only reason why.

I am tired though. Tired because typing all this up cost me 30 minutes, even though most of this is actually pretty easy to infer if you have minimal critical thinking skills and as much historical knowledge as your bluster implies. Those are 30 minutes I could have been closer to actually implementing something like I just talked about, and to be honest I would have much preferred that.

In conclusion, if you actually are a white nationalist, I hope you read this and then eff right the eff off away from this forum so I don't have to read garbage like that anymore.
As I said to the previous guy who answered my question: instead of being sarcastic, in your case, I guess, instead of being aggressive and accussive, you could've done this in good faith (again, partially you did, I am thankful for that), in a much shorter message, capturing the most important aspects of the issue, -as the guy before you did -, without spending your precious time and nerves (and here I am not sarcastic a bit) on this whole "ah, you are an evil X go away from my forum" thing.

Have some humility, we are all human, we are all imperfect and we all unable to see further than our sight allows us (both in figural and literal sense).

Even if I were a white nationalist, that alone wouldn't make me an evil person, no matter what you might think about it.

I had my issues with the concept, I had my opinion, however wrong or imperfect it may be, on why I think that could be the case, I received the answers that satisfied me and I am thankful. The only thing I may say, yet again, have some humility people and actually try to be open minded when you see something you disagree with. I am practicing this thing a lot, it really helps.

Thank you.
 
Even if I were a white nationalist, that alone wouldn't make me an evil person, no matter what you might think about it.
An apologist for white nationalism is a white nationalist. You do not have permission to play my mod, and I don't want to see you post here again.
 
So, to recap:

1. JDPEIGrillo described a game where defensive alliances caused a rash of war declarations, and he said this seemed unrealistic.

2. Imp Knoedel said "But World War I!" as a real-world example of defensive alliances causing a cascading series of war declarations.

3. I replied to argue that that was a myth: in fact, only one defensive alliance was triggered in World War I, and the war was caused by various nations aggressing offensively. So one can't use the First World War as an example of defensive alliances causing world wars. But because it's a very widespread myth, it seemed worth discussing in detail how the war actually proceeded to spread.

My main point: In the real world, defensive alliances (unless executed by diplomats who are either very stupid or else very crafty) are typically written very narrowly to contain circuit-breakers to prevent exactly the kind of cascading catastrophe as swept JDPEIGrillo's game. But DoC's defensive alliances do not contain those circuit-breakers, and so tend to cause unrealistic and ahistorical avalanches.

So no, I'm not trying to argue about the First World War. I am mining it for illustrations of how defensive alliances work in the real world—which, I assume, should inform how they work in DoC.

The two most relevant illustrations from 1914:

a. Britain had guaranteed Belgium's neutrality. Germany invaded Belgium, so Britain was by treaty required to declare war on Germany. That was the only "defensive alliance" that operated according to its terms in 1914.

b. Italy had defensive alliances with Germany and Austria. But in 1914, no one attacked Germany or Austria. Instead, they attacked other powers (Austria attacked Serbia, Germany attacked Russia and France.) So the conditions that would have forced Italy into the war were not triggered. Italy had the option to stay neutral, and they did (at least initially).

Not even Britain's declaration against Germany could trigger Italian intervention, for that declaration had been forced by German offensive action against Belgium. Germany's offensive actions had reduced their defensive alliance with Italy to a dead letter.

This is the model that Vanilla Civ IV/BTS uses. In the regular game, a defensive alliance is cancelled instantly if one partner declares war on a third power. This means that the other partner has the option of sitting the war out, and is not automatically dragged into it.

DoC's model does not use this circuit breaker, but instead chains each partner to the other, so that if one partner declares war, the other will get dragged in.

Example: China and Korea have a defensive alliance. Japan and India have a defensive alliance. China declares war on Japan.

In Vanilla, China's DoW on Japan instantly cancels their alliance with Korea. It does trigger the pact between Japan and India, and India declares on China. Result China, by acting offensively, must face Japan and India alone. Korea remains at peace. (They may enter the war later on the Chinese side; nothing stops that from happening. But Korea might also enter later on the Japanese side.)

In DoC, China's DoW on Japan triggers India to DoW on China, which triggers Korea to DoW on India, which triggers Japan to DoW on Korea, and so Korea gets dragged into a war when its partner behaved aggressively.

If "defensive alliance" means anything, it means "If someone attacks you, I will defend you by going to war with them." It shouldn't mean, "If you attack someone who has an ally, I'll go to war with everyone that you go to war with." But the latter is the actual result of the logic that governs DoC's defensive pacts.
 
I believe that this feature of defensive pacts in DoC traces its origins to Rhye. If I recall correctly, he disabled the cancellation of the alliances in case one of the partners declares war, noticed it led to these massive world wars we still see in DoC, and liked the result, so it stuck.

I like the resulting large wars as well. However, it's true that it doesn't represent real defensive alliances very well; and it's true that I tend to never sign defensive pacts in DoC unless I want to be dragged in a world war for some reason. It'd be interesting, at least as an experiment, to restore the cancellation effect, and see if it makes diplomacy more realistic or enjoyable.

I do worry that large world wars would stop happening, though. I don't recall them happening a lot in Vanilla Civ 4. If that's the case, I do agree with Leoreth's view, which I hope I am understanding correctly: it is perfectly fine to use a mechanic that is not by itself very realistic (defensive pacts that do not cancel) in order to reach an outcome that is realistic (large world wars between two allied blocs). In this view, defensive pacts are used to abstract the complex diplomatic games that can't properly be represented in the mod.
 
Perhaps it would be enough to address the one corner case where the war is prompted by a world congress decision. I was expecting some war declarations when I refused to give the Dutch back their city, I just wasn't expecting the sheer volume of declarations of war that followed, and particularly the ones from my defensive pacts with some world congress members that led to them voting for Dutch city restoration and then also declaring war on both the Dutch and me (and each other, subsequently, through other defensive pact triggers) when I refused. Personally when I play this game or any game, I just want transparency and I hate reloading turns with spoiler knowledge just to "fix" unintended consequences like this, so I'd be happy with some kind of notification added to the screen where it currently says something like "failure to hand back the city may cause congress members to declare war on you" and amend it to say that your defensive pact partners will respond accordingly (or not, if it is changed as I think it should be).
 
Last edited:
I already said that in this case the civs attacking you over the refused Congress decision should cancel their defensive pacts with you before declaring war.
 
Great, would you consider adding a notification to the congress accept/refuse prompt as well? A short reminder that you will nullify your pacts by refusing the decision would be nice to have so it’s not confusing for a player encountering that interaction for the first time.

I do find it interesting that your other pact partners would still declare war in response to everyone in the congress declaring war on you, so you’d still get a bit of a cascading bloc effect, including the possibility of some congress members ending up at war with each other by the end of it all. At least this way that should happen a lot less often.

Honestly, the more I think about this, if there’s no way to check the foreign adviser screen when I get that congress accept/refuse prompt (I don’t remember and am traveling for Christmas), I’m just going to give the city back instead of risking all the chaos and uncertainty that would come with the war dec cascade. As another poster said earlier, I’ll also probably avoid signing defensive pacts and be super careful about how I declare wars once a bunch of AIs have them with each other. It’s kind of unfortunate because I liked offering defensive pacts for the additional attitude modifier to try and get a friendly civ to the peace vassal threshold, but now that I better understand how they work, it’s too much of a risk to safely take in my opinion.
 
Last edited:
Vanilla Civ IV has a feature called "Permanent Alliance" that I believe is similar to the way that DoC's defensive alliances work. If I understand them properly**, civilizations in such an alliance are welded to each other in a way that forces them to go to war whether their partner acts offensively or is on the receiving end of aggression. But it seems to be more than that, too, as the documentation refers to sharing technologies and resources as well.

The best situation, FWIW IMO, would be a diplomatic game that featured both defensive alliances and permanent alliances (shorn of the tech and resource sharing) as options, for this would give more flexibility to players and create more granularity in foreign relations. As a player, I would never sign a permanent alliance with an AI (for the reasons I've tiresomely rehearsed above), but they would be an interesting complication leading to interesting results if the AI used them. Vanilla defensive alliances are the most advantageous from a player POV, though.

I do worry that large world wars would stop happening, though.
That is the trade-off. Do you want a game where massive world wars can break out with reasonable frequency, or do you want a game where the player can forge defensive pacts without the risk of tying themselves to an AI that suffers a psychotic break and declares war against every great power in Eurasia?

** I am going off the documentation. Civ IV's World Builder isn't a twentieth as good as the Leoreth built into DoC, so it's a lot more fiddly to check these things in game situations.
 
Save attached. There are a few reasons why this outcome doesn't make sense to me:

1. The asymmetry of it. To all the civs at war with me, due to their relative positions on the scoreboard, Japan is considered to be in the lStronger group, and therefore they're receiving zero foreign stability penalty for Japan's negative attitude toward them. In fact, they're probably getting a net stability bonus because their relative equals include their war allies and they're stacking up a bunch of mutual military struggle modifiers. We're all at war and our total power counting my vassals is fairly close, why is the stability impact so lopsided?
2. The potential for abuse of the way the lEqual group is defined. Now that I know that it will always be a certain number of civs, one easy solution to this problem, without changing the code, is to get one of my peaceful vassals into the group. In this example, all I'd need to do is gift Mexico some more cities and tech and they would easily have the 1400 score needed. Then their +100 attitude would cancel out all the warring civs, and in times of peace would probably keep me at stable all by itself. In other scenarios, I know that I can safely declare war on a civ in the lWeaker group because the stability penalty is capped, and to avoid declaring war on a civ in the lEqual group accordingly.
3. It makes playing this kind of world war scenario much less fun. This is partly my fault for not understanding ahead of time how this would work, but after all the war declarations my thinking was "how do we win this war without losing cities in North America, or having vassal Spain eliminated when my forces are all in southeast Asia and the Americans just teched to Battleships vs my Cruisers" not "how do I sign peace ASAP with everyone in the lEqual group and avoid capturing their cities so my stability doesn't suffer". I was having a lot of fun playing out the war turns and felt that I had just broken the Americans with an amphibious fork of Washington and Philadelphia, when I checked the stability adviser and realized that no, I was actually in danger of just collapsing and effectively losing the game.
I checked this save, and noticed there was a rounding error (Python rounds down instead of toward zero, leading to more negative values), which made a difference of -14 instead of -21 in your equal group. I think that's already significantly less punishing. I also included a cap that excludes extreme values from vassals.
 
It is perfectly fine to use a mechanic that is not by itself very realistic (defensive pacts that do not cancel) in order to reach an outcome that is realistic (large world wars between two allied blocs). In this view, defensive pacts are used to abstract the complex diplomatic games that can't properly be represented in the mod.

At the risk of adding to the designer's burden, it seems like the kind of thing best handled by multiplying diplomatic possibilities. If treaties are necessary to create "complex diplomatic outcomes that can't be properly be represented in the mod" then maybe the solution is to create more types of treaties.

Some possible ideas:

1. Protectorate: The guarantor is required to declare war on any third party that attacks the obligee. It is cancelled instantly if the obligee declares war on any other party. The declaration is unilateral (and can be cancelled at any time unilaterally) and does not require any agreement on the part of the obligee.

2. Guarantee: The guarantor is required to declare war on any third party that attacks the obligee. If the obligee declares war on any other party, the guarantor is given the option of instantly cancelling the guarantee before any other diplomatic effects are taken; if the guarantee is not cancelled, then the guarantor must also attack whomever the obligee attacked.The declaration is unilateral (and can be cancelled at any time unilaterally) and does not require any agreement on the part of the obligee.

3. Defense pact: A mutual protectorate. Both parties agree to declare war on any third party that attacks either partner. It is cancelled instantly if either party declares war on any other party.

4. Vassal: A mutual protectorate, with the proviso that one partner (the vassal) is unable to attack any third party.

5. Confederation: A mutual protectorate, with the proviso that neither partner is able to attack a third party.

6. Alliance: An agreement to attack a third party, and a mutual promise to attack any other party that either partner finds itself at war with, regardless of the cause of the war. [Basically, "Will you declare war on X alongside us?" plus DoC's defensive alliance logic.]

7. Non-Aggression Pact: Both parties are forbidden from declaring war on each other for a set term of time (as in a war-ending Peace Treaty). It is cancelled immediately if either party attacks an obligee, vassal, confederation partner, or defensive alliance partner of the other, so that the other guarantee can operate. Otherwise, it lasts a certain period of time, like a Peace Treaty.

8. Entente: Both parties are forbidden from declaring war on each other, or upon an obligee, vassal, confederation partner, or defensive alliance partner of the other. Lasts a set period of time, like a Peace Treaty.

The first two are the kind of thing that powers use to mark out their "vital interests," so they will go to war to protect them; the second would be particularly useful in creating the kind of "cascading wars" that players seem interested in preserving. Human players would probably not use them. Rather, a human player would simply enter any war where he felt that his interests were being threatened, even without a one-sided declaration. A "guarantee" diplomatic option would be a way to get AIs to try following a similar logic.

As for the others: Defense pacts are most useful to deter aggressors. Alliances are used to start offensive wars against mutually agreeable targets. Vassals are in the game already; confederations probably wouldn't be worth adding, but they are a conceptual possibility. Non-aggression pacts I think would be of great use to players who prefer a pacific play style. Ententes could be used to build up power blocs (e.g., NATO and the Warsaw Pact), particularly if entente partners were programmed to want to enter ententes with their partners' other entente partners.

Obviously I've no idea how the AI could be programmed to use these, but here's the kind of diplomatic arrangement using these categories that could mimic the cascading effect of the First World War:

1. Britain has a protectorate over Belgium. Russia guarantees Serbia. Germany and Austria guarantee each other, and have ententes with each other. Russia and France guarantee each other. Russia, France, and Britain each have an entente with the other two.

2. Austria attacks Serbia. So Germany attacks Serbia. So Russia attacks Austria and Germany. So France attacks Germany. So Austria attacks France. Germany attacks Belgium, so Britain attacks Germany.

Note that a human player acting as Italy would be able to have defense pacts with Germany and Austria, but these would be cancelled by Austria's attack on Serbia and Germany's attack on Russia. So there could still be useful defense pacts in play for the human (and AI) to use; but the human player would be saved from having to jump into an offensive war (as currently he often must in DoC); and yet there would a realistic (and fun?) cascading war.
 
The AI constantly cancels trade deals every few turns, even if they will literally accept the same trade deal when you reoffer it (or sometimes even give you more favorable terms). I'm not sure if this is WAD but it's fairly annoying to constantly have a renegotiate trade deals (especially in the late game where you can have many of them) almost literally every turn. I'm not sure if there's a way I can provide a useful save for this or anything like that.
 
I frequently got these crashes until one of the latest patches (only when playing on Linux, win7 and win10 worked fine); haven't encountered them since then.
Patches for the game, the mod, or wine? I have 64-bit Wine 4.11 staging and recently updated to 1.16.1 of the mod. I was running into these errors on 1.15, and I think on 1.14, but I don't think I had them on either an older version of the mod or an older version of Wine (a 3.x release maybe?), or maybe a 32-bit version of Wine.
 
Top Bottom