Tech upkeep based on population (Settled Area)

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
User avatar
Posts: 1117
Joined: Mon Jan 13, 2014 11:13 pm

Tech upkeep based on population (Settled Area)

Postby Corbeau » Thu Feb 22, 2018 12:03 am

Among others, one of the options for tech upkeep is "multiplied with the number of cities".

How difficult would it be to tweak the code so that there are more ruleset options to set this up?

Namely: after calculating base upkeep (based on number of tech and pre-set values), instead of multiplying it with the number of cities, multiply it with:

A * pop + B * city

pop - "Settled Area" from Demographics, a real effective representation of the population size
city - number of cities
A, B - values to be chosen in the ruleset

(With A=0 and B=1 this is the already existing option that uses the number of cities)

1. Realism
A nation needs to expend resources to maintain the literacy and expertise level of its population. Simply put, it needs to educate plumbers, carpenters, technicians, medics. teachers etc. or else all the knowledge it has gathered throughout history will be lost. And obviously, the more people there are, the more doctors and teachers you need. But also, the more cities there are, the more needs to be invested into infrastructure: maintaining roads, pipelines, communication, post office...

2. Gameplay
This gives enormous flexibility to setting limits to the size of the empire and ways of crossing those limits. Adjusting A can make smallpoxing impossible, while adjusting B can make it possible to have effectively very different games regarding the technological gap between big and small empires.
* Freeciv LongTurn, a community of one-turn-per-day players and developers, contains forum:
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
* What Is Longturn?

Posts: 218
Joined: Mon Jun 25, 2018 5:01 pm

Re: Tech upkeep based on population (Settled Area)

Postby nef » Mon Nov 12, 2018 11:30 am

A simple solution to this is to make tech upkeep a basic commodity (like F/P/T, G/L/S) so that it can be selected with an output type predicate. One could then make it dependent on almost any city parameter (e.g. per city, per tile worker, per specialist), and could be modified by techs, buildings, era, gov etc.. The big question I would have is the consequences to AI support for ANY changes in areas like this. No issue for MP games, of course which probably makes it fine for Corbeau but not so fine for SP players like me.

Currently the engine does not support a per player rule (that I know of) that would accommodate a base rate so that would have to remain (for now) as server or game.ruleset options.

Posts: 63
Joined: Fri Jun 23, 2017 4:18 pm

Re: Tech upkeep based on population (Settled Area)

Postby Lexxie » Fri Sep 13, 2019 6:49 pm

The setting is really more relevant for MP games anyway. (Upkeep is used to moderate the dynamics for excessive tech proliferation.)

It would be easy to do and I hope someone does it.

I can argue that basing it on "total city size" is better than settled area. Settled area has some weird non-relevant things factored in. Like a worker counts differently for settled area based on what tile it's on. But I suppose it's not a big deal and either way would be a huge improvement.

Posts: 432
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia

Re: Tech upkeep based on population (Settled Area)

Postby Ignatus » Tue Jan 21, 2020 3:48 pm

It's much how Civ4 civics are upkept, just with some free/penalty pop and cities and with separate count for each civic (~government) in use.