Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2001:
[Freeciv-Dev] Re: AI Reenginering
Home

[Freeciv-Dev] Re: AI Reenginering

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: AI Reenginering
From: ccrayne@xxxxxxxxxxx
Date: Wed, 03 Jan 2001 16:46:17 -0800

In <20010103204648.23035.qmail@xxxxxxxxxxxxxxxxxx>, on 01/03/01 
   at 08:46 PM, "Luis Palma" <lpalma@xxxxxxxxxxxxxxx> said:

:So in a first phase I think it's worth to develop some kind of conceptual
:model from wich in the future we can develop a world-class AI
:infraestructure.

I think that everyone on this list would agree that the current AI does
not play very well, but most people don't care, because they prefer to
play against other humans. In addition, I think that anyone who has
thought seriously about what it would take to significantly improve the AI
level of play would agree that it would indeed require a major
restructuring, rather than just making incremental improvements to the
existing code.

On the other hand, my lifestyle is such that I am unwilling to schedule a
block of several hours during which I must devote my entire attention to
the game. Instead, I want to be able to suspend the game whenever I wish,
and for as long as I wish. Thus, I either play against the AI, or I don't
play at all -- so I may as well work on improving the AI.

Conceptually, it is quite clear what needs to be done. The AI plays like a
beginner, because, (like a human beginner) it does not understand the need
for multiple units and multiple cities to work together to achieve
specific goals. Each turn, for example, it iterates through the city list,
and makes various decisions about how that city should be managed. In
fact, it does this very well, thanks to some very detailed analysis of
both the present and future values of various alternatives. What it does
not do well, however, is to assign different cities to different roles in
order to benefit the civilization as a whole (e. g. a "science city").

Likewise, it iterates through the unit list, assigning short term goals to
individual units, but (with a few trivial exceptions) no concept of
combination play.

This entire design needs to be turned upside down. Instead of iterating
through unit and city lists, it should be iterating through a list of
projects which were developed from goals appropriate to the current phase
of the game.

I have already begun coding such an approach, however -- because of the
difficulty in trying to keep my own changes in synch with the ongoing
group development -- I have taken the approach of implementing my
prototype as a text mode client program.

Best,
        -- Chuck Crayne
-----------------------------------------------------------
ccrayne@xxxxxxxxxxx
-----------------------------------------------------------




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