Tech cost mods

WileyWilson

Chieftain
Joined
Oct 19, 2010
Messages
81
Location
UK
It's a difficult game to balance, took me a while to set a pace I enjoy. I use the slower tech by era mod, if you open the file you can see that each era has a multiplier for increasing tech costs of that era. You can edit those numbers as you see fit. You can also do civics by copy/paste the code to the same file and change technologies to civics for the pasted part.
Keep in mind that because the district scaling formula is based on tech/civic progress, changing the pace has a direct effect on production costs of districts. The slower you go the more production you are adding to the game.

Thanks for the info PYITE. I've downloaded Wolf2001's "Slower research per era" mod and looked at the SQL file.

UPDATE Technologies SET Cost = Cost*1 WHERE EraType ='ERA_ANCIENT';
UPDATE Technologies SET Cost = Cost*1.1 WHERE EraType ='ERA_CLASSICAL';
UPDATE Technologies SET Cost = Cost*1.2 WHERE EraType ='ERA_MEDIEVAL';
UPDATE Technologies SET Cost = Cost*1.3 WHERE EraType ='ERA_RENAISSANCE';
UPDATE Technologies SET Cost = Cost*1.4 WHERE EraType ='ERA_INDUSTRIAL';
UPDATE Technologies SET Cost = Cost*1.7 WHERE EraType ='ERA_MODERN';
UPDATE Technologies SET Cost = Cost*2.0 WHERE EraType ='ERA_ATOMIC';
UPDATE Technologies SET Cost = Cost*2.3 WHERE EraType ='ERA_INFORMATION';

UPDATE Civics SET Cost = Cost*1 WHERE EraType ='ERA_ANCIENT';
UPDATE Civics SET Cost = Cost*1.1 WHERE EraType ='ERA_CLASSICAL';
UPDATE Civics SET Cost = Cost*1.2 WHERE EraType ='ERA_MEDIEVAL';
UPDATE Civics SET Cost = Cost*1.3 WHERE EraType ='ERA_RENAISSANCE';
UPDATE Civics SET Cost = Cost*1.4 WHERE EraType ='ERA_INDUSTRIAL';
UPDATE Civics SET Cost = Cost*1.7 WHERE EraType ='ERA_MODERN';
UPDATE Civics SET Cost = Cost*2.0 WHERE EraType ='ERA_ATOMIC';
UPDATE Civics SET Cost = Cost*2.3 WHERE EraType ='ERA_INFORMATION';​

I usually play Marathon games. From your experience and testing, what values would you suggest? Or are Wolf2001's good enough?
 
Last edited:
What a coincidence ... I just wrote a similar mod for Marathon Gamespeed ... with a small difference ... I use the normal Production and Growth but similar increased Research Costs.
Marathon is usually 300% on all costs.

The mod only works as intended when Marathon is selected

Code:
update GameSpeeds set CostMultiplier = 100 where GameSpeedType = "GAMESPEED_MARATHON";
This line sets the CostMultiplier for Marathon back to the default 100% like standard game

Code:
update Technologies set Cost = Cost*2 where EraType = "ERA_ANCIENT";
update Civics set Cost = Cost*2 where EraType="ERA_ANCIENT";

update Technologies set Cost = Cost*3 where EraType="ERA_CLASSICAL";
update Civics set Cost = Cost*3 where EraType="ERA_CLASSICAL";

update Technologies set Cost = Cost*4 where EraType="ERA_MEDIEVAL";
update Civics set Cost = Cost*4 where EraType="ERA_MEDIEVAL";

update Technologies set Cost = Cost*5 where EraType="ERA_RENAISSANCE";
update Civics set Cost = Cost*5 where EraType="ERA_RENAISSANCE";

update Technologies set Cost = Cost*5 where EraType="ERA_INDUSTRIAL";
update Civics set Cost = Cost*5 where EraType="ERA_INDUSTRIAL";

update Technologies set Cost = Cost*6 where EraType="ERA_MODERN";
update Civics set Cost = Cost*6 where EraType="ERA_MODERN";

update Technologies set Cost = Cost*6 where EraType="ERA_ATOMIC";
update Civics set Cost = Cost*6 where EraType="ERA_ATOMIC";

update Technologies set Cost = Cost*6 where EraType="ERA_INFORMATION";
update Civics set Cost = Cost*6 where EraType="ERA_INFORMATION";
These lines adjust Tech/Civic Research Costs :
Ancient : x 2
Classical : x 3 (= normal Marathon multiplier)
Medieval : x 4
Renaissance, Industrial : x 5
Modern, Atomic, Information : x 6
I still have to test how the scaling effects ingame progress in relation to ingame date/timeline.

Code:
update Building_YieldChanges set YieldChange = YieldChange*2 where YieldType="YIELD_SCIENCE" and BuildingType="BUILDING_RESEARCH_LAB";
Research Lab Science Yield doubled (from 5 to 10)

