Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2000:
[Freeciv-Dev] Re: AI Generally
Home

[Freeciv-Dev] Re: AI Generally

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Sam BC <sambc@xxxxxxxxxxxxxxxxxxx>
Cc: Freeciv Development Mailing List <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: AI Generally
From: Nicolas Brunel <brunel@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Jun 2000 14:00:52 +0000 (GMT)

Well, I tried to find Nouja wish list and failed. He, Reinier, I think
what you have written about orthogonalisaton is good. It's a long and
carefully written document. I'd like it to be available if you agree. 
Some tasks can be said to be independant. Goto is a good example. Once you
have defined to go somewhere it doesn't depend on the task the unit has
to performed. Now, in Freeciv code, the same is true for management of
settlers (except when it needs a ferryboat) and towns. If these
independant tasks are well written they can be used by human players also
to speed up gameplay. Other tasks can be added : patrol of a given area 
especially now with fog of war, attack of something with a group of units,
... Once, all this basic tasks are written. Totally independent tasks may
 become interdependent : an attack may
need reinforcement which will use goto, goto may need a boat to go from
one island to another one, to speed up construction of a wonder it's
better to build caravans,... Basic tasks were 'level 0' zero tasks. To
manage the construction of a boat needed to accomplish a goto, is a 'level
one' task. IMHO, to write AI code, these 'levels' have to be written one
by one. It would be very pleasant if AI can manage for you one island
while you are attacking someone on another island especially for large
game. Also, if these 'levels' are clear in the code, we can activate or
desactivate them. It will be easier to have a basic AI for beginner and
a rough one for tougher freeciv human players. But, ... , something like
what I describe will take several weeks of coding to be accomplished.

Bye,  




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