Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2002:
[Freeciv-Dev] Re: CMA passes back control without reason (PR#1505)
Home

[Freeciv-Dev] Re: CMA passes back control without reason (PR#1505)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: CMA passes back control without reason (PR#1505)
From: Christian Knoke <chrisk@xxxxxxxx>
Date: Mon, 3 Jun 2002 23:51:01 +0200

On Mon, Jun 03, 2002 at 11:05:25PM +0200, Reinier Post wrote:
> On Mon, Jun 03, 2002 at 06:56:53PM +0200, Raimar Falke wrote:
> 
> > > I am not quite sure what you mean by 'freeze this chain'.  The server
> > > can send a 'save attributes now' message to the client, with an ID of
> > > the savegame (as you pointed out, hostname+port+timestamp+turn is not
> > > good enough, but hostname+port+timestamp+turn+number-of-saves-this-turn
> > > will work I think).
> > 
> > A hash of the savegame file simpler and more robust.
> 
> Aah, I didn't understand what you mean with a 'hash'.  Yes, looks good.
> 
> > > The drawback is that for many reloaded games the client will not have
> > > any attribute info in this case.
> > 
> > Harddisk space is cheap. So I don't see a problem retaining a lot of
> > attribute files which are some kb in size.
> 
> The client may not have been connected to the game at all.  E.g. you
> probably didn't play in 99% of the the thousands of savegames on
> civserver.freeciv.org.

Here is the point where I don't follow Raimar. He claims that agents
*need* to have a memory. But there certain are a lot of situations where
this is impossible. The agents have to (and of course will) have a way
to start work from the "blank table". And thats why I think they shouldn't
have a memory at all. Think of an improved AI which remembers the positions
of units it can no longer see. Want to save that? What happens if you play
a single turn without the AI? All data lost?

If there is a server side, central, authoritative memory, you run into
problems: some of them have been mentioned. What if you use different
agents for the same task? They can't share their data. What if another
player continues your game, with another client?

If the memory is client-sided, you have the sinchronizing problem. Same
problems as above apply also.

I think the only content of an agents memory can be user input, some
presets, some goals and targets the user has defined. These data can
be read and loosely associated to a loaded game by the client at game 
start, always keeping in mind they may no(t) (longer) be valid. The agents
need the knowledge to realize the goals into specific action. And there
are other agents which will advice them.

But you may say this is cheap talk.

Christian

-- 
Christian Knoke     * * *      http://www.enter.de/~c.knoke/
* * * * * * * * *  Ceterum censeo Microsoft esse dividendum.



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