Complete.Org: Mailing Lists: Archives: freeciv-ai: March 2004:
[freeciv-ai] Re: [Freeciv-Dev] Re: FreeCiv Diagrams

[freeciv-ai] Re: [Freeciv-Dev] Re: FreeCiv Diagrams

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Raimar Falke <i-freeciv-lists@xxxxxxxxxxxxx>
Cc: freeciv-ai@xxxxxxxxxxx, freeciv-dev@xxxxxxxxxxx
Subject: [freeciv-ai] Re: [Freeciv-Dev] Re: FreeCiv Diagrams
From: nikodimka <nikodimka@xxxxxxxxx>
Date: Sat, 27 Mar 2004 08:29:14 -0800 (PST)

--- Raimar Falke <i-freeciv-lists@xxxxxxxxxxxxx> wrote:
> On Fri, Mar 26, 2004 at 07:22:02PM +0100, Guillermo Lopez Alejos wrote:
> > 
> > > So you want to create a console interface to the client?! And the
> > > puppeteer will be this interface?!

Oh please!
I've double checked the dictionaries. Its double p. pupPeteer

> > 
> > Errr... yes, that's what I thought... wasn't it the idea?
> > 
> > > Note that the console interface will also have to provide general game
> > > data in addition to agent related data.
> > 
> > Agent related data?, example please :)
> Everything which is in agents.c.
> > > Also note that such console interface doesn't have to agent related in
> > > any way. And also note that such console interface can/could/will be
> > > used to build other stuff than client side AI.
> > 
> > nikodimka told me that pupeteer is implemented as an agent. But it
> > looked strange to me, why implement it as an agent?.
> Good question. We have to ask him.

puppeteer should follow the game state changes.
and the easiest way for it to recieve the changes data is to 
become an agent.

puppeteer is essentialy not "how it is implemented" but
it is an interface. It's a set of two languages. 
the language of commands, and the language of responces.

> > > That is how I understood it. You may disagree and may want to make it
> > > more concrete what you plan.
> > 
> > Well, I don't know. I only want to create that interface and I'm looking
> > where I have to put it in the code. I thought that pupeteer was the
> > first step to the client side interface.
> > Anyway pupeteer isn't much more different than an interface built into
> > the client internals... is it?
> I don't think so. It should be an _interface_ for both common client
> data/functions and agent data/functions.

Yes. I assume it this way. 
Although all I have now is a single incomplete interface implementation.

There could be separate console client which is not tied to any GUI client
which would still implement the interface.

I try to balance between human readable and machine readable forms so 
that it can be used directly to chat with freeciv by a human 
or for whatever automated system to interface to freeciv.

I have already written the following some times ago, but I would like to reapeat
to clarify a bit once again. The intended uses of the puppeteer are *manyfold*:

-- just a console to help debuging, logging etc
-- fullfledged textual client
-- the same for people with disabilities
-- game demos and tutorials. If someone writes a logger which produces 
puppeteer commands,
   and if there is a way to make the civserver to behave deterministic
   then this log could be feed back to puppeteer and the game would be 
   repeated again.
-- any kind of external AI. Advisers, players.

I think it would be great if I could succeed in any of the above.


PS: shouldnt we decide which of the two mailing lists we want to go with
    and drop the second one? 

Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.

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