Technology Research Explained....

Arthog said:
I'm not sure i understand that. From Req's article, i understood that the "number of civs" modifier was applied to the generated beakers, not the cost of the tech (and that is indeed the result i get in my saves).
If we use 1 scientist, we generate 3 beakers, then multiply by the number of civs modifier (between 1 and 1.3), and take the floor...which still gives 3. So the number of turns should not change, whatever the number of civs who knows the tech.

Thanks though for the idea...for the test described above, i set the research slider to 0, and then used from 1 to 8 scientist specialists to get a controlled amount of beakers.

Oh, yes, you're right. I forgot about the rounding down (floor) in the formula (stupid me). If you're actually researching a tech, then it is easier to attain the factor because you can look at the quotient of the number of beakers that are actually added in a turn and the number of beakers that were invested in a technology.

If you aren't researching a technology than using multiple scientist (or artists who produce 1 beaker) can allow you to find the factor after some calculations. After a certain amount of scientists added, you can see that the actual research time doesn't match with the research time that you should get if no research bonus is added (I guess that is what you did). It's probably too much work for most people to find the number of civilizations that know a technology through such cumbersome calculations.
 
Roland Johansen said:
If you aren't researching a technology than using multiple scientist (or artists who produce 1 beaker) can allow you to find the factor after some calculations. After a certain amount of scientists added, you can see that the actual research time doesn't match with the research time that you should get if no research bonus is added (I guess that is what you did). It's probably too much work for most people to find the number of civilizations that know a technology through such cumbersome calculations.

Yes, that's about what i did, and as you, i do not think it is worth doing it outside of a test. Too much calculations for such a small piece of information.
 
Arthog said:
I just looked at such a save, where i am in 1270AD, after a long war while isolated on a small island with one other civ. That civ is destroyed, and i met Victoria recently. Setting is Monarch, standard size, normal speed, 7 civs.

Everything seems to go as Requies said: for exemple, i skipped researching Meditation...which at such a late date, i expect more than one AI to have. However, the "number of civ" modifier is clearly 1.04, as should be expected from "1 known civ out of 7 starting civs knows the tech".

As a side note: i wonder if dead civs count or not? My destroyed neighbour was even more backwards than me, so i can't check on this save...but what would happen if he had researched Meditation before his death? Would the modifier be 1.04 or 1.08?

Actually, if you have the savefile, I could take a look and see (I have my ways, :mischief:). Unfortunately, it looks like there's a limit to civfanatics if you wanted to upload it, but if you could make it available through another website (or if the zip fits - it would need to be < 500K), I could look into it and confirm if the dead civ really does alter it or not.

Req
 
Ok, here is the save file. I don't know if the dead civ had any tech i have not researched yet though.
The save is from the turn after i finished researching Alphabet, so there is an overflow in beakers from last turn.

By the way, i found amusing that the tip i received when loading that file, after reading this article, was along the way "do not research too much into one tech branch, as not researching older techs can slow you down". As if Firaxis was saying: "Ok, now that you know about the prerequisite thing, we can give you that one."
 
Arthog said:
Ok, here is the save file. I don't know if the dead civ had any tech i have not researched yet though.
The save is from the turn after i finished researching Alphabet, so there is an overflow in beakers from last turn.

By the way, i found amusing that the tip i received when loading that file, after reading this article, was along the way "do not research too much into one tech branch, as not researching older techs can slow you down". As if Firaxis was saying: "Ok, now that you know about the prerequisite thing, we can give you that one."

Ok, got it. If you want to delete the savefile, you can.

Also, the article is updated.

Short version. Dead Civilizations do NOT contribute to the modifier.

Thanks for your idea and save game!

Req
 
Requies said:
Short version. Dead Civilizations do NOT contribute to the modifier.

Thanks for your idea and save game!


Thanks for the quick update, and that awesome article.
 
Finally read it. You've done great work !

What's bigger: your satisfaction solving this problem or your anger that Firaxis
couldn't make technology clear and simple and yet deep ?
So now we must calculate the different bonussus for the techs and MM-ing
the overflow... ( in dutch we call mm-ing 'mierenneuken', = 'ant***-ing').

Thanks for clearing the origin of the extra beakers :goodjob:

Asperge
 
Asperge said:
Finally read it. You've done great work !

Thank you.

Asperge said:
What's bigger: your satisfaction solving this problem or your anger that Firaxis
couldn't make technology clear and simple and yet deep ?

Well, neither one is that big, so I'd have to say they're the same. What I'm more angry at w/ Firaxis is their lack of documentation for modders and their haphazard way of allowing access to certain parts of the code.

