Complete.Org: Mailing Lists: Archives: freeciv-ai: January 2003:
[freeciv-ai] AI "personalities"
Home

[freeciv-ai] AI "personalities"

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-ai@xxxxxxxxxxx
Subject: [freeciv-ai] AI "personalities"
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Sun, 5 Jan 2003 23:03:52 +0000 (GMT)

I've been adding some code to the AI diplomacy patch that implements AI
personality traits. It is currently unused since I don't know where these
traits should be set. They are stored in the ai_data struct.

They are at the moment:

enum diplomacy_type {
  DIP_NONE = 0,         /* No attitude */
  DIP_PACIFIST = 1,     /* Avoids war */
  DIP_MILITARIST = 2,   /* Aggressive */
  DIP_TRADER = 4,       /* Trades easily */
  DIP_GREEDY = 8,       /* Hard to trade with */
  DIP_XENOPHOBE = 16,   /* Suspicious */
  DIP_TRUSTWORTHY = 32, /* Trusting and can be trusted */
  DIP_BACKSTABBER = 64, /* Happily agrees to anything and then... */
  DIP_MEGALOMANIAC = 128/* Does not share victory */
};

One idea is to set "easy" AI to DIP_TRADER, DIP_PACIFIST and
DIP_TRUSTWORTHY, and "medium" to DIP_TRADER. But I also want to allow
scenarios to set these traits, somehow. Not sure how that would/should mix
with them also being set by difficulty levels, nor where those traits
should be stored (nation rulesets or as server commands or in savegame).

Also, I'm questioning the wisdom of using a separate system of traits for
diplomacy alone. Perhaps it should be generalised to replace the currently
unused advisors system so that the traits also could affect other parts of
the AI. In that case, it may be desirable to build on Raimar's idea of a
separate function for all WAGs, which can change them for various AI
personalities.

I need some comments and ideas here.

  - Per



[Prev in Thread] Current Thread [Next in Thread]
  • [freeciv-ai] AI "personalities", Per I. Mathisen <=