Help has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Feature #876214


More ruleset control over starvation mechanics

Added by Lexxie L almost 3 years ago. Updated about 2 years ago.

Start date:
Due date:
% Done:


Estimated time:


Right now, a ruleset can control happy/unhappy based on a lot of things, like martial law, foreign aggressive units, nice religious buildings, etc.

Guess what makes people more unhappy than anything? Starving. A lot more unhappy than a foreign unit. ;)

This isn't a quest for forcing hyper-realism to everything. It comes up because of other real problems that can be quite ridiculous. The sequenced mechanics for what happens during a pop change can lead to counterintuitive ridiculous behaviours. Like a democracy deliberately starving a city by using only low food/high prod tiles, then when it shrinks it auto-arranges to tiles that start celebrating again. Then democracy is getting more "cruel authoritarian bonus" than despots and communists!

It was pointed out by some, we should avoid heavy-handed hard-coded fixes to core mechanics. Some of these mechanics are argued to be actually quite real in some cases.
Deliberate use of starvation and forced labour were real things in communism as well as captured enslaved cities in very ancient times. The default mechanics actually work OK ... in some cases, and are the only useful way to circumvent other problems in the game. But it's a bit ridiculous that one city in a democracy is upset just because it owns a bomber; while another city is absolutely thrilled to celebrate the fact that its leader is deliberately STARVING IT EVERY OTHER TURN, fluctuating in constant starvation between size 7 and size 6, switching between using lots of shields at size 7, then auto-arranged back to food/trade that raptures right after from 6 back to 7.

Instead of fixing this so that all rulesets and all governments now have a new universal behaviour for starvation, what little feature could not only fix the bad imbalanced cases, but also turn this whole mechanic into something awesome that handles every conceivable case and gives so much more flavour to the ruleset representing how different governments and conditions are like?

*Add several new effects which can combine with a new req. Together, they all give ruleset control over starvation mechanics. Now, what you get from starvation can be radically different, depending on if you're running a genocidal slave-driver government, or a liberal progressive government. Or, it could have nothing to do with government at all... it could just be the ruleset wants to handle starvation differently--which would be understandable!

basically, we want effects that could:
  • force disorder
  • break continuity of celebration (not necessarily disorder)
  • cause x # of citizens to be unhappy
    perhaps even: cause this new idea of rebellion/rioting/looting/% chance of losing a building

These effects could be triggered by the new req "City_Has_Starved". That req can obviously combine with other reqs like gov type, # of foreign citizens, presence of police station, original founder of city, or whatever.

"City_Has_Starved" could be true/false. If you really want, it could be the number of turns since it starved (for ongoing effect.) But just bool true/false would be fabulously better than nothing at all, and cover most cases.

This idea is much better than, for example, hard-coding that starvation breaks the continuity of celebration. That's honestly not harsh enough for starving a democracy city. And it's not flexible enough for representing the opposite case: like some kind of production bonus for a Slavery government that works conquered slave citizens to death and gets a prod bonus from it.

Related issues

Blocked by Freeciv - Feature #922788: CityStatus "Starved"ClosedMarko Lindqvist

Actions #1

Updated by Marko Lindqvist about 2 years ago

Actions #2

Updated by Marko Lindqvist about 2 years ago

The requirement part is handled as CityStatus "Starved" in Feature #922788

Also available in: Atom PDF