Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2006:
[Freeciv-Dev] Re: (PR#14923) Stupid AI Building Wants

[Freeciv-Dev] Re: (PR#14923) Stupid AI Building Wants

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: badamson@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#14923) Stupid AI Building Wants
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Sun, 8 Jan 2006 06:37:23 -0800
Reply-to: bugs@xxxxxxxxxxx

<URL: >

On Tue, 20 Dec 2005, Benedict Adamson wrote:
> The computation of building_want by the AI is questionable in some cases.


> The AI subtracts part of an improvement's production cost from its
> building_want score for that improvement. It should instead be
> amortising by the production time.


> The AI ignores the upkeep cost when computing want; arguably this is
> more important than the production cost.

Only if you have a problem with attaining sufficient gold income.

> The AI considers the presence of an entertainer (Elvis) to be just as
> bad as an unhappy citizen. Entertainers probably ought to score worse,
> because each entertainer is also a loss in production.

That depends on your government. If the government can fall due to revolt,
unhappy citizens could be worse.

> The AI considers a Granary (EFT_GROWTH_FOOD effect) to be more
> worthwhile in cities with large food surpluses. That is possibly the
> wrong way around; Granary helps a city grow faster, which is most
> helpful in cities that grow slowly because they have a low food surplus.

That is true. Also it is more likely that the Granary will be finished in
time for the next growth step in cities that grow slowly.

> Airports (EFT_AIRLIFT effect) are most useful for empires with many
> cities and relatively few land units, because the land units must move
> to the threatened cities. The AI, however, computes a want proportional
> to the number of land units.

I think it is more dependent on the distance between cities than their

> The want for the protection that city walls afford the civilians inside
> (EFT_UNIT_NO_LOSE_POP effect) depends on the number of units in the
> city, which makes no sense to me. The effect is most useful for very
> small cities, which are in danger of being destroyed because of civilian
> casualties.

I agree.

> The want for barracks (EFT_VETERAN_BUILD effect) depends on the number
> of units in the entire empire. An AI with a large empire will want to
> build barracks everywhere, even in cities that are not productive enough
> to be useful. The building want should depend on how productive the city
> is: its shields surplus.

I agree.

> The computation of the want for Leonardo's Workshop (EFT_UPGRADE_UNIT
> effect) multiplies the existing want value (v), rather than adding to
> it. This is unlike any other effect and means that, if an improvement
> had multiple effects, one of which was EFT_UPGRADE_UNIT, the
> building_want for that improvement would depend on the (essentially
> arbitrary) order that those effects were examined: a Bad Thing.

Yes. This is a bug that should be fixed. I won't fix it right now since
this would conflict with your other patch that moves this code around.

 - Per

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