Research speed cap?

Ashnazg

Chieftain
Joined
Aug 8, 2012
Messages
5
Apologies if this was posted somewhere before, or if its addressed elsewhere, but is there a research speed cap per era or something?

I am in late medieval / early Ren right now and producing 4.5k beakers a turn, yet my technologies research as if the actual beaker production was ~1.5k (e.g. Divine Right is clocking at 6 turns, even though its only 9k beakers).

Emp / epic speed if that helps at all.
 
I've noticed [m]y beakers per turn and tech progress don't quite add up, too, but I assumed the difficulty is figured in somewhere in there. I also noticed that techs with the same beaker cost have different turn to research times in their mouseovers, which I assume was based on how many other tribes had researched them, but I don't know if the exact calculations involved are available anywhere.
 
Apologies if this was posted somewhere before, or if its addressed elsewhere, but is there a research speed cap per era or something?
It is not a cap but there is a modifier per era that was used for balancing the research speeds and I assume that is not properly displayed in the amount of beakers.
 
It is not a cap but there is a modifier per era that was used for balancing the research speeds and I assume that is not properly displayed in the amount of beakers.

No - I looked into a specific example of this a few weeks ago. The reason is that discounts for known OR tech pre-reqs is not factored into the displayed cost. This is compounded by our XML having lots of techs that use since branch OR prereqs (which amioun to ANDs) which still give the discounts. I believe the tech tree is being cleaned up in this regrd, but I don't know the current status of that.
 
No - I looked into a specific example of this a few weeks ago. The reason is that discounts for known OR tech pre-reqs is not factored into the displayed cost. This is compounded by our XML having lots of techs that use since branch OR prereqs (which amioun to ANDs) which still give the discounts. I believe the tech tree is being cleaned up in this regrd, but I don't know the current status of that.
The thread starter posted about the issue with it being the other way round. Not a discount but increased cost. The reason for that is very similar to the prereq issue though as the modifier I mentioned is calculated into the research output, not the tech cost.
But now that I look at it, that code is bad, very bad:
Spoiler :
Code:
	int iPossiblePaths = 0;
	int iUnknownPaths = 0;

	for (int iI = 0; iI < GC.getNUM_OR_TECH_PREREQS(); iI++)
	{
		if (GC.getTechInfo(eTech).getPrereqOrTechs(iI) != NO_TECH)
		{
			if (!(GET_TEAM(getTeam()).isHasTech((TechTypes)(GC.getTechInfo(eTech).getPrereqOrTechs(iI)))))
			{
				iUnknownPaths++;
			}

			iPossiblePaths++;
		}
	}

	FAssertMsg(iPossiblePaths >= iUnknownPaths, "The number of possible paths is expected to match or exceed the number of unknown ones");

	if( iPossiblePaths > iUnknownPaths )
	{
		iModifier += GC.getTECH_COST_FIRST_KNOWN_PREREQ_MODIFIER();
		iPossiblePaths--;
		iModifier += (iPossiblePaths - iUnknownPaths) * GC.getTECH_COST_KNOWN_PREREQ_MODIFIER();
	}

	iModifier -= GC.getEraInfo((EraTypes)GC.getTechInfo(eTech).getEra()).getTechCostModifier();
	if( GC.getGameINLINE().isOption(GAMEOPTION_START_AS_MINORS)
	&& (GC.getGameINLINE().getStartEra() == 0) )
	{
		switch(GC.getTechInfo(eTech).getEra())
		{
			case 0:
			iModifier += 5;
			break;

			case 1:
			iModifier += 20;
			break;

			case 2:
			iModifier += 10;
			break;
		}
		if(GC.getGameINLINE().isOption(GAMEOPTION_NO_TECH_TRADING))
		{
			iModifier += 10;
		} else if(GC.getGameINLINE().isOption(GAMEOPTION_NO_TECH_BROKERING))
		{
			iModifier += 5;
		}
		
	}

	iModifier -= GC.getTECH_COST_MODIFIER();

	return std::max(1,iModifier);
This is bad for two reasons at least:
There are hard coded modifiers to tech speed with some game options.
The modifiers are added, not multiplied and worse, two of those are negative. That means the effect of knowing a prereq (or the tech diffusion stuff I did not copy into this post which is above this piece of code) varies a lot depending on the era.

We start with 100, but the global modifier at the end is already -10 so we are at 90. The era tech modifier is significant and goes up to 75 in medieval (or even 80 in galactic) and as it is applied negatively, that means -75, so we are at 15. Now the discount for knowing a prereq adds +15, which means a doubling, tech diffusion effects can add 50 or so, which would mean around 4 times the research output compared to base.
In short: This is completely messed up.
 
