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

[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>, freeciv-ai@xxxxxxxxxxx
Subject: [freeciv-ai] Re: Opinions on some AI issues
From: Raahul Kumar <raahul_da_man@xxxxxxxxx>
Date: Mon, 17 Jun 2002 21:47:44 -0700 (PDT)

--- Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx> 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.

Interesting. I like the idea of splitting tech trees.

> This is a very basic idea.  It can be made more complicated (and therefore 
> flexible, I hope), by several means:
> 1. Split basic directions
>                  Military
>               /        \
>         Defense        Offense
>        /       \
>     Buildings Units
> 
> 2. Each tech can have a precomputed score in each of the directions.  
> You combine (scalar product) these with the civs weight and it becomes the 
> probability of this tech's selection.
> 
> 3. Each civ can have it's character reflected in the base wieghts.
> 

A little too much randomness. A civ that focuses on Republic and Sewer
System/Aqueducts with big luxury rates will be too powerful compared to the
alternatives.

> %%%%%%%%%%%%%%%%%%%%%%%
> 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 :)

Depends. If an air unit is attacking, and is a non veteran unit, better to go
for the easy kill that will make it veteran. It depends on whether the unit can
even be attacked. A naval unit is currently immune(Not for long though.
Artillery patch is coming).
 
> %%%%%%%%%%%%%%
> 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 is good enough. Once we select an island,if there is a
capital city we take that first. If there are wonder cities, we take them
ranked in order of wonder power. After that, take cities from biggest to
smallest.

> 
> %%%%%%%%%%%%%%%%
> V. Ruleset tips.
> 
> More!
> 
> For example:
> 
> 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.

No need for complex functions. If a military unit has less attack power(hps *
fp * attack rating) than the defending unit, it won't be defended. The non
military check makes sure we don't ignore caravans, spys etc. Probably
something as simple as fp * attack rating will do.

Aloha,
RK.

Where I was born and where and how I have lived is unimportant. It is what I
have done with where I have been that should be of interest. -Georgia O'Keeffe

__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com


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