Asperge said:
So now we must calculate the different bonussus for the techs and MM-ing
the overflow... ( in dutch we call mm-ing 'mierenneuken', = 'ant***-ing').

Thanks for clearing the origin of the extra beakers :goodjob:

Asperge

Yeah, the MM-ing is a pain. Hopefully, they can "fix" it so that it and production don't require MM-ing.

As is, for the milkers and perfectionists, MM-ing is still a must....

Req
 
Requies said:
As is, for the milkers and perfectionists, MM-ing is still a must....

The available benefit from manipulating the overflow looks pretty modest, to me. My impression is that, in most cases, you would probably be better off just finishing the current research one turn sooner, than trying to arrange for a large overflow.
 
My hat off for you, Requies.
What a nice work!

I think there is a typo in the example, it says...
FLOOR (FLOOR ((37 + 1) * (1 + RDDW (0.30 * 3 / 7))) * (1 + 0.2 * (0.2 * 0))
...and it was meant to say...
FLOOR (FLOOR ((37 + 1) * (1 + RDDW (0.30 * 3 / 7))) * (1 + 0.2 + (0.2 * 0))
...I guess.
 
DaviddesJ said:
The available benefit from manipulating the overflow looks pretty modest, to me. My impression is that, in most cases, you would probably be better off just finishing the current research one turn sooner, than trying to arrange for a large overflow.

Actually, in v 1.52 the overflow problem has apparently been fixed for production, so it might have been fixed for research.
 
Krikkitone said:
Actually, in v 1.52 the overflow problem has apparently been fixed for production, so it might have been fixed for research.

Ok, just upgraded to v1.52 after finishing the GoTM, and this has NOT been changed.....

So, everything is still valid.

Req
 
There is annother factor that you missed - team penalties.

For each additional player in your team, there is a 0.5 (or 50%) penalty added to the Difficulty Modifier.
This makes the final formula as follows:

Technology Cost = FLOOR (FLOOR (FLOOR (Base Cost * (Difficulty Modifier + Team Penalty)) * Map Modifier) * Speed Modifier)

With this formula, you can find the following:

(Noble has a difficulty modifer of 1, so...)
On Noble, a team of 2 yeilds 33.3% more research than a Solo Noble game.
On Noble, a team of 3 yeilds 50.0% more research than a Solo Noble game.
On Noble, a team of 4 yeilds 60.0% more research than a Solo Noble game.
On Noble, a team of 17 yeilds 88.8% more research than a Solo Noble game.
On Noble, a team of infinity yields nearly 100% more research than a Solo Noble game.

(Diety has a difficulty modifier of 1.3, so...)
On Deity, a team of 2 yields 44.4% more research than a Solo Deity game.
On Deity, a team of infinity yields nearly 160% more research than a Solo Diety game.


Compare this to noble -- the deity research penalty is lessened by being in a team, because of the way the formula works!)


What can be learned from this:
1) If you have a LAN party, it's more profitable to NOT be a team, and instead get a permanate alliance very late in the game. One person should to Alphabet, and the other person should get other technologies. When you meet eachother, continue to get seperate technologies and gift them to eachother when they are completed. Because it requires so much communication, I wouldn't reccomend it except on a LAN.

2) Two players who are at peace but not a team (the LAN party idea from #1) can beat the technology research of a team of 16 players. This means that you can win a 2v16 in a space race. Because research is so important, you could win a 3v15 using the same tactic with any type of victory condition. Using that tactic, you would have a 200% research boost, but the 15 player team would have only a 88.2% research boost.

3) If you choose a partner that can't match half as much research as you, then, because of the Team Penalty, he is actually hindering your science. In a team of two, both players need to be researching like they do in single player games.

4) The Difficulty Modifer is added only once per TEAM, and not per PLAYER. This lessens the effect of the difficulty modifer. Deity mode is still hard, though. :)




If you could quote me, and put this on the first page, that would be nice. :)

Requies said:
Like almost all other aspects of the game, it's a tradeoff. If you beeline for a tech, it means that your research will have the least bonuses possible. However, you DO get the benefit of that tech quicker as well as the advantage of having that tech when others do not.

Yep. The benefits of beelining are generally worth the missed techs AND the small loss of beaker bonuses. Most likely, the bonuses are to BALANCE beelining (it was pobably overpowered), not to NERF beelining.

One thing that is still overpowered is beelining to Alphabet, because missed techs are not nearly as much of a problem because you can trade for them afterwards.

Requies said:
And I really don't understand why they put in the +1 beaker when THEY DON'T USE IT IF YOU HAVEN'T FOUNDED A CITY.
Haha, yea, it doesn't really make sense, but there are a few times it is used:
-When you are in anarchy.
-When you have 0% science and have no beakers from specialists.

