Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2002:
[Freeciv-Dev] Re: rfc on allowconnect
Home

[Freeciv-Dev] Re: rfc on allowconnect

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: rfc on allowconnect
From: Robin Dziama <rdziama@xxxxxxxxx>
Date: Fri, 12 Jul 2002 07:29:23 -0400

At 10:09 AM 7/10/02 +0200, you wrote:
>On Tue, Jul 09, 2002 at 11:59:11PM -0400, Robin Dziama wrote:
>> Please excuse a suggestion by a newbie to freeciv, but a long time
developer.
>> 
>> If the current client is transformed into a server-client pair with the
>> local server behaving as a client with regard to the game server and
>> allowing local clients that can accept observer connections as well as
>> allow the player to have multiple views (a trident tileset on one desktop
>> with a hires on another ) might be a simpler approach. I'm also thinking
>> multi-threaded. 
>
>I don't see how this is simpler, but it would help programs like Civworld.
>

Simpler is perhaps the wrong word. Maybe compartmentalized. I'm not
familiar with Civworld.

>I think it is wrong to equate 'local' with 'privileged'.  'local' ->
>'privileged' is a valid inference on a single user OS, the reverse is
>never valid (why not display the trident view on a different host?).
>
>On a multiuser OS, even if clients connect to the server over local
>(Unix) sockets they may belong to a different user than the server.
>
>It's true that the server program itself could automatically spawn a client
>with full privileges, but this is not always desirable.  We don't want
>to run clients on civserver.freeciv.org for example; the required libraries
>aren't even installed.
>
>-- 
>Reinier
> 

I've drawn a simple diagram that might explain better (it's a bmp, hope
that works). 

The idea is to allow the local server to talk to civserver in exactly the
same way as it normally does, but to manage the connections that it accepts
from clients differently. A local server could allow (accept and act on)
commands from only one of its clients, so the others are all observers.
Sure the clients could come from other machines, but that is an advantage.
It means that a team could be working within one civ that is attached with
one local server and all their actions would be coordinated through the one
fully-privileged client. 

I'm inserting this gushing bit of stuff that I wrote to give an idea of
what I'm aiming at. You've all done such a great job on this that I get
rather enthusiastic about this game at times. 

---- insert  ---

A vision of freeciv.

The current client becomes a server/multiple clients system in which the
local server talks to the civserver just as the current client does, and
all the other local clients are invisible to the civserver. The local clients
could be multiple views (observers) or team members, but only one of those
is actually playing the game (giving commands to the local server). At
some point the "low" end of the game could be expanded to include a
simulation city builder, so that the team members could each be building
a city and coordinating in the actions of the civilization.

On the other end, remove the limits based on current conceptions of the
hardware capabilities and make them configurable. Better machines and
faster networks ( and improvements in the software ) will make these
limits obsolete. If I'm running a local gigabit lan with good machines,
then limits could be expanded. The limits I'm talking about are map size,
end year and multiple optional star systems to explore.

Which leads me to the other end of the spectrum. Once a space system is
launched,
why stop the game when it arrives? Why not either spawn a new server with
a new map of a new planet to settle (with lots of good technology right
at the start) or connect to a server that's already managing that planet.
And maybe that planet is already inhabited and you get to be an invading
space alien! Perhaps the choice of which star system you target for your
space ship is the list of available planets/servers that are 1 hop away.

Why let the game ever stop, if the players don't want it to stop?

Why not build galactic empires, either solo or through the merging of
civilizations? The former rulers of the independent civilizations could
become council members who rotate leadership (and maybe try to foment
a rebellion and take over the whole thing!).

The possibilities are awesome. A persistent virtual universe is awaiting!

But we need to build a client-server architecture that allows it, and the
sooner the better.
 ------------------------------------------

Attachment: diagram.bmp
Description: Binary data






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