Great People Points explained

Murky said:
One thing that I've been wondeirng about GP is do the techs you have matter at all? For instance if you have Mathematics but few religious/art techs does this help generate Scientist/Engineers over GAs, GMs and GPs?

Techs have no direct effect; they aren't part of the calculations at all.
 
VoiceOfUnreason said:
So what? Specialists don't generate any GP points during Anarchy, so its a waste of time... EXCEPT that the specialists do generate source points during Anarchy.

So if you need to dilute the effect of your Artist wonders, during anarchy take all of your citizens off of the tiles, and use them as Science specialists (or whatever sort of GP you would prefer).

Exactly the same trick works during disorder when you capture a city.

:D That's just funny. But a good idea is a good idea.
 
Xin Yu said:
100 GPP per turn only takes 1 great wonder + 1 small wonder + 7 specialists + national epic, and modifiers of philosophy leader, national epic, pacifism. 7 specialists only requires 3 corns = size 10 city. If you have more wonders then the number of specialists can be reduced further.

Not awfully difficult, at least from the face value.

That could even be done with just 3 floodplains, size 7.
Library, Great Library, National Epic
Caste System, Mercantilism, Pacifism.
100GPP/turn
 
It appears that the game mechanic has changed in BTS.

CvCity.changeGreatPeopleUnitRate is now called with passed the gp rate.


changeGreatPeopleUnitRate(eGreatPeopleUnit, GC.getBuildingInfo(eBuilding).getGreatPeopleRateChange() * iChange);

Which means that the probabilities of GP points are now based on points where they used to be based on sources.

In other words, where 20 turns of oracle plus 20 turns of scientists used to leave you at 50/50, now you are at 40/60 favoring the scientist.
 
It appears that the game mechanic has changed in BTS.

CvCity.changeGreatPeopleUnitRate is now called with passed the gp rate.


changeGreatPeopleUnitRate(eGreatPeopleUnit, GC.getBuildingInfo(eBuilding).getGreatPeopleRateChange() * iChange);

Which means that the probabilities of GP points are now based on points where they used to be based on sources.

In other words, where 20 turns of oracle plus 20 turns of scientists used to leave you at 50/50, now you are at 40/60 favoring the scientist.

That's a major change. I don't know if it's better now or if it was better before. It does mean that such small wonders like the Globe Theatre and the National Epic don't ruin your great person farm as badly with great artist influence as before.
 
That's a major change. I don't know if it's better now or if it was better before. It does mean that such small wonders like the Globe Theatre and the National Epic don't ruin your great person farm as badly with great artist influence as before.

On the other hand, it really ruins your choice if you used several engys for a few turns to speed up a building, or several merchants for a quick income.

I guess theres no "better": if you plan ahead, based on the correct formula, you can always get the results you want, one way or another.
 
On the other hand, it really ruins your choice if you used several engys for a few turns to speed up a building, or several merchants for a quick income.

I guess theres no "better": if you plan ahead, based on the correct formula, you can always get the results you want, one way or another.

Reading your post, I started wondering about another strange effect of the great person generation. Namely that the chance of a certain type of great person is determined by the chances of the various great persons in a turn and then averaging it over the turns instead of just averaging it over all of the various great person points that have been generated.

It was so that if you used one engineer for 19 turns and then 19 artists during one turn, then the chance of a great engineer was 95% (19 turns with 100% engineer, 1 turn with 100% artist). Will it now be 50% (19 out of 38 specialists used were engineers)?

Do you know, VoiceOfUnreason?
 
It was so that if you used one engineer for 19 turns and then 19 artists during one turn, then the chance of a great engineer was 95% (19 turns with 100% engineer, 1 turn with 100% artist).

From the time that I started looking at this, that wasn't so. The comments you'll find scattered about CFC indicate that many people thought that it had been this way. Maybe it was, once upon a time.

I'm very certain it hasn't been that way since I started paying attention to this code. I don't know for sure when that was, but a quick search shows that was at least a year ago.

Anyway, for the last year and change, the answer has been 50-50.
 
From the time that I started looking at this, that wasn't so. The comments you'll find scattered about CFC indicate that many people thought that it had been this way. Maybe it was, once upon a time.

I'm very certain it hasn't been that way since I started paying attention to this code. I don't know for sure when that was, but a quick search shows that was at least a year ago.

Anyway, for the last year and change, the answer has been 50-50.

That's indeed new for me. The War Academy article that's based on this thread and the first post in this thread still mention the old formula based on the number of turns and thus the 95-5 result. It should be updated.

Thanks for the information. :goodjob:
 
Once the threshold is reached and a great person is generated, the city "forgets" which types of sources there had been before and starts anew. So if you hire a scientist to produce a great scientist, and after generating that great scientist remove the scientist specialist and hire a priest instead, you will have a 100% chance of getting a great prophet as the next great person, since the city will have forgotten that there had been a great scientist source in the city during the previous cycle.

Does the excess GPP from the previous cycle have a source?
 
Just looked at the code, some excerpt how buildings calculate great people rate:
The change for base is exactly the same as the great people type.
Code:
changeBaseGreatPeopleRate(GC.getBuildingInfo(eBuilding).getGreatPeopleRateChange() * iChange);

if (GC.getBuildingInfo(eBuilding).getGreatPeopleUnitClass() != NO_UNITCLASS)
{
	eGreatPeopleUnit = ((UnitTypes)(GC.getCivilizationInfo(getCivilizationType()).getCivilizationUnits(GC.getBuildingInfo(eBuilding).getGreatPeopleUnitClass())));

	if (eGreatPeopleUnit != NO_UNIT)
	{
		changeGreatPeopleUnitRate(eGreatPeopleUnit, GC.getBuildingInfo(eBuilding).getGreatPeopleRateChange() * iChange);
	}
}

The selection of the born person is proporational to the rate:

Code:
int iTotalGreatPeopleUnitProgress = 0;
for (int iI = 0; iI < GC.getNumUnitInfos(); iI++)
{
	iTotalGreatPeopleUnitProgress += getGreatPeopleUnitProgress((UnitTypes)iI);
}

int iGreatPeopleUnitRand = GC.getGameINLINE().getSorenRandNum(iTotalGreatPeopleUnitProgress, "Great Person");

UnitTypes eGreatPeopleUnit = NO_UNIT;
for (int iI = 0; iI < GC.getNumUnitInfos(); iI++)
{
	if (iGreatPeopleUnitRand < getGreatPeopleUnitProgress((UnitTypes)iI))
	{
		eGreatPeopleUnit = ((UnitTypes)iI);
		break;
	}
	else
	{
		iGreatPeopleUnitRand -= getGreatPeopleUnitProgress((UnitTypes)iI);
	}
}

Thus, sources are not just counted by multiplied by their respective value. Hence it works like it shall be naturally expected.
-----
Note: that's the code provided w/ 3.19
 
Hmm no, oracle is 2 GPP, spec is 3GPP, right;
so assuming they have started together: you get 2/5 odds for prophet and 3/5 for scientists.
Why would you think of 2/3 odds?!
 
Thus, sources are not just counted by multiplied by their respective value. Hence it works like it shall be naturally expected.
-----
Note: that's the code provided w/ 3.19


Right. The mechanic changed in some patch, I think the first version of BTS. Now, the birth chance is based on the total points for each type, not the number of source-turns for each type.
 
Back
Top Bottom