It is one way to get rid of "integer divided by zero" errors.

What I would have done is to make my OWN dividing function, and to make an exception for zeros. When dividing by zero, I would print "???" instead, to show that you have no research beakers. It's really annoying when it gives unrealistic estimates when you are in anarchy.
 
LordTerror said:
There is annother factor that you missed - team penalties. The formula is as follows...

T = 0.5 + 0.5N

...where N is the number of players and T is the Team Modifier

As N (the number of players) approaches infinity, T/N (the ammount of reseach required per player to get a tech) will become closer and closer to .5. Basically, this means a team of an infinate number of players will reseach technologies only TWICE as fast as a single player.

A team of 2 yeilds 33.3% more research.
A team of 3 yeilds 50.0% more research.
A team of 4 yeilds 60.0% more research.
...
A team of 17 yeilds 88.8% more research.
...
A team of infinity yields nearly 100% more research.


What can be learned from this:
1) If you have a LAN party, it's more profitable to NOT be a team, and instead get a permanate alliance very late in the game. One person rushes to Aphabet, and the other person gets other technologies. When you meet eachother, continue to get seperate technologies. Because it requires so much communication, I wouldn't reccomend it except on a LAN.

2) Two players who are at peace but not a team can beat the technology research of a team of 16 players. This means that you can win a 2v16 in a space race. Because research is so important, you could win a 3v15 using the same tactic with any type of victory condition. Using that tactic, you would have a 200% research boost, but the 15 player team would have only a 88.2% research boost.

3) If you choose a partner that can't match half as much research as you, then, because of the Team Penalty, he is actually hindering your science. In a team of two, both players need to be researching like they do in single player games.



If you could quote me, and put this on the first page, that would be nice. :)

Ah. I didn't do any research related to teams since I don't play teams :lol:.

I will quote you on this if you can clear up some things for me:

1) What exactly is the factor? Is it T = 0.5 + 0.5N (because that would mean that a 0.5 multiplier would be added for every new team member).

2) Where does this factor fit into the formula?

3) Does the modifier and/or the product of the modifier and whichever part it multiplies get floored?

LordTerror said:
Haha, yea, it doesn't really make sense, but there are a few times it is used:
-When you are in anarchy.
-When you have 0% science and have no beakers from specialists.

It is one way to get rid of "integer divided by zero" errors.

What I would have done is to make my OWN dividing function, and to make an exception for zeros. When dividing by zero, I would print "???" instead, to show that you have no research beakers. It's really annoying when it gives unrealistic estimates when you are in anarchy.

Ah, I guess that would make sense.....

Thanks,
Req
 
I found some other things that can be changed:
-All of your XML file paths are wrong (they are in the Assets\XML\GameInfo folder). The patch probably moved them.
-You are missing Marathon speed. It was added in the patch.
-The Word Size factors have changed in the patch.

Requies said:
I will quote you on this if you can clear up some things for me:

1) What exactly is the factor? Is it T = 0.5 + 0.5N (because that would mean that a 0.5 multiplier would be added for every new team member).

2) Where does this factor fit into the formula?

3) Does the modifier and/or the product of the modifier and whichever part it multiplies get floored?

1) T = 0.5 + 0.5N is the factor. Because the factor is added (see #2), you can just add Base*0.5*(N+1)*Speed Factor

2) It modifies the ammount of beakers required, so it changes the Technology Cost (insead of the beakers per turn formula). I did a bit of testing. On a Normal Duel map, Fishing went from 40 to 46 when I changed from Normal to Monarch. When I did the same thing but added a teammate, it went from 60 to 66. After a bit of thinking, I realized it couldn't be multiplied and produce numbers like that. It appears that it is an added factor, not multiplied, which is strange because all of the rest are multiplied.


The final formula is the following:
Technology Cost = FLOOR (FLOOR (FLOOR (Base Cost * Difficulty Modifier) * Map Modifier) * Speed Modifier) + Base Cost * 0.5 * (Number of Player +1) * Speed Modifier

3) Because the factor is added (see #2) and the Base Cost is always even, it does not need to be floored.

Edit: I edited my orginal post with the new info, and an additional use for it. Oh and BTW, thanks for this awesome guide! :)
 
LordTerror said:
I found some other things that can be changed:
-All of your XML file paths are wrong (they are in the Assets\XML\GameInfo folder). The patch probably moved them.
-You are missing Marathon speed. It was added in the patch.
-The Word Size factors have changed in the patch.

Ok, I might just remove the speed and World Size factor information as they will probably keep changing with each patch. Thanks for the headsup.



