Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2002:
[Freeciv-Dev] Re: questions about agents
Home

[Freeciv-Dev] Re: questions about agents

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: questions about agents
From: "Per I. Mathisen" <Per.Inge.Mathisen@xxxxxxxxxxx>
Date: Thu, 4 Apr 2002 00:05:41 +0200 (MEST)

On Wed, 3 Apr 2002, Raimar Falke wrote:
> > > What are the current plans for Settler Management Agent?
>
> I will restart working on it if the new release is out.

Will this include autosettling of cities? Or just a replacement for
the current autosettlers?

> Long answer: The general idea is to create/copy-modify code which
> handles the basic tasks (auto*) and also higher tasks in a fashion
> which is ok for client side operation. This ai-code and the "classic"
> server code will both be put into the CVS tree. If at some point the
> "new" ai-code is as good as the "classic" one and the civbot is coded
> the "classic" one can disabled/removed.

So you want to have two AIs simultaneously in development without sharing
any code between them? Well, I can't say that sounds like an ideal
situation to me.

> > > And move GOTO to the client (please)?
>
> We have three users of goto (server, client and agents). If we can
> agree upon an interface and an implementation I would really to unify
> this and create a common/goto.

Does the client need anything from the server to create a client-side
goto, really? I thought it had all it needed in the map structs it
receives. Of course, then you can't have that cheesy "hey I can use GOTO
to see what is land and what isn't even though I haven't explore this part
of the map yet" effect, but I don't see that as a loss.

> This isn't the plan. If you want to use agents at the server you have
> to either use the civbot way or have to look at this for yourself.

So you are not opposed to, say, moving client/agents to common/agents, so
that this code can be shared between client and server AIs?

(Not that I intend to do the work of implementing this for server-side.)

> I see two points where we disagree:
>  - where should be code be placed client/agents (maybe with common/) vs ai

ai/ is kind of a bastard directory. The ideal would be common/agents/,
common/ai/ and server/ai/, but since we have ai/ already, we can just as
well pretend it is server/ai/ for all intents and purposes.

>  - whether we use the existing infrastructure in ai/ or not

I think we all agree that the current infrastructure sucks. But writing
code useable both by client and server AIs means we give the client AI a
head start when that time comes, while also improving the existing AI
today.

So perhaps we should start moving utility functions useful for both client
and server AI into common/ai/ already? Also we should make some kind of
policy on how to write server AI code so that it can be useful for client
AI - ie don't use this or that server-only code/data that isn't available
for client... I don't have any clue about that.

Yours,
Per

"While we're all in favor of Arafat doing more to suppress violence in
the Middle East, we fear that he doesn't have all that much influence on
the Israeli government. " --Sam Smith




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