Complete.Org: Mailing Lists: Archives: freeciv-ai: July 2003:
[freeciv-ai] Re: AI Diplomacy v11 (PR#2413)

[freeciv-ai] Re: AI Diplomacy v11 (PR#2413)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [freeciv-ai] Re: AI Diplomacy v11 (PR#2413)
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Mon, 21 Jul 2003 08:45:01 -0700
Reply-to: rt@xxxxxxxxxxxxxx

On Sun, 20 Jul 2003, Gregory Berkolaiko wrote:
> Here are some comments to the code (note that I haven't tried compiling
> it, but spent about 1,5 hours reading the code):
> 1. Comment to aisupport_distance_to_player.
> 2. Make greed() like progressive taxation.

I don't understand the two above.

> 4. Same, why can we not make peace with someone who is allied with our
> enemy? It's good for us, and bad for our enemy (he will get annoyed and
> break the alliance).

I think Thomas explain this one well.

> 5. Same,
>       worth = greed(adip->love - (ai->diplomacy.love_incr
>                                   + ai->diplomacy.love_coeff));
> then, 5 lines below
>       worth = greed(adip->love - (ai->diplomacy.love_incr
>                                   * ai->diplomacy.love_coeff));
> (a) note the disparity in the arthmetic
> (b) why bother with love_incr/coeff ?Be simpler!

I am not sure what you want here.

> Also, it's good to define "gift", it took m a while to
> figure out that it's a treaty with _every_ clause favourable to us.
> Also, even if it's not a gift, just a favourable (overall) treaty, we can
> increaselove by a smaller amount?

Hard to do right, I think.

> 8. Does AI ever break an alliance, or only if it loses patience?


> But AIs are true to their ally obligations, so this no threat to
> patience.

The AIs do not always fulfill their ally obligations, I think.

> Need some strategic thinking, if the alliance is still needed.

I am not sure about this. I think breaking alliances would be bad for
multiplayer games, while better for single-player. This is probably
something that needs very careful fine-tuning.

> 10. In ai_diplomacy_actions
>   /* Spam control */
>   adip->spam = MAX(adip->spam - 1, 0);
> ....
>   if (adip->spam > 0) {
>     /* Don't spam */
>     continue;
>   }
> The MAX is not needed.

Yes, it is. We don't increase adip->spam for AIs, so this counter could go
far into the red ink, which would be bad if a human took over.

> 12. Assumption that we should wage war at least on one other civ is
> inherent in the code.In the future it should change IMO.  If the civ has
> decent (or the best) research rate, it should consider getting a tech
> advantage first.

I agree. Note that we already try hard to avoid war if we build a
spaceship and we lead the spacerace. Adding additional conditions would
not be too hard, but generating the truth values of those conditions would

  - Per

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