[freeciv-ai] Re: time table for ai restructuring
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Mon, Jul 15, 2002 at 09:40:27PM -0400, Ross W. Wetmore wrote:
> At 11:02 PM 02/07/15 +0000, Per I. Mathisen wrote:
> >We have made plans for moving the AI eventually into client space. The
> >first step would be to add common stuff into client/ai/common/, like city
> >management (from CMA) and path finding. The second is to move the AI
> >sources physically in cvs to client/ai/<AI name>/. The third is to
> >actually make the existing AI work like a client. This plan is detailed in
> >README.AI already.
> There is a terminology problem that I think is skewing your perceptions
> and/or restricting your options. To repeat an earlier comment, agents
> are not AI, and their purpose as user GUI tools is not the model to use
> for a real AI.
I agree with most of the rest of your post Ross, but this confuses me.
I don't think Per is confusing agents with AI at all. I think he agrees
with me that Raimar's code shouldn't go to waste. There's no reason why
good (or at least ok) algorithmic code shouldn't be put as the disposal
of the server-side AI.
The point I've been trying to make is that the idea that it's good to
automate some tasks for a human is here to stay. For that to work, some
mechanism needs to be present to do that automation. ("Agents" are a
reasonable mechanism). As more automation is applied to tasks in the
human-controlled client, the automated part becomes more ai based.
Why not place the heavy-lifting parts of that automation at the
server-side ai's disposal. We cut down on duplication of code and
effort. The server-side (eventually to become client-side) ai also gets
the bonus of becoming a bit more modular.
The first exercise would be to take the city mananagement code (as
distiguished from the agent that calls into it) and stick it in ai/
The server-side ai doesn't have to (and probably won't) use it for quite
a while, but it's there.
perhaps you're right, ai/ doesn't need to go to client/ai, but
agents/cma_core.c (or most of it) needs to go to something like