Current (SVN) development discussion thread

(2) It is historically realistic - civilizations not in contact with each other should not affect each others' economy. In early game this eliminates unrealistic effects such as Rome's economy affecting that of Japan's. In late game it seamlessly transition into a global economy where everyone affects each other.

what your suggestting is only true if we consider directly affecting. Sorry, but the problem is that what about the nations that said nation has contact with, and those nations that nation has contact with. In the long run, Japan if things are historically realistic will be effected in economic stability by Rome due to the chain of effecting someone's economy, which effects who that nation is in contact, which the same happens to those nations.

Say Rome was negatively effecting Persia, which has contact with India. Persia without this would have an ok economy at this moment. With it, it causes it to cause this to who are valid. Well, India is the only valid nation. It wasnt doing well economically wise, due to a bad war with the Tamil. It just got worse. They are in Contact with Tamil, China, Khmer, and Japan. Of them, only Tamil doesnt have OP. Khmer also is sent into an economic crisis by this, barely doing well due to pure random bad luck. They also have OP with Japan(for this purpose, Japan is player, as only way to see it happen). Now Japan has two nations with OP agreements now causing it to lose stability.

Japan has now lost stability from Rome. In fact, it is now losing more stability then before.

that said, it is a lot harder to do and the means by which it occurs is realistic. but it is unrealistic for them to not be able to effect Japan. they just dont do it directly anymore, but by proxy chain.
 
what your suggestting is only true if we consider directly affecting. Sorry, but the problem is that what about the nations that said nation has contact with, and those nations that nation has contact with. In the long run, Japan if things are historically realistic will be effected in economic stability by Rome due to the chain of effecting someone's economy, which effects who that nation is in contact, which the same happens to those nations.

Say Rome was negatively effecting Persia, which has contact with India. Persia without this would have an ok economy at this moment. With it, it causes it to cause this to who are valid. Well, India is the only valid nation. It wasnt doing well economically wise, due to a bad war with the Tamil. It just got worse. They are in Contact with Tamil, China, Khmer, and Japan. Of them, only Tamil doesnt have OP. Khmer also is sent into an economic crisis by this, barely doing well due to pure random bad luck. They also have OP with Japan(for this purpose, Japan is player, as only way to see it happen). Now Japan has two nations with OP agreements now causing it to lose stability.

Japan has now lost stability from Rome. In fact, it is now losing more stability then before.

that said, it is a lot harder to do and the means by which it occurs is realistic. but it is unrealistic for them to not be able to effect Japan. they just dont do it directly anymore, but by proxy chain.
If you actually understood the framework I proposed, you'll know all that you've mentioned (proxy chain of indirect foreign economic influence) will happen under my framework (with an actually impactful Economic Crisis implementation, of course).
 
Yes, that's really elegant and I like it. I've thought about something like this before but so far attempted to keep the calculation as computationally simple as possible, but that has to be abandoned at some point evidently.

So who would you consider as neighbors? Civs you have contacts with? Or the constant neighbor list?
A constant neighbor list is a good starting point and may even be sufficient for the long run if designed carefully enough, since:

(1) The neighbor list becomes the full civ list after Astronomy anyway - before Astronomy, it's difficult for civs to reach beyond its immediate neighbors anyway.

(2) IIRC neighbor lists already exist for other purposes (AI Wars, mostly, and the old Foreign Stability calculations).

I can pull up the existing neighbour lists to review/modify them to suit the purpose of this Economic Stability calculation if you wish but I'm not on my Windows machine right now.

The one flaw I can think of for fixed neighbour lists, is that often the list will be empty because all the ones on the list who have spawned already had also died already.

In any case, since dynamic neighbour lists will only be used before Astronomy, I don't think they will slow down the turn times much. My games don't slow down until after 1600 AD or so, and I think (based on hints from graphics and Python popups) most of that turn time is spent on AI unit movements.
 
Come to think of it, I think it's necessary to directly represent those civs not in contact with iCiv as well, simply because it's often easy for the Human player to kill every other civ it neighbors or has contact with.