The thread starter posted about the issue with it being the other way round. Not a discount but increased cost. The reason for that is very similar to the prereq issue though as the modifier I mentioned is calculated into the research output, not the tech cost.
But now that I look at it, that code is bad, very bad:
Spoiler :
Code:
	int iPossiblePaths = 0;
	int iUnknownPaths = 0;

	for (int iI = 0; iI < GC.getNUM_OR_TECH_PREREQS(); iI++)
	{
		if (GC.getTechInfo(eTech).getPrereqOrTechs(iI) != NO_TECH)
		{
			if (!(GET_TEAM(getTeam()).isHasTech((TechTypes)(GC.getTechInfo(eTech).getPrereqOrTechs(iI)))))
			{
				iUnknownPaths++;
			}

			iPossiblePaths++;
		}
	}

	FAssertMsg(iPossiblePaths >= iUnknownPaths, "The number of possible paths is expected to match or exceed the number of unknown ones");

	if( iPossiblePaths > iUnknownPaths )
	{
		iModifier += GC.getTECH_COST_FIRST_KNOWN_PREREQ_MODIFIER();
		iPossiblePaths--;
		iModifier += (iPossiblePaths - iUnknownPaths) * GC.getTECH_COST_KNOWN_PREREQ_MODIFIER();
	}

	iModifier -= GC.getEraInfo((EraTypes)GC.getTechInfo(eTech).getEra()).getTechCostModifier();
	if( GC.getGameINLINE().isOption(GAMEOPTION_START_AS_MINORS)
	&& (GC.getGameINLINE().getStartEra() == 0) )
	{
		switch(GC.getTechInfo(eTech).getEra())
		{
			case 0:
			iModifier += 5;
			break;

			case 1:
			iModifier += 20;
			break;

			case 2:
			iModifier += 10;
			break;
		}
		if(GC.getGameINLINE().isOption(GAMEOPTION_NO_TECH_TRADING))
		{
			iModifier += 10;
		} else if(GC.getGameINLINE().isOption(GAMEOPTION_NO_TECH_BROKERING))
		{
			iModifier += 5;
		}
		
	}

	iModifier -= GC.getTECH_COST_MODIFIER();

	return std::max(1,iModifier);
This is bad for two reasons at least:
There are hard coded modifiers to tech speed with some game options.
The modifiers are added, not multiplied and worse, two of those are negative. That means the effect of knowing a prereq (or the tech diffusion stuff I did not copy into this post which is above this piece of code) varies a lot depending on the era.

We start with 100, but the global modifier at the end is already -10 so we are at 90. The era tech modifier is significant and goes up to 75 in medieval (or even 80 in galactic) and as it is applied negatively, that means -75, so we are at 15. Now the discount for knowing a prereq adds +15, which means a doubling, tech diffusion effects can add 50 or so, which would mean around 4 times the research output compared to base.
In short: This is completely messed up.

Oh great. I was relying on the era-specific modifiers to keep things balanced. What should be happening IMO is.

-(Tech Cost)*(Gamespeed Modifier)*(Whatever other modifiers go here) should determine the cost (in beakers) of the tech.

-(Research Rate)*(1-Era Modifier)*(Whatever else goes here) should determine the rate of research in beakers per turn. That was my (messed up apparently) understanding of how things worked.

Could you please fix this before you leave on holiday?
 
I have changed both the global and the era tech cost modifier to a multiplicative tech cost increase.
 
We did have this with the BBAI modifier on the table some time back, which is why I suggested in setting the tech costs to a new base factoring in what the BBAI would do already when Vokarya was going over them. Which in my opinion would be the best way of doing it as all modifiers for everything (including Diffusion, Known Tech, ORrequisites, Increased for knowing other tech, and whatever else there is).

Cheers
 
In the era info xml, do higher numbers on the research mean slower research times or faster? I am still trying to balance timeline with tech, but with 60 cities, each with 20 monastaries at 10% extra beakers per, I am researching a tech in just 6 or 7 turns, even on Eternity. I am reaching Gunpowder when the timeline is about 500 AD.
 
In the era info xml, do higher numbers on the research mean slower research times or faster? I am still trying to balance timeline with tech, but with 60 cities, each with 20 monastaries at 10% extra beakers per, I am researching a tech in just 6 or 7 turns, even on Eternity. I am reaching Gunpowder when the timeline is about 500 AD.

When you have 20 of the religions you can't balance the timeline to tech research speed! You've already bent the rules all out of shape by hogging all the religions. You can't balance that. :nono:

Are you surprised your getting a tech in 6 or 7 turns even on eternity? C'mon man! That's like saying I want to play Craps fairly but I'm using my special Loaded dice. :crazyeye: :rolleyes:

JosEPh :p
 
I would not say I am hogging all the religions, they show up in my empire, I spread them everywhere, I build the monasteries. To me, hogging would mean I have all the holy cities, but I only have some.
 
