Complete.Org: Mailing Lists: Archives: freeciv-ai: April 2002:
[freeciv-ai] Re: README.AI

[freeciv-ai] Re: README.AI

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx>, "Per I. Mathisen" <Per.Inge.Mathisen@xxxxxxxxxxx>
Cc: freeciv-ai@xxxxxxxxxxx
Subject: [freeciv-ai] Re: README.AI
From: Raahul Kumar <raahul_da_man@xxxxxxxxx>
Date: Tue, 30 Apr 2002 19:33:08 -0700 (PDT)

--- Gregory Berkolaiko <Gregory.Berkolaiko@xxxxxxxxxxxx> wrote:

Should we stick Ross in here? Ross, do you want your name in the Doc?

> ===========
> If you wish to get in touch with the Crew about AI problems and have
> save games and a method for reproducing the problem in hand, here are
> the email addresses:
>   Petr Baudis          <pasky@xxxxxxxxxxx>
>   Gregory Berkolaiko   <gregory.berkolaiko@xxxxxxxxxxxx>
>   Per I. Mathisen      <per.inge.mathisen@xxxxxxxxxxx>
>   Raahul Kumar         <raahul_da_man@xxxxxxxxx>
> =================
> Build calculations are expressed through a structure called ai_choice. 
> This has a variable called "want", which determines how much the AI 
> wants whatever item is pointed to by choice->type. choice->want is
>    -199   get_a_boat
>    < 0    an error
>    == 0   no want, nothing to do
>    <= 100 normal want
>     > 100 critical want, used to requisition emergency needs
>     > ??? probably an error (1024 is a reasonable upper bound)
> These are ideal numbers, your mileage while travelling through the 
> code may vary considerably.  Technology and diplomats, in particular, 
> seem to violate these standards.

Still missing a comment.

When want exceeds 200, it is capped below that number. 

> ============================
> * The AI difficulty levels aren't fully implemented. Either add more
> handicaps to 'easy', or use easy diplomacy mode.
> * AI doesn't understand when to become DEMOCRACY. Actually it doesn't 
> evalute governments much at all.

I'd prefer to see this line.

* AI doesn't understand when to become DEMOCRACY or FUNDAMENTALIST. Actually it
doesn't evalute governments much at all.

> * Cities don't realize units are on their way to defend it.
> * AI doesn't understand that some wonders are obsolete, that some 
> wonders become obsolete, and doesn't upgrade units.

Some version of amortize for wonders is needed.

> * City tile values are not cached; wastes CPU time.

Bad Greg ;). Get rid of this line.

> * Settlers won't treat about-to-be-built ferryboats as ferryboats.

Per disagrees.

> * AI sometimes will get locked into a zero science rate and stay 
> there.

What causes this behaviour? I have seen it. Any chance someone has isolated
exactly where it happens in the code/why?

> * It may be correct to starve workers instead of allowing disorder to 
> continue.

I'd prefer to use CMA to manage workers instead of current code.

> * struct choice should have a priority indicator in it.  This will
> reduce the number of "special" want values and remove the necessity to
> * have want capped, thus reducing confusion.

Aargh. Let me restate my position. Want should work in such a way that we don't
need priority indicators. This means

Getting rid of the ability of want to reach > 100

0-80 normal want
80-90 critical
90 buy now.

Smart, sensible and obvious. The priority scheme means a want of 40 with the
highest priority would supercede a want of 100 with a lower priority. This is
ugly and stupid.

Do You Yahoo!?
Yahoo! Health - your guide to health and wellness

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