Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: (PR#2574) RFC: (PR# 1762) corruption revisited
Home

[Freeciv-Dev] Re: (PR#2574) RFC: (PR# 1762) corruption revisited

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients:;
Subject: [Freeciv-Dev] Re: (PR#2574) RFC: (PR# 1762) corruption revisited
From: "Davide Pagnin via RT" <rt@xxxxxxxxxxxxxx>
Date: Mon, 16 Dec 2002 10:30:47 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Sun, 2002-12-15 at 19:17, Per I. Mathisen via RT wrote:
> On Sat, 14 Dec 2002, Davide Pagnin via RT wrote:
> > This is actual code of city.h city_corruption(), I want to open a
> > discussion on this whole topic and perhaps reach some agreement on what
> > need changes.
> 
> I agree with Raahul that this should preferably come after his waste
> patch.

Raahul waste patch need a mandatory capability (related to CMA issues),
if we agree on some *important* modification to corruption handling, we
will need another mandatory capability.

If you consider that:
1) waste patch touch code that is not touched frequently (thus the patch
will be easily maintained up-to-date)
2) waste patch has the same structure of city_corruption and thus will
need the same adjustment
3) waste patch is not complete for the moment (lack mandatory capability
and client support for clients other than gtk)

I say that we can discuss in the meantime and decide how to modify
corruption handling and after that add the waste implementation and the
mandatory capability only once!

When the waste patch is completed (mandatory capability, at least) I
will volunteer to maintain it up-to-date for HEAD inclusion, in the
waiting for the agreement on the corruption handling (if this is Raahul
concern).

> 
> > > if (pcity->size <= game.notradesize) {
> > > trade_penalty = trade;
> > > } else if (pcity->size >= game.fulltradesize) {
> > > trade_penalty = 0;
> > > } else {
> > >trade_penalty = trade * (game.fulltradesize - pcity->size) /
> > >     (game.fulltradesize - game.notradesize);
> > > }
> >
> > This first part handle fulltradesize and notradesize options, they have
> > been introduced to cut offICS but are not used in the default ruleset
> > nor in the vast majority of games.
> 
> Both I and Thomas (pille) have argued before that they do not solve ICS,
> and IMHO are rather boring to play with. So maybe we should consider
> removing them?

I'm against this, we use them in our "Italian Style" games.
Do they contribute to any harm?

> > > if (g->corruption_level == 0) {
> > > return trade_penalty;
> > > }
> >
> > fine with this, but we need to have courthouse behavior not depending on
> > this parameter
> 
> I don't understand.

I've explained this in other mails.
We need gen-impr or a new flag for democratic government
(or use F_UNBRIBABLE for this!)

> 
> > > if (city_got_building(pcity, B_COURTHOUSE) ||
> > >   city_got_building(pcity, B_PALACE)) val /= 2;
> >
> > I know that Per isn't convinced of this, but I think that this check
> > should be moved down, after the CLIP function.
> > This is civ2 behavior and moreover increases the value of the
> > courthouse.
> > When this 2 choice differ??
> >
> > Then you are very distant from your capital and there is a lot of
> > corruption!
> 
> You are right, I remain unconvinced. Both possibilities should preferably
> be supported by general effects.
> 
> This may seem like triviality, but for some rulesets this will be
> important. Davide's suggestion makes it impossible to force a player to
> build increasingly effective anti-corruption buildings to fend off rising
> a steadily increasing empire-wide corruption, since one Courthouse will
> always give you at least 50% trade/shields (which can be a lot). For
> example, ICS can be solved using a rapidly rising corruption for each
> additional city, and have several effective buildings that can counter
> this effect that you have to build in order to expand your empire past a
> certain point.

I'm not sure to understand what you are saying here, but I want to make
an example.

If, instead of having this not-really-cut-50%-corruption courthouse, you
instead realize this scheme:

courthouse I:
cut (REALLY) 20% corruption

courthouse II (need courthouse I):
cut (REALLY) 20% more corruption

courthouse III (need courthose II):
cut (REALLY) 20% more corruption

Isn't more or less what you asked for?
With only courthouse I you cut only 20% of corruption, with both I and
II you cut 40%, and with I, II and III, you cut 60%

What I see difficult is how to make that option available through
gen-imp, but as far as I get the courthouse work as I expect, I don't
bother that you can use the courthouse in the actual way.

> 
> (Also: If a city produces 10 trade and 30 trade would be taken by
> corruption, then it doesn't really make sense that the net result should
> be that the city produces 5 trade. That's magic. Where did that trade come
> from?)

And how 30 corruption out of 10 trade are possible? (... magic???)

My point is that, if courthouse is expected to cut 50% of corruption, it
make sense that you get _at least_ 50% of the 10 possible trade of that
city. Stating that 30 should be the trade cut by corruption is a mere
internal calculation of freeciv, not something real!

> 
>   - Per




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