Complete.Org: Mailing Lists: Archives: freeciv-ai: December 2002:
[freeciv-ai] Re: RFC: Behaviour constants.
Home

[freeciv-ai] Re: RFC: Behaviour constants.

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>
Cc: Freeciv AI development <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: RFC: Behaviour constants.
From: Mike Kaufman <kaufman@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 4 Dec 2002 16:39:09 -0600

On Wed, Dec 04, 2002 at 10:27:52PM +0000, Gregory Berkolaiko wrote:
> How can we improve AI without going too deep?
> 
> This is a legitimate question, and an answer to it is given by various 
> constants and factors and multipliers that the AI code is peppered with.  
> Examples are: what is considered to be a small nation (number of cities) 
> -- used to encourage settler building; what is the default danger for 
> capital; what is food/shield weighting etc.

I don't have an answer for this one right away. Ross, I imagine should be
able to expound on this for quite some time.

> 
> Some of these numbers are defines, some are just plain numbers.  What I 
> propose is to collect them all in some .h file included in all AI files, 
> so they can be tweaked in a systematic way.  Then tweak them and run 
> pitfights, lots of them.  There ar, of course difficulties like "constant 
> is constant for all nations", but they are solvable.

I would strongly suggest that instead, we create a ruleset file somewhere
in data/, so that these parameters can be tweaked without recompile. This
would go a long way toward creating "personalities" for ai. Once we have a
set of parameters, we can actually do this:

create Shaka   "warmonger"
create Neville "passive"

with "warmonger" and such defined in said ruleset file

> A note on pitfights: when I did it, I used Per's script, but slightly 
> modified.  I would run a gmame with two players H and E, and each map 
> would be run twice, the second time with E in H's starting position and 
> vice versa.  Then if E would lose both games I knew my changes were making 
> it weaker; if E won both games, it was becoming stronger.

the last time this came up, I created a symmetric pitfighting map, so that
wouldn't be necessary. I probably still have it around if you want it.

-mike


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