Code:
update Eras set GreatPersonBaseCost = GreatPersonBaseCost*4;
Great Person Costs adjusted to 400% (Marathon = 300%)

Code:
update Eras set WarmongerPoints = WarmongerPoints/3;
Not tested. Reduced Warmonger Penalty, usefull when playing on bigger map types like Giant Earth.
 
Last edited:
Thanks for the info PYITE. I've downloaded Wolf2001's "Slower research per era" mod and looked at the SQL file.

UPDATE Technologies SET Cost = Cost*1 WHERE EraType ='ERA_ANCIENT';
UPDATE Technologies SET Cost = Cost*1.1 WHERE EraType ='ERA_CLASSICAL';
UPDATE Technologies SET Cost = Cost*1.2 WHERE EraType ='ERA_MEDIEVAL';
UPDATE Technologies SET Cost = Cost*1.3 WHERE EraType ='ERA_RENAISSANCE';
UPDATE Technologies SET Cost = Cost*1.4 WHERE EraType ='ERA_INDUSTRIAL';
UPDATE Technologies SET Cost = Cost*1.7 WHERE EraType ='ERA_MODERN';
UPDATE Technologies SET Cost = Cost*2.0 WHERE EraType ='ERA_ATOMIC';
UPDATE Technologies SET Cost = Cost*2.3 WHERE EraType ='ERA_INFORMATION';

UPDATE Civics SET Cost = Cost*1 WHERE EraType ='ERA_ANCIENT';
UPDATE Civics SET Cost = Cost*1.1 WHERE EraType ='ERA_CLASSICAL';
UPDATE Civics SET Cost = Cost*1.2 WHERE EraType ='ERA_MEDIEVAL';
UPDATE Civics SET Cost = Cost*1.3 WHERE EraType ='ERA_RENAISSANCE';
UPDATE Civics SET Cost = Cost*1.4 WHERE EraType ='ERA_INDUSTRIAL';
UPDATE Civics SET Cost = Cost*1.7 WHERE EraType ='ERA_MODERN';
UPDATE Civics SET Cost = Cost*2.0 WHERE EraType ='ERA_ATOMIC';
UPDATE Civics SET Cost = Cost*2.3 WHERE EraType ='ERA_INFORMATION';​

I usually play Marathon games. From your experience and testing, what values would you suggest? Or are Wolf2001's good enough?
It's really all about personal preference. I use very similar numbers for civics as Wolf2001. For techs I use larger multipliers starting at the medieval.
Starting at ancient here are my numbers:
1.0
1.2
2.0
2.1
2.2
2.4
2.6
2.8

I really enjoy the extended classic/medieval combat period.
 
My modifiers so far are assumptions :
These lines adjust Tech/Civic Research Costs :
Ancient : x 2
Classical : x 3 (= normal Marathon multiplier)
Medieval : x 4
Renaissance, Industrial : x 5
Modern, Atomic, Information : x 6
I still have to test how the scaling effects ingame progress in relation to ingame date/timeline.

The idea is to have a smooth start without waiting to long for key techs like mining, hunting, plantations, so Ancient Techs come cheaper than usually on marathon (0.66).
Classical Age is normal marathon research speed (1) and starting with Medieval, it is already 1.33, Renaissance 1.66 and later eras 2.

I still have to playtest the values ... probably it also depends a lot on the civ you play. Germany is good at building a huge empire since they quickly get up Hansas in all cities which boost the construction of other districts (once they reach medieval era).

see also
https://forums.civfanatics.com/threads/ultralong-mod-marathon-on-huge-map.617694/
 
I did some play-testing ...
Playing "marathon" with a CostMultiplier of 100 (= standard costs) is a lot of fun but also greatly speeds up the development of cities (growth, buildings, districts).

The TechMultipliers x2 for Ancient and x3 for Classical were much too low ...
I tried then x3 for Ancient and x6 for Classical but even with those I reach Medieval Era around turn 160. The problem is the more turns you have in those eras, the more cities you settle/conquer. You also tend to beeline Writing and build more Campuses if you know that Science Progress is slow. By expanding the Science Base (Population, Campuses, CS Boni) you start in the next era with a much bigger Science output which means that you have to adjust the TechMultipliers for following eras successively.

Next I will try x4 for Ancient and x10 for Classical.
(So far :
Ancient -> Classical around turn 90,
Classical -> Medieval around turn 200,
...)

Spoiler :
Code:
update GameSpeeds set CostMultiplier = 100 where GameSpeedType = "GAMESPEED_MARATHON";


update Technologies set Cost = Cost*4 where EraType = "ERA_ANCIENT";
update Civics set Cost = Cost*4 where EraType="ERA_ANCIENT";

