Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2001:
[Freeciv-Dev] Re: multiplayer mode is all that counts
Home

[Freeciv-Dev] Re: multiplayer mode is all that counts

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Reinier Post <rp@xxxxxxxxxx>
Cc: freeciv-dev@xxxxxxxxxxx (Freeciv developers)
Subject: [Freeciv-Dev] Re: multiplayer mode is all that counts
From: "Ross W. Wetmore" <rwetmore@xxxxxxxxxxxx>
Date: Thu, 20 Sep 2001 20:03:16 -0400

There is no reason why an AI cannot be built on top of essentially the
same commands/protocol a human currently uses. Even for humans, one needs
to carefully manage the data flow so it is neither too bursty for bulk
processing and comprehension, nor too fine grained with latency problems.

Another way to think of this is developing an API or commandline style 
(CLI) thin client layer with some data organizing/caching on top of the 
protocol stream. Shell scripts and other low level processing functions 
could efficiently interact through this interface to read and manipulate 
raw model/data. Complex UIs can do there UI thing by interacting with an
essentially local data store. But the split in low-level communication
and core data updates vs human UI or AI-clients allows a lot of flexibility
in plugging what you want on the top of the base client pipe.

It would be really nice too if the server AIs read all their data from an
internal stream/queue that was just a redirection of the typical client
server flow, and sent their updates and queries back by this route. This
may not be that difficult to actually implement, and part of the benefit
would be a more even "round robin" mixing of server AI (and exceptional
human players :-) queued actions.

With somthing like this you then have two interesting possiblities. The 
first is self-contained server modules where you could plugin different 
AI personalities. The second is stream filters where remote and server
processing can be mixed depending on which actions the filter is told
to handle locally and which it forwards to the remote human/AI client.

Cheers,
RossW
=====

At 02:02 PM 01/09/20 +0200, Reinier Post wrote:
>> I think most of client-side AI could be done this way.  There could be
>> hooks for science report, combat, turn start, etc.
>> 
>> What does everybody think?
>
>I think AIs should be executed in the server to avoid the introduction
>of state into the protocol.  (But I'm not going to code it so don't
>listen to me.)
>-- 
>Reinier




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