So, let the economic growth rate of iCiv be iRateCiv

let the economic growth rate of iCiv's iNeighbors (based on fixed list or contacts) be iRateNeighbours

let the economic growth rate of the whole world be iRateGlobal

if iNeighbors has >=2 members (at least 1 neighbor of iCiv is alive) and iCiv not HaveTech Astronomy:

Economic Stability of iCiv = iRateCiv - (iRateNeighbours*0.8 + iRateGlobal*0.2) + iSumModifiers

else

Economic Stability of iCiv = iRateCiv - iRateGlobal + iSumModifiers
 
Or you could even make it gradual.

bNeighborWeight = 0.2 * min (5, len (iNeighbors))

if iCiv HaveTech Astronomy: bNeighborWeight = 0

Economic Stability of iCiv = iRateCiv - (iRateNeighbours*bNeighborWeight + iRateGlobal*(1-bNeighborWeight)) + iSumModifiers

i.e. If you have fewer than 4 neighbors, the standard that your economy gets compared with becomes gradually more global.

Still, this hardly accounts for the cases where Human Rome/Persia kills everyone on the map. Or any type of Conquest Victory situation.

I don't think it's easy or necessary to account for the Economy Stability under a Conquest Victory situation (under my framework, any civ approaching Conquest Victory will have their Economic Stability converge towards zero) because:

(1) Conquest Victory never came close to happening IRL so we have no idea how it would be like

(2) Conquest Victory should be checked by other Crisis, most importantly Expansion, and Military

(3) Presumably a player with sufficient skill to attempt Conquest victory will have no problem whatsoever managing a civ's economy

Still, it's up to you to decide. If you wish to model Economic Stability and Crisis under a Conquest Victory situation, some sort of arbitrary parameter (such as a 10% economic growth baseline) will have to be introduced since my parameter-less model will be trivialized as iRateCiv, iRateNeighbors, and iRateGlobal all converge towards each other.
 
Another possibility could be to throw a dummy civ into the calculation of the average growth rates of your neighbors whose previous commerce rate matches your previous commerce rate, while its current commerce rates matches your previous commerce rate +10%. So even with no neighbors, you'd have to match your shadow that achieved 10% growth. The more neighbors, the more the average can deviate from that baseline value, which makes sense.

In any case, since dynamic neighbour lists will only be used before Astronomy, I don't think they will slow down the turn times much. My games don't slow down until after 1600 AD or so, and I think (based on hints from graphics and Python popups) most of that turn time is spent on AI unit movements.
No, dynamically determining contacts doesn't cost us much. Actually my reluctance to do more civ averaging was likely overly cautious as well. Most time of the old stability mechanism was wasted in travesing the entire map counting culture covered tiles, logging unit victories and computing needlessly complicated formulae like for the GNP.
 
Another possibility could be to throw a dummy civ into the calculation of the average growth rates of your neighbors whose previous commerce rate matches your previous commerce rate, while its current commerce rates matches your previous commerce rate +10%. So even with no neighbors, you'd have to match your shadow that achieved 10% growth. The more neighbors, the more the average can deviate from that baseline value, which makes sense.
That is an ingenious device.

But you would need to decide the absolute value of the commerce output of this shadow civ. I suggest it to be around 20% to 40% of iCiv's commerce output.

Say we have 4 civs, A, B, C, D. We are interested in calculating the Economic Stabiliy of Civ A at turn 0. At turn 0 A is in contact with B, C, but not D.

Dummy civ is denoted as A_. The dummy ratio is chosen at 0.3.

Commerce output of civs at turn -10:
A: 10
B: 8
C: 2
D: 10
A_: 10*0.3 = 3

Commerce output civs at turn 0:

A: 13
B: 9
C: 3
D: 15
A_: 10*0.3*1.1 = 3.3

iCiv = A
iNeighbors = [B, C, A_]
bNeighborWeight = 0.2*3 = 0.6
iRateCiv = 13/10*100 - 1 = 30%
iRateNeighbors = (9+3+3.3)/(8+2+3) - 1 = 17.7%
iRateGlobal = (13+9+3+15)/(10+8+2+10) - 1 = 33.3% <= Should the dummy civ be taken into account here? I think it should not.