update Technologies set Cost = Cost/2 where TechnologyType="TECH_POTTERY";
update Technologies set Cost = Cost/2 where TechnologyType="TECH_ANIMAL_HUSBANDRY";
update Technologies set Cost = Cost/2 where TechnologyType="TECH_MINING";
update Civics set Cost = Cost/2 where CivicType="CIVIC_CODE_OF_LAWS";


update Technologies set Cost = Cost*10 where EraType="ERA_CLASSICAL";
update Civics set Cost = Cost*10 where EraType="ERA_CLASSICAL";

update Technologies set Cost = Cost*20 where EraType="ERA_MEDIEVAL";
update Civics set Cost = Cost*20 where EraType="ERA_MEDIEVAL";

update Technologies set Cost = Cost*30 where EraType="ERA_RENAISSANCE";
update Civics set Cost = Cost*30 where EraType="ERA_RENAISSANCE";

update Technologies set Cost = Cost*40 where EraType="ERA_INDUSTRIAL";
update Civics set Cost = Cost*40 where EraType="ERA_INDUSTRIAL";

update Technologies set Cost = Cost*50 where EraType="ERA_MODERN";
update Civics set Cost = Cost*50 where EraType="ERA_MODERN";

update Technologies set Cost = Cost*60 where EraType="ERA_ATOMIC";
update Civics set Cost = Cost*60 where EraType="ERA_ATOMIC";

update Technologies set Cost = Cost*70 where EraType="ERA_INFORMATION";
update Civics set Cost = Cost*70 where EraType="ERA_INFORMATION";

update Eras set GreatPersonBaseCost = GreatPersonBaseCost*6;
update GlobalParameters set Value = Value*3 where Name="RELIGION_PANTHEON_MIN_FAITH";

update Buildings set Cost = Cost*3 where IsWonder=1;

update Eras set WarmongerPoints = WarmongerPoints/3;

update Building_YieldChanges set YieldChange = YieldChange*2 where YieldType="YIELD_SCIENCE" and BuildingType="BUILDING_RESEARCH_LAB";
 
Last edited:
Sorry to resurrect this thread, I've seen quite e few posts with these theme, I hope this is the best place to put my question.

Has someone tried normalizing the science output instead of tech cost? I mean, take the science output of a given civ, multiply it by a base cost and divide it by the sum of the science output of every civ.
With that, it would be interesting to see the tech cost actually going down - when a lot of civs have researched it. The idea here is to set tech cost like = [base cost] / 2 ^ ([civs that have discoverd it]/[total number of civs])

I reckon that would solve both the tech speed insanely high in huge maps / marathon pace, and also that one civ attacking my tank with a crossbow...

Is that even feasible? I have no moding experience in civ 6.
 
It is much easier to once change tech costs and building costs before the start of the game than adjusting the science output inside the game based on game progress. (It is also easier to test.)
 
For R&F you may want to add / adjust the following lines :

Code:
UPDATE Eras_XP1 SET GameEraMinimumTurns = GameEraMinimumTurns*2;
UPDATE Eras_XP1 SET GameEraMaximumTurns = GameEraMaximumTurns*5;

update GlobalParameters set Value = "40" where Name = "DARK_AGE_SCORE_BASE_THRESHOLD";
update GlobalParameters set Value = "80" where Name = "GOLDEN_AGE_SCORE_BASE_THRESHOLD";

Adjust the values depending on your experience with the map you play. Advance in science and era points greatly vary with size of continents, starting locations and warfare / empire building.


For a mod to slow down progress of wide empires a bit see here :
https://forums.civfanatics.com/threads/downscaling-of-science-and-culture-for-empires.630580/
 
Last edited:
I experimented around with this for a bit. I found out that it's possible to save a game, change the tech/civic costs and reload the game; the new values will be used. So you can actually alter the research speeds on the fly if it's going too slow or too fast for your taste.

That gave me the idea of increasing the cost of the techs & civics for the next upcoming era to a ridiculous amount so as to stay in one era until I'm read to progress to the next (sort of like an Empire Earth mechanic :P) Unfortunately, that didn't go as planned: It seems that if I increase these costs TOO much, they suffer a sort of overflow error and suddenly many (though strangely not ALL) techs & civics will only cost 1 science/culture. If I "accidentally" trigger a Eureka/Inspiration for those, I get instantly catapulted to that era :(

Loading a save game takes so darn long, so I'm not really in the mood to play around with the numbers to find out how much actually is too much though :P
 
Thanks Laura, so it's a known problem, sadly without solution. I suspected the cause already, that's why I mentioned "a sort of overflow error".

EDIT: Oh, just read the OP again, iiniverse has the best possible numbers already figured out. That's great, saving me a lot of trial and error, so thanks to Laurana Kanan and thanks to iiniverse!
 
Back
Top Bottom