Science Spread

Science Spread 1.0.3

Also this mod is a great work. Can it combined with other research mods like "real science pace"? Recently i ended up (with this mod and real science pace) in turn 250 of 1500 (marathon game) entering the middle ages, found it far too quick... I thought now to combine both with "slower techs 2x" but I'm afraid they gonna inflict with each other?
 
if you want to have longer game you can modify ScienceSpreadData.sql

it multiply every tech cost by 2.5 and every civic cost by 2, just change these number as you wish, other mods should not conflict.
 
I gathered some experience with this mod on ynamp giant earth, unfortunately it's not exactly working as I hoped. The idea i'd like to apply is similar to the idea of science spread in Realism Invictus (civ 4): those areas with a lot of civs like Europe/Mediterranean area is easily ahead of other areas because of their huge science spread while other areas with less civs (like America) will be less developed, same for somehow isolate distant civs. One could argue a lot about the question why the Western World became ahead in science in real world history, but the results of such mechanics like described fit better to "real world history".
But as it works right now, civs like Tibet (with less neighbors) can easily be the most developed civ while small civs in Europe (with a lot of neighbors) fall behind in techs and research. So my idea is 1st to raise science cost a lot more and 2nd to give huge discounts on science spread to make science transfer a decisive factor in science/research and development. For this i have 2 questions:

1) in sciencespread.lua i found something which i thought to be the core of science spread mechanics:

"if playerTech:CanResearch(iTech) and Value < TechCost then
SetResearchProgressToValue( Value, iTech, playerID, true );
elseif Value < TechCost * 0.9 then
Value = Value - Round( ScienceSpreaded/2 );
SetResearchProgressToValue( Value, iTech, playerID, true );
elseif TechCost * 0.9 > playerTech:GetResearchProgress(iTech) then
Value = math.ceil( TechCost * 0.9 );
SetResearchProgressToValue( Value, iTech, playerID, true );"

Which values do I have to adjust, if I want a higher discount on science spread? What I see in front of me looks like a 10% discount. How to set values for e.g. 25% or even 50%?

2) do Science Spread Discounts accumulate, if e.g. 2 neighboring civs have the same tech already, and is there a cap for science spread discounts?
 
I think I found the answer for question 2) in ScienceSpreadScripts.lua - the "techSpreadCap" is set to "techCost * 0.8" meaning tech costs can't get cheaper than 80% of the original cost? I think I'll try just to lower this discount cap for the effect I hope to see
 
Hi,

My mod give science every turn, the var you are looking for is surely ScienceSpreaded = Round( TechCost/200 + TechCost/700 * CityMultiplier + TechCost/700 * iAccessLevel ); at line 55 and 79 for civics

it means that every turn for each neighbor and each tech you don't have that they have you gain 1/200 of the tech cost + 1/700 of the tech cost for each city of this player at less than 10 plot of distance of each of your cities + 1/700 of tech cost * your access lvl

so you could just change these value the line you mentioned mean that you gain science :
if you can research the tech and that you have less than 90%
or
if you can't research it and have less than 90% of it you gain half the science

the techSpreadCap mean my mod doesn't change the science if you have already 80% or more

if you remove the 80% limit think to remove the 90% limit from the other file, if not you would be stuck at 90% of every tech until you have enough science to one shot it
and you could have multiple science complete at once it should be ok.

I didn't tried it but I modified it so the limits are off, if you want to try
 

Attachments

Ah I see, well unfortunately I couldn't understand the mod very well, it's quite complicated.
Well I think the cap is fine with 80% then meaning I can have up to 80% discount. I mistook it and thought reasearch spread discount stops after 20% discount. Up to 80% discount is great because one must have in mind also the Eureka boosts which give you additional boosts.
I think my experience with "slow tech spread" (compared to my expectations) comes from the slowing down of science spread if I have less than 90% tech costs left. My idea now is that i should try to double science spread meaning either to change basic values like "TechCost/100 + TechCost/350 ..." or maybe is it possible to remove the 90% limit for gaining only half of the science? (however i didn't have the chance yet to look at the changed values in your attached file)
 
Last edited:
you could just add a *2 on line 55

ScienceSpreaded = Round( TechCost/200 + TechCost/700 * CityMultiplier + TechCost/700 * iAccessLevel ) * 2;

or more as you wish

without this multiplier the maximum number of turn to get a tech or a civic is 156 turn, if you have 1 city neighboring 1 of there city and an access lvl of 0 (I think it's the minimum). If you have 2 city neighboring 2 cities and an access lvl of 1 it would take 83 turn.
 
Back
Top Bottom