[Freeciv-Dev] Re: city_incite_cost
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Wed, Sep 25, 2002 at 10:19:39PM +0200, Thomas Strub wrote:
> On Wed, Sep 25, 2002 at 05:21:30PM +0000, Per I. Mathisen wrote:
> > On Wed, 25 Sep 2002, Thomas Strub wrote:
> > > i think that the city_incite_cost for cities with units, buildings and
> > > wonders in it is to cheap.
> > >
> > > My approach for city_value is not final, so feel free to upgrade it.
> >
> > I intend to change this function to
> >
> > int city_incite_cost(pplayer, pcity)
Done ...
But i didn't change:
client/packhand.c
client/gui-***/dialogs.c
> > } else {
> > - pcity->incite_revolt_cost = city_owner(pcity)->economic.gold + 1000;
> > + goldfactor = city_owner(pcity)->economic.gold + 1000;
> > + goldfactor *= pcity->size;
> >
> > Instead of size, I would like to multiply by the number of happy people in
> > the city times two. So it gets harder to bribe happy cities, which makes
> > sense, I think. Also this multiplication should be moved down to right
> > before the distance division, so that it affects everything in the city.
>
> I think perhaps the score number would be better.
> 2 for happy
> 1 for normal
> 0 for unhappy/angry (perhaps -)
> 1 for specialists
(angry not implemented ...)
> Perhaps with an additional *2 for celebrating cities (begin of turn
> celebrating, not at the moment. Because otherwise i play 99% of turntime
> with max lux ... and not anarchy)
> > pcity->incite_revolt_cost /= (dist + 3);
> >
> > This should be moved down, so that all costs are divided by dist. We
> > should retain the rule that incite costs go down dramatically as we
> > approach the empire's periphery. This is an important civ mechanic, and
> > one which makes a lot of sense.
>
> I know its an important mechanic. But more later.
>
> > IMHO, this and the size multiplication provide the balance that the other
> > factors should be adjusted by. No factor should be added to the cost
> > unadjusted.
>
> I have no good idea how to do that and get fair numbers.
>
> > + unit_list_iterate(pcity->units_supported, punit) {
> > + city_value += unit_type(punit)->build_cost/2;
> > + } unit_list_iterate_end;
> > +
> > + unit_list_iterate(map_get_tile(pcity->x,pcity->y)->units,punit){
> > + city_value += unit_type(punit)->build_cost/2;
> > + } unit_list_iterate_end;
> >
> > I think we should choose here which one of these we want to use. Both is
> > overkill. I think I would go for units actually in the city, since they
> > make it harder to revolt, while units away from the city contribute
> > unhappiness, the very in-game reason behind revolt.
>
> I think for the value of a city both are useful. Perhaps 1/4 to 3/4 is
> better. But a city which is supporting units should be more expensive
> than a city which isn't.
>
> > + built_impr_iterate(pcity, i) {
> > + if (!is_wonder(i)) {
> > + city_value += improvement_value(i)/2;
> >
> > For non-ICS games, ouch. Divide at least by 4.
> >
> > + } else {
> > + city_value += improvement_value(i);
> >
> > It will be almost impossible to bribe a wondercity then. Maybe that is a
> > good thing, though. Or halve this by two.
>
> The numbers aren't 100% balanced, but i think that the values should be
> something like that. A city with 5 clads for 30 gold is a joke.
I reduced the numbers
> > + pcity->incite_revolt_cost += city_value*4;
> >
> > ???!!
>
> There is a big problem to get numbers which are fair. With my current
> solution a city with temple give costs 40/2*4 = 80 more than one
> without. With the modifiers that number can change
>
> goldfactor * sizemodifier is ~ 1500*4 = 6000
> city_value is ~ prodution of last 50 rounds = 400
>
> So adding the city_value is useless it nearly doesn't change the
> buycost for normal cities.
> The money in the capital is far away, because that the
> distance-modifiers. But the buildings are local. So i divided them
> by a distance-modifier = 1.
I'm waiting for a better solution than mine.
> I would change the buy back modifier in:
> normal city: 2
> original enemy city: 4
> original own city: 1
Have done this.
> > Have you tried this patch? What kind of values do you get? Can you give
> > some examples of costs for various cities?
>
> I have tried it and cities get little bit more expensive. The first
> concept from me was to make buying cities expensive.
> Cities with low distance to capital got cheaper after buying a wonder
> ... (the round after)
Thomas
--
Thomas Strub *** eMail ue80@xxxxxxxxxxxxxxxxxxx
Nur weil das Aufzeichnen, Kopieren und Schnüffeln bei elektronischem
Datenverkehr leichter als bei der klassischen Post ist, darf man es nicht
einfach tun.
city_incite_cost-2.2.diff
Description: Text document
[Freeciv-Dev] Re: city_incite_cost, rf13, 2002/09/26
|
|