Complete.Org: Mailing Lists: Archives: freeciv-ai: June 2002:
[freeciv-ai] Re: Opinions on some AI issues

[freeciv-ai] Re: Opinions on some AI issues

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>
Cc: freeciv-ai@xxxxxxxxxxx
Subject: [freeciv-ai] Re: Opinions on some AI issues
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Thu, 20 Jun 2002 13:05:20 +0200

On Mon, Jun 17, 2002 at 07:29:19PM +0100, Gregory Berkolaiko wrote:
> Just to let you know my opinion on a couple of issues and maybe also 
> revive the list.
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> I. Technology selection by AI.  
> Right now the AI evaluates units (and I 
> guess buildings) that it can build to select the build but it also 
> evaluates the things it cannot yet build and if they are found useful, 
> the want of the enabling techs is bumped up.  IMO it is a very good 
> philosophy.  Unfortunately it is hard to maintain, hard to generalize, it 
> encourages spaghetti-coding and slows down the server.  Also it is hard to 
> weigh importance of musketeers on the same scale as importance of 
> cathedrals.
> Instead I suggest that tech slection be done randomly, based on some
> general tendencies.  We can define few general tech directions, like
> Social, Economy, Military.  Then we can have base weights for each civ
> plus some situational modifiers (e.g. a lot of cities in danger -- go for
> Military, too many elvii -- go for social, empty coffers -- go for
> economy).  The next tech will be selected randomly with more probability 
> going to the more desired directions.

Nice idea. But it looks to me that this will be a bit undirected. This
will lead IMHO to an AI which will loose tech races for bonus techs or
steam engine.

You may also want to include how much the given tech will enhance your
abilities in the given area. Can be measured easy for military units
but other factors are more difficult.

> II. Fuzzy AI
> Fuzziness is good.  AI should make mistakes.  Some might argue that the 
> whole AI behaviour is one big mistake, but I disagree.  Fuzziness is cheap 
> and general method to have a spectrum of difficulty levels.  We mustn't 
> rely on it exclusively, of course, but neither we should ignore it.

IMHO AI should compute exact decisions if exact decisions can be
computed. Exact decisions may be computable but it would be too
expensive to do so. Exact decisions may be blurred _afterwards_.

> III. Danger estimation.
> When evaluating danger, it is important to remember the most dangerous 
> units.  In order to attack them later.  Right now the priority is to 
> attack more expensive and less defended units.  But choosing to attack a 
> caravan over a guarded howitzer can be deadly (another argument in favour 
> of fuzziness: AI will always attack one and not the other -- and one can 
> exploit it).  Of course it is better to kill both :)


> IV. Invasions.
> Invasion targets should be selected on a high level.  The current 
> "everybody is going there so I go there too" attitude is pathetic.  But 
> what is a good city to attack?

Nearest enemy island sounds good but you can also take the strength of
the enemy and distribution of attacking and defending forces into
account. And the production distribution. Ideally you have a good
developed area with a lot of production near an enemy underdeveloped
area. This will reduce the move delay.

> Bodyguarding is a great idea.  CivIII got it (I think they stole
> quite a few features from FreeCiv, actually).  But to see a rifleman
> guarded by a mech.inf. is hilarious!  It happens because rifleman
> had 5A > 5D which qualifies him as an attacking unit.  And 6A/6D
> mech.inf. is a defender!  How do we distinguish an attacking unit
> from a defending one?  We can write complicated functions or we can
> use more role tips in the rulesets.

You can calculate the average att to def ratio for the current units
(the enemy ones you have seen and/or depending on the technology) and
than compare the att to def ratio of a given unit to this average.


 email: rf13@xxxxxxxxxxxxxxxxx
 "Reality? That's where the pizza delivery guy comes from!"

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