I've already complimented you guys on this in IRC, but it's truly is a nice implementation!
Were I not already involved in two other game projects, I would be TOTALLY on!
I suggest first that the affect of research is a bit more smoothed. In Pax Imperia: Eminent Domain, each tech you researched slightly reduced the size of ship parts so that you could fit more in a ship. I'm thinking along those lines, although not necessarily for (just?) ship design. Each completion of research in a given field could slightly nudge up output for all planets owned by that player in addition, to some other mild, but cumulative effect. The change should be relative to research points of each tech.Output Bonus
For output increase, the maximum bonus should be determined (i.e., the maximum bonus once all techs in a category are completed) and then multiplied by the current percentage completed. Generally, this can use both a multiplier to existing levels plus a per-population bonus. For example, we decide that once all construction research is completed, the output construction points (CPs?) on all planets will increase by %120. after all other bonuses have been applied for (individual techs, buildings, focus, universal, racial, etc. ) In addition to the +120% of your output bonus, a +25% of your population bonus can be applied -- this gives two leavers for controlling how the bonus will work in each field. You may want to have multiplier, and leave a zero value if their value was already zero. Or, if they aren't able to break the zero barrier (due to their focus or otherwise) you give them the chance to get something via the population bonus. Or maybe you give them nothing on the multiplier, but give them a heafty percentage bonus -- it's a fairly flexible system.
So, to summarize, using the construction category:
float maxCPs = 22f; // presume that the planet is currently able to produce 22
// (pre-bonus) construction points, after accounting for
// primary and secondary focus , techs, structures and
// everything else that now effects this value in the game.
float population = 12.8f;// current popuation on that planet
const float maxCPTechBonus = 1.2f; // When all construction techs are completed,
// output will be 220% original
const float maxCPTechPopBonus = 0.25f;// When all construction techs are completed,
// output will receive an additional bonus of 25% of the population
const float totalRPs = 1300f;// I'm making that number up, whatever the total is
// construction research
float currentConstructionRPs = 120; // Presume I've research 120 RPs worth of construction techs
float progress = currentConstructionRPs / totalRPs; // I'm 9.23% way through researching all
// construction techs
maxCPs += maxCPs * maxCPTechBonus * progress; // Equals 24.437 (a 2.437 bonus)
maxCPs += population * maxCPTechPopBonus * progress; // Equals 24.732 (a 0.295 bonus)
// For a total bonus of 2.732 to construction points
To add even more complication, this bonus cannot be realized immediately. Much like it takes time to build up an industry to its max, it should take time for an industry to modernize, enabling them to reach this maximum potential. The amount of time it takes the to modernize their productivity, should be roughly equal to the time it takes for them to build up an entire industry to its current max. The amount of that bonus is then applied cumulatively, until that instance (on that plent) has been completely modernized, allowing the full bonus to max output. There could also be a gradual financial drain while an industry is going through that modernization process. An industry that is not well built up will have a less modernization expense than one that was build prior to a new tech.
Unfortunately, my sleep meds have informed that that I need to go to sleep and that it's going to screw with my head if I attempt to stay up longer, I hope this is making sense. But here's the summary of how each of those bonuses could be applied to each category of output. Also, please note that my above values are arbitrary, but seemed at least close.
[li]Construction: +construction points & mining[/li]
[li]Economics: +trade & industry[/li]
[li]Growth: +reproduction & food production[/li]
[li]Learning: +research points and <something else>[/li]
[li]Production: +industry and mining[/li]
[li]Ships: Slight increase in ship attributes (e.g., travel speed, hit points, defensive capabilities, total size, etc.)[/li]
In addition, some other type of mild effects should exist for each research relative to a cataloger and then possibly a cross effect to an non-relative categoy/ies
Relative category effects of research
[*]Construction: reduce mineral costs for some producables?
[*]Economics: increase trade money earned in a trade relationship
[*]Production: short lasting (1 or 2 turns) boost in production?
Cross category effects of research
[*]Construction: +growth - increased construction research combined with actual construction of defense systems increases growth (via confidence in defensive systems)
[*]Economics: -growth, possibly leading to a minimum population shrinkage. This phenomena is observed with real life dual income households, where both husband and wife work and procreation is no longer highest on the agenda. Some developed Earth nations are now slowly shrinking in population. Reduced construction costs (construction points for buildings & ships) due to streamlining.
[*]Learning: -learning when large population growth is occurring, since education systems tend to become overwhelmed
[*]Ships: +trade, due to improvements that enable interplanetary and interstellar trade
Finally, I propose another set of economic transition rules that merely attempt to imitate what we see in real life. These are rules are about what happens when things change in certain ways:
Rapid Population expansion: reduces education and strains infrastructure (the latter, perhaps already accounted for)
Economic collapse: often leads to some depopulation, due to either suicide or moving away for a better life elsewhere
Implemented a rather robust system for managing such stats in Glest Advanced Engine, where you can have a variety of bonuses and effects that stack and produce end modifiers to stat values. (http://glestae.svn.sourceforge.net/view ... rkup#l_117
), so some system like that.
I'll be back tomorrow to try to edit out the !SPAM! effects from this posting
But I hope it makes sense as is. Now I have to get to sleep!!!