Economic Stability of iCiv = iRateCiv - (iRateNeighbours*bNeighborWeight + iRateGlobal*(1-bNeighborWeight)) + iSumModifiers
= 30 - (17.7*0.6 + 33.3*0.4) + iSumModifiers
= 6.0 + iSumModifiers
 
I think you're complicating stuff here. The global rate isn't really necessary under this setup. Using your numbers, but setting the commerce of A_ at -10 to be equal to A:

Turn 0:

A = 10
B = 8
C = 2
D = 10
A_ = 10

Turn 1:

A = 13
B = 9
C = 3
D = 15
A_ = 10 * 1.1 = 11

Assuming the neighbors are B and C, consider [B, C, A_]:

iGrowthRate = (9+3+11) / (8+2+10) = 23 / 20 = 15%

A's neighbors here did better than A_'s baseline value of 10% so you have to match 15% instead.

If you instead decide to kill B and C (without coming into contact with D), iGrowthRate would only be determined by A_ and obviously be 10%.
 
nocl.jpg


These notices that other civilizations are in crisis become a problem for later starts .. I needed to stay a while clicking to start the game
 
I think you're complicating stuff here. The global rate isn't really necessary under this setup.
That is quite possible. We'll see.

I still think the dummy civ should go through a weight factor that is <1 though. Around 0.3 or so. Otherwise, it'd be too easy for a large civ (Human player) to completely overwhelm the economic influence of everyone else. Specifically, what I mean is usually what we have in game is something like this:

A = 50
B = 8
C = 2
D = 10
A_ = 50

If A_ is not weighted down by a factor of 0.3 or so it alone will drag iGrowthRate very close to 10% and make the rest of the formula pointless.
 
These notices that other civilizations are in crisis become a problem for later starts .. I needed to stay a while clicking to start the game
Return to a previous revision if you want to play the game unimpeded. The popups are not even the worst thing here, there are no collapses currently which disrupts the whole game balance.

That is quite possible. We'll see.

I still think the dummy civ should go through a weight factor that is <1 though. Around 0.3 or so. Otherwise, it'd be too easy for a large civ (Human player) to completely overwhelm the economic influence of everyone else. Specifically, what I mean is usually what we have in game is something like this:

A = 50
B = 8
C = 2
D = 10
A_ = 50

If A_ is not weighted down by a factor of 0.3 or so it alone will drag iGrowthRate very close to 10% and make the rest of the formula pointless.
That's a good point, but there we go with arbitrary parameters again. Maybe the dummy's influence should be capped at like 50% of everyone's combined commerce.
 
because it is not easy assigning DCN for a nation which has only two names we can draw on for DCN histoircally, and we needed something for monarchy.

Well we have: United States of America, Deseret (running theocracy), Confederate States of America, Kingdom of America (instead of Columbia), American Bund (Fascist), Communist States of America or something to that effect- well that seems enough to me.

It still sounds pretty cool, better than "Kingdom of America."

But it sounds absolutely awful. Laughable, really. Plus DCN's should have at least *some* basis. Where does Empire of Columbia even come from?
 
I like the name Empire of Columbia. It also helps remind us that the civ led by Bolivar is Colombia.
 
It sounds great. Columbia = America's alternate persona. See District of Columbia.
 
Well, Columbia is an allegorical name for the continent of America. Before Uncle Sam became more predominant, it was also often used as personification of the USA in stuff like political caricatures, similar to Britannia and Marianne.
 
I get where it comes from, but that isn't an explanation for the name.

The American Empire is a much better choice; if for no other reason than that it is a real phrase which is used to describe the American state.
 
What Red Boxer said. It's be like "Empire of Brittannia," "Empire of Marianne", or "Empire of Hispania."

On the other hand, "American Empire" seems a lot more realistic and is actually used in official capacity by at least one government (North Korea :rolleyes:).
 
Back
Top Bottom