[freeciv-ai] Re: Opinions on some AI issues
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
--- 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
> 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
> / \
> 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
> 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
> V. Ruleset tips.
> 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.
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