When you have 20 of the religions you can't balance the timeline to tech research speed! You've already bent the rules all out of shape by hogging all the religions. You can't balance that. :nono:

Are you surprised your getting a tech in 6 or 7 turns even on eternity? C'mon man! That's like saying I want to play Craps fairly but I'm using my special Loaded dice. :crazyeye: :rolleyes:

JosEPh :p
Wrong way to see it I think. If the game allows it, its not a cheat and it should be expected to be exploited if you want to do well in the game. If it turns out to be a game breaking exploit that for some reason can't be brought into balance or treads too strongly on any other strategic approaches that were intended to be valid, then it should be modified.

In many ways, religion hoarding can certainly qualify as imbalanced as to not do so is to shoot yourself in the foot so I'm more than confident that eventually we'll put a gameoption in place to restrict the functioning of any religious building to the state religion only. Or perhaps just restrict certain religion building benefits to only being active for the state religion (such as the research% modifiers on monasteries.) Selecting such an option would certainly correct the situation if you feel its a 'cheat' to take advantage of religion hoarding. It'd only need to be optional due to how many would be frustrated and upset if it were enforced as an absolute.

Personally, I don't think the game is currently played with any strategic sense if one does NOT hoard as many religions as possible. My goal in every game is to as quickly as possible spread all of them in every one of my cities. No benefit exists in being loyal to only one or a few. Therefore, I would seek to balance the rest of the game around expecting this strategy to be a priority for any wise player until such an aforementioned option exists.

Are you saying you try to only utilize one religion throughout your nation at any given time??? In my view, that's stacking the deck AGAINST yourself needlessly.
 
The only reason I can see to want only one religion is when you are going for a religious victory, but if you are going for Mastery, you need everything. I agree that the research benefits should only be for the state religion, but what happens when you have No state religion, Free Religion or Atheist? Perhaps put a cap on the total of a bonus you get, like no more than 50% total bonus.
 
The only reason I can see to want only one religion is when you are going for a religious victory, but if you are going for Mastery, you need everything. I agree that the research benefits should only be for the state religion, but what happens when you have No state religion, Free Religion or Atheist? Perhaps put a cap on the total of a bonus you get, like no more than 50% total bonus.

On my list of things to do is "flatten the research from monasteries" issue. There are two issues should more monasteries give linear increase in research and the ebb and flow of research done in monasteries, ie it should grow to a peak pre scientific method then taper off as the majority of research migrates first to universities then to corporations.
 
On my list of things to do is "flatten the research from monasteries" issue. There are two issues should more monasteries give linear increase in research and the ebb and flow of research done in monasteries, ie it should grow to a peak pre scientific method then taper off as the majority of research migrates first to universities then to corporations.

I think that the only thing that needs doing to balance monasteries is to make them only work if their religion is your state religion. That should solve Charles' problem without annoying JosEPh too much.
 
i love this research cap tweak. now ai doesn't fall behind and can keep up with human player.
 
In many ways, religion hoarding can certainly qualify as imbalanced as to not do so is to shoot yourself in the foot so I'm more than confident that eventually we'll put a gameoption in place to restrict the functioning of any religious building to the state religion only.

I can live with it as an Option. But if it ever moves past that becomes default I'll be done with any further C2C.

I think that the only thing that needs doing to balance monasteries is to make them only work if their religion is your state religion. That should solve Charles' problem without annoying JosEPh too much.

I disagree with this! And you read me wrong too. I don't want monasteries gutted like that. I don't have a problem with charlesb96 having 20 monasteries in each of his 60 cities. I'd do the same. :)

But I "assumed" charlesb96 had Founded 20 religions. (see what assuming got me! :p ) But still even if he didn't, trying to "Balance research speed and Timeline" for that basis (20 monasteries per city) is skewed at the Very least. If charles only had 5 religions in his empire and was running 5 monasteries I would not have said a thing. And I would have agreed with his attempt.

No we've already almost went too far in screwing up the monasteries as it is for me.

Are you saying you try to only utilize one religion throughout your nation at any given time??? In my view, that's stacking the deck AGAINST yourself needlessly.

NO I don't do that! I guess I posted in Greek again last night! :p


JosEPh <sigh>
 
@JosEPh:

I apologize for misreading your earlier comments. I do however think that having monasteries only work with your state religion enabled OR with Free Church (I think we can do that with the Expression system now) would be a good idea, as that is how it was/is IRL.
 
No need to apologize ls612. I just need to post "better". (When I post too much detail I lose ppl, and when I try to make it brief and to the point I offend) Whatcha gonna do? (Think more type less?)

And as for what happens IRL and this Mod, that path split a long, long, time ago. ;)
JosEPh
 
Top Bottom