LordTerror said:
1) T = 0.5 + 0.5N is the factor. Because the factor is added (see #2), you can just add Base*0.5*(N+1)*Speed Factor

2) It modifies the ammount of beakers required, so it changes the Technology Cost (insead of the beakers per turn formula). I did a bit of testing. On a Normal Duel map, Fishing went from 40 to 46 when I changed from Normal to Monarch. When I did the same thing but added a teammate, it went from 60 to 66. After a bit of thinking, I realized it couldn't be multiplied and produce numbers like that. It appears that it is an added factor, not multiplied, which is strange because all of the rest are multiplied.


The final formula is the following:
Technology Cost = FLOOR (FLOOR (FLOOR (Base Cost * Difficulty Modifier) * Map Modifier) * Speed Modifier) + Base Cost * 0.5 * (Number of Player +1) * Speed Modifier

3) Because the factor is added (see #2) and the Base Cost is always even, it does not need to be floored.

Edit: I edited my orginal post with the new info, and an additional use for it. Oh and BTW, thanks for this awesome guide! :)

Ok, so this is a change in TECHNOLOGY COSTS, right? Ok. that makes more sense :D. Wouldn't the modifier be 0.5 * N (where N is the number of teammates a player has) or am I completely misunderstanding you? So, Fishing with no teammates on Noble/Duel/Normal would be:

FLOOR (FLOOR (FLOOR (40 * 1.0) * 1.0) * 1.0) + 40 * (0.5 * 0) * 1.0 = 40

While Fishing with a teammate on Monarch/Duel/Normal would be:

FLOOR (FLOOR (FLOOR (40 * 1.15) * 1.0) * 1.0) + 40 * (0.5 * 1) * 1.0 = 46 + 20 = 66

Also, is it the map modifier which affect the teammate technology cost? Or is it the speed modifier? (Or is it both?)

You say map modifier in your text, but in your formula you have speed modifier.

Thanks for the clarification!
Req
 
From a programming standpoint, it doesn't make sense to use FLOOR three times in one expression.
Could you test to make sure all three FLOORs are used? Most often (in my experience) only the outtermost expression is floored (and that's only because some programs store numbers as integers instead of a floats or doubles).

Requies said:
Ok, I might just remove the speed and World Size factor information as they will probably keep changing with each patch. Thanks for the headsup.
Nah, just update them. They are a nice refrence. :)



Requies said:
Wouldn't the modifier be 0.5 * N (where N is the number of teammates a player has) or am I completely misunderstanding you?
Number of teammates = number of palyers in the team - 1

We are both right. ;)

Requies said:
So, Fishing with no teammates on Noble/Duel/Normal would be:

FLOOR (FLOOR (FLOOR (40 * 1.0) * 1.0) * 1.0) + 40 * (0.5 * 0) * 1.0 = 40

While Fishing with a teammate on Monarch/Duel/Normal would be:

FLOOR (FLOOR (FLOOR (40 * 1.15) * 1.0) * 1.0) + 40 * (0.5 * 1) * 1.0 = 46 + 20 = 66
Correct.



Requies said:
Also, is it the map modifier which affect the teammate technology cost? Or is it the speed modifier? (Or is it both?)
D'OH! :blush:

Thanks for asking, I forgot to test the map modifier.

The difficulty modifier does NOT effect it, though. There is an easier way to write it now:

Technology Cost = FLOOR (FLOOR (FLOOR (Base Cost * (Difficulty Modifier + Team Penalty)) * Map Modifier) * Speed Modifier)

I edited the post again.
 
LordTerror said:
From a programming standpoint, it doesn't make sense to use FLOOR three times in one expression.
Could you test to make sure all three FLOORs are used? Most often (in my experience) only the outtermost expression is floored (and that's only because some programs store numbers as integers instead of a floats or doubles).

I agree with you. Unfortunately, that's what Firaxis has done :p. Yes, I tested it, and yes, I didn't believe they would do that, but the beast is what it is.

LordTerror said:
Nah, just update them. They are a nice refrence. :)

Unfortunately, I'm lazy :lol:


LordTerror said:
Number of teammates = number of palyers in the team - 1

We are both right. ;)


Correct.

Ok, gotcha.


LordTerror said:
D'OH! :blush:

Thanks for asking, I forgot to test the map modifier.

The difficulty modifier does NOT effect it, though. There is an easier way to write it now:

Technology Cost = FLOOR (FLOOR (FLOOR (Base Cost * (Difficulty Modifier + Team Penalty)) * Map Modifier) * Speed Modifier)

I edited the post again.

So, the map modifier DOES affect it then?

Req
 
Top Bottom