The "Other" cultural victory

MRX

Chieftain
Joined
Nov 16, 2001
Messages
7
I like the religious victory which has been discovered in this thread, but I also noticed an additional cultural win condition in there.

Code:
<VictoryInfo>
	<Type>VICTORY_RELIGIOUS</Type>
	<Description>Religious Victory</Description>
	<Civilopedia>TXT_KEY_VICTORY_DIPLOMATIC_PEDIA</Civilopedia>
	<bTargetScore>0</bTargetScore>
	<bEndScore>0</bEndScore>
	<bConquest>0</bConquest>
	<bDiploVote>0</bDiploVote>
	<bPermanent>0</bPermanent>
	<iPopulationPercentLead>0</iPopulationPercentLead>
	<iLandPercent>0</iLandPercent>
	<iMinLandPercent>0</iMinLandPercent>
	<iReligionPercent>51</iReligionPercent>
	[B]<CityCulture>NONE</CityCulture>
	<iNumCultureCities>0</iNumCultureCities>
	<iTotalCultureRatio>0</iTotalCultureRatio>[/B]	<VictoryMovie></VictoryMovie>
</VictoryInfo>

For a normal cultural victory the CityCulture needs to be legendary, and iNumCultureCities is three. So what's that iTotalCultureRatio variable for? My guess is if you have a certain % of the total culture of the world you win a victory; kind of like a Civ3 cultural victory.

When I create a VICTORY_CULTURE section, and place a number in iTotalCultureRatio like 50, and then start a new game, I see a new entry on the victory conditions screen - 0% of culture. That doesn't sound quite right, I was after 50% - it should be telling me I need to earn 50% of culture, not that I need to *earn* 0%. Letting the game run until I have higher than 1% of culture doesn't earn a victory either.

I looked around in other places too but I had to admit defeat at this point. Anyone have ideas or want to dig into it themselves ?
 
No, on the victory screen you see what your target is, and where you are in reaching that target. If you have a target of 0% then something isn't working :) .
 
It seems broken to me. At first I cheated myself to lots of culture but it still took quite a while to win. Last game I didn't cheat. I still won very early. Or, I got a popup saying I won. The game screen says Isabella won. She have one more culture than me and we're not the only civs around - the others should have atleast half our culture each. iTotalCultureRatio was set to 50.

When I win if I have met others it will say over 95% of Culture. If I haven't met others it will say 0%.
 
It sounds like you're getting ratio and percentage confused.

I'm assuming that by saying "ratio", they mean as in "a 2:1 ratio", or "you have twice as many as the next closest person". Since it says "Total", it may refer to "[x] as many as the rest of the world".

In any event, by setting it to 50, you're setting a 50-1 ratio, which is nigh on unreachable.

I would set it to 2 initially, and then go into worldbuilder and monkey with the amount of culture each civ has, and see when you achieve a victory. That should let you know whether it's referring to next-closest, or to the entire rest of the world.
 
When you start the game, you haven't met others so the game basically disables this as the win condition until you meet other civs.
Here is the formula:

(100.0 * bestCulture) / victory.getTotalCultureRatio()

bestCulture is the highest culture of the opponent team that you have met. victory.getTotalCultureRatio() is the value in XML. higher value means it's easier to win. in laymen terms, this translates to total culture needed to win = (x^2)/y, where x is bestCulture and y is ratio.

This is why it's broken. bestCulture always starts at 0. So you can win at 1 culture. If you start a city on the first turn, the bestCulture will stay at 0 since you haven't met anyone, but you will start to earn culture. In ten turns, you will get the Victory popup.

Even if you made a check for this, the equation is very questionable. At the beginning of a game, it's very easy to jump ahead of your nearest neighbor in terms of total culture. But if you miss the chance, then it becomes harder and harder to win this way. You need to match the square of your opponent's culture.

In short, the ratio works against both conditions. With a low ratio, it makes the early game harder and the late game impossible. With a high ratio, the early game is extremely easy, but still doesn't make the late game into possibility.
 
Thanks for the info all.

I started a game and set the number of opponents to 1, and the iTotalCultureRatio to 50. At no point in the game did I meet the other civ.

My culture climbed up to 50 points. Next turn it hit 57. And the turn after that, I win a cultural victory. What gives ? Is the "50" in the xml simply a numerical value ? Or is it like ChineseAmerican is describing? Or, did I meet a civ and immediately win, with no indication in-game that I met them ? The latter is most likely I suppose.

I started a second game. 4 opponents, iTotalCultureRatio at 500. I met 3 of my four opponents by the time my culture climbed up to 500. As soon as I started to meet opponents, the value for % of culture started changing. I can only guess it's reporting either the exactly correct figure, or the % based on the civs you have met. In any event, when I reached 500 points I had 50% or so culture. After three more turns, I had still not won the game. So much for a simple numerical point value.

I tried a third game. 4 opponents, ITotalCultureRatio at 75. I suddenly find myself on the losing end - Frederick won an apparent victory in the bottom-of-screen prompt, but I got the credit for winning. How's that for messed up ? Additionally, I had not met *anybody* once again.

The formula :
(100.0 * bestCulture) / victory.getTotalCultureRatio()

So does this then mean :

Game 1
(100.0 * 57) / 50 = 114. > 50 so a win.

Game 2
(100.0 * 500) / 500 = 100. < 500 so no win yet.

Going to try more settler games to find out if I've got it.

What I don't see is how you (ChineseAmerican) make the connection to x^2/y. And what file is that formula in ?
 
the game doesn't declare victory until 11 turns after you meet the conditions.

the game gives the percent you need to win. so to get the total culture you need, you need to multiply by the bestCulture again.

CvVictoryScreen.py ,line 530
 
Chinese American said:
the game doesn't declare victory until 11 turns after you meet the conditions.

Is this only a reference to cultural victory, or are you saying it affects all victory conditions.
 
OK - I think I understand this now.

The victory screen should show you three things : Your goal, your progress, and your opponents progress. The catch is, for this cultural domination victory, the goal is completely different from the other two.

What do I mean ? I won my final game last night by getting exactly 300% of another AI's culture value. This is as expected; I had set the iTotalCultureRatio at 300. And yet the goal part of the screen said 13% of culture.

And the goal kept changing. When I first met the AI player, it said 10% was needed. Then it moved as turns went by until it became 13%, when I won. The designers must have been fiddling with this and tried two approaches, and left each approach half-implemented - a % of worldwide culture, and a multiplier of the highest AI cultural value.

So to make this work, the python for the victory screen probably needs to be rewritten. And an appropriate value for cultural domination determined.

All of my victories were so far back in BC that it was laughable. I started a new game with 600% as the goal, and upped the difficulty to Warlord. Now I'll play through that game and see where I come out next.
 
Top Bottom