Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2001:
[Freeciv-Dev] Re: non-smallpox idea

[Freeciv-Dev] Re: non-smallpox idea

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: non-smallpox idea
From: "Mike Jing" <miky40@xxxxxxxxxxx>
Date: Sun, 25 Nov 2001 20:36:33 -0500
Reply-to: mike_jing@xxxxxxxxx

Reinier Post <rp@xxxxxxxxxx> wrote:

As a general rule, the computations should be analytical, expressible in
terms of simple algebraic formulas, without any tests and cutoff values.
Continuous, differentiable functions are easier to understand than the
cascades of if statements and tests against cutoff values we have now.


Cutoff values can be scale factors.  E.g. cityfactor is a very useful
parameter but it can be used as a scale factor; cityfactor == 14 would
mean that at 14 cities we have 1 discontent citizen, but its effect would
be continuous: at 7 we would already have 0.5, at 21 we would have 1.5.
Or if you want to use the square root of the number of cities, that's fine
with me, too - everything better than a constant function with jumps at
the threshold points.  Similarly for distance to capital: in this case,
the computation itself already applies the distance as a proportion, but it
effectively works as a cutoff threshold value for small cities because
the target value (number of trade points) has such a low precision.

All true.

I don't see how counting individual people would help. For one thing, you can't put 0.5 citizen to work, and make the other 0.5 specialist.

There is nothing against this in principle, but I wasn't assuming
that this would be allowed.  But I can see nothing in Freeciv that
fundamentally relies on the fact that the number of citizens,
or any other city attribute, is an integer.

I still think this fact will give rise to cutoff values just as the current integral nature of trade and science points does. Of course, this doesn't prevent us from trying to minimize the effect as much as possible.

Yes, for local city effects it wouldn't change much.  The differences
only add up when the sum over all cities is used, e.g. for the speed of
technological progress or the total tax raised.  Even then, the net total
probably wouldn't be very different, but the contribution of individual
cities would no longer depend on threshold values, so planning would be

Right. My worries are mainly about unhappiness as related to smallpox, where integral citizen numbers do matter. Now I am hoping to shift that responsibility to corruption and waste, so more precision would certainly help.

Maybe we should just implement the auto-elvis feature and banish civil disorder once and for all. Or maybe we should just get rid of unhappiness altogether. I know that would make a LOT of people VERY happy. ;-)

That would make it too easy to play under Democracy, I think.
You also have to take the opponents' happiness into account :)

Again, the irony and my sarcasm was lost in the sea of words. You should know that I would be the last person to advocate the abolishment of unhappiness. :-)

Yes.  It doesn't have to be, of course, but if you would make *every*
effect and value in Freeciv continuous in this way, the game would be
totally different.  That's not what I have in mind.

OK.  I was just wondering how it would help in the case of unhappiness.

Yes, and the same problem appeared in your attempt to cure smallpox,
which turned cityfactor into a variable of great importance.

For the record, in Civ3 unhappiness no longer depends on the number of
cities, but corruption does.  I think it is an improvement since civil
disorder is far more devastating and annoying than corruption and waste, at least until you realize how devastating corruption and waste can be in Civ3. :-)

Well, that's just a matter of tuning variables such as cityfactor, isn't it ...>

Only now it is applied to corruptin/waste instead of unhappiness, which is a step in the right direction IMO. Of course, it is also easier to make it into a more continuous function because you can split trade points but not citizens.


Get your FREE download of MSN Explorer at

[Prev in Thread] Current Thread [Next in Thread]