Modding research rate relative to city size

Xendance

Chieftain
Joined
Oct 3, 2010
Messages
5
Hi, I'm wondering if there is an attribute that would define how many beakers you get from certain city size. Basically I'm trying to make beaker production exponential (ie (city size)^2 = beakers per turn), which would basically make few bigger cities better at researching rather than multiple small ones.
Of course, the beakers needed for techs would have to adjusted too but that should be rather simple.
Edit: Alternatively, if there already is such a mod, do tell.
 
I don't believe there's a simple way to do it; the game engine and DB only allow for linear, and without fractions per population. What I've considered is doubling (ish) all costs, and making some very cheap buildings that require a city to reach a certain 'level' (population landmarks) before being built, that then add extra science per person. Buildings that add per person are actually more powerful than percentage ones, I believe, because the per person increases the "base" that the sum of percentage bonuses then acts on.

It may be possible to do with some 'deep' Lua, but there's no guarantee that it is possible that I can see. If Lua can add/remove buildings for a city, it might be possible with a once-per-turn loop that looks at a city's population, and switches which of a series of buildings it has on the basis of this.
 
I don't believe there's a simple way to do it; the game engine and DB only allow for linear, and without fractions per population.

Not QUITE true. Yes on the linear part, but there's a way to get around the fraction issue.

In the CIV5Eras.xml file, each era sets a variety of percentages that apply to any game that STARTS at that era. So ResearchPercent=75 means that all techs will cost 75% of the "list" price for the rest of the game. Obviously, an Ancient Era start has most of its percentages set to 100.

So if you wanted to make each population point give 1.25 beakers, you could mimic this just by making ResearchPercent=80. Since most of the +research buildings are multiplicative, they'd all be effectively increased by the same amount. This wouldn't change the balance of the Library, trading post research policy, etc. (since they'd be multiplied by the same 1.25), but you can't have everything. You'd want to multiply the ResearchPercent values for all of the other eras by the same amount, of course, for those people who like starting games in later eras.
This is how people have worked around the integer issue with unhappiness per population. In my mod population gives 1.2 unhappiness (1.6 in conquered cities), and I did this by multiplying all of the PopulationUnhappinessMod values in that file by 1.2.
 
There might actually be a better way to get around the integers: Spawn a maintenance-free (read: can't be sold) building with a negative science per pop in every city.

I think there are yield thresholds for city based on size which would allow you to implement a faster-than-linear increase, but I'm not at home so I can't check
 
Back
Top Bottom