Re: [Freeciv-Dev] settler teamwork patch
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Tue, Feb 02, 1999 at 12:19:15AM +0100, Nicolas BRUNEL wrote:
> - If you want you can also check if there is something to
> change for ai in settlers_find_work.
I took a look at this, but I'm unable to change it. The way the AI
does this doesn't fit well with the settler teamwork concept.
As a human player, the only times I use the settler teamwork are when I
have long-running tasks (or decide to begin one) that I'd like to speed
up. Thus, I choose the task first, then allocate settlers to it. And
I don't think I could describe my own algorithm for choosing tasks --
it's rather complex and involves long-term strategy decisions (which
the current AI does not even attempt to do, as far as I can tell).
The AI, on the other hand, loops over all the tiles of its cities and
omits the ones that already have a settler "assigned" to them. It
considers possible improvements, and chooses the most worthy tile, and
tells someone to go there. Then when the settler gets there, it loops
over all the possible improvements to that tile to decide what to do to
it. This is the opposite of what I do -- the AI chooses a tile first,
then allocates settlers to it, *then* chooses one task (entirely based
on short-term considerations). The decision to skip a tile is based
on whether someone's already there or on the way, and does not take into
account parallel improvement possibilities (e.g., mining and building
a railroad at the same time), let alone teamwork on the same task.
Teaching the AI to use settler teamwork would require redesigning and
rewriting major portions of the settler work-finding code. The same
applies to teaching it to do simultaneous improvements on the same
tile, and that would be a much more useful skill for the AI to learn.
|
|