Complete.Org: Mailing Lists: Archives: freeciv-ai: September 2002:
[freeciv-ai] Re: active ai diplomats

[freeciv-ai] Re: active ai diplomats

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: Freeciv AI development <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: active ai diplomats
From: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>
Date: Sun, 1 Sep 2002 16:13:02 +0100 (BST)

On Sat, 31 Aug 2002, Per I. Mathisen wrote:

> > Another thing, H_DIPLOMAT set does not fully prevent aggressive diplomat
> > action: a diplomat can still be built defensively and when the danger goes
> > away released into the wild.Did you intend it this way?  (I think it
> > makes certain sense).
> That was unintented, but might not be too bad... or maybe it is... easy is
> too hard as it is. I don't know.

Yes, true...  People complain...  But I think the right answer to their
complaints would be to make easy's expansion even slower rather than make
it complitely incapable of employing diplomats.  After all, these
diplomats would appear only if the human player started using them first.

> > And finally, a diplomat bribing an enemy unit is _not_guaranteed_ to move
> > to the unit's square, see diplomat_bribein server/diplomats.c.Thus
> >     /* if we came out of a city, try to return */
> >     if (pcity != NULL) {
> >       ai_unit_move(pdiplomat, pcity->x, pcity->y);
> >     }
> > in ai_diplomat_bribe_nearby can sometimes trigger an assert.
> Ah. Well spotted.

Well, not really spotted...  It came up in a test run.

BTW, your valuation of city bribing seems a little arbitrary to me.  I see 
several ways to evaluate this:

1. Assuming (in the spirit of Civ strategy) that we want this city no 
matter what, estimate the number of military units we would need to build 
to get it and compare their cost to the cost of diplo + bribe.

2. Consider this as an investment and then use the amortization technique.  
I can spin a pseudo-scientific argument for this formula:
          gain_incite = ((acity->tax_total + acity->science_total) *MORT 
                         - acity->incite_revolt_cost) * TRADE_WEIGHTING;
This is done assuming that the city is self-sustainable and it's 
tax/science output will remain the same and also the rate of inflation is 

3. A thourough appraisal of the city taking into account all defences, 
buildings and wonders, something that would be basis for diplomacy-based 
trading of the cities.

Obviously the way number 2 is the easiest.  It normally gives lower want 
than what is produced by your current calculation, which isn't a terribly 
bad thing IMO.


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