Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2001:
[Freeciv-Dev] Re: patch: Modified can_build_improvment()
Home

[Freeciv-Dev] Re: patch: Modified can_build_improvment()

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Ben Webb <ben@xxxxxxxxxxxxxxxxxxxxxx>
Cc: Sebastian Bauer <sebauer@xxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: patch: Modified can_build_improvment()
From: Kevin Brown <kevin@xxxxxxxxxxxxxx>
Date: Mon, 20 Aug 2001 15:17:18 -0700

Ben Webb <ben@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, 20 Aug 2001, Kevin Brown wrote:
> 
> > If the client wants to build something, shouldn't it first query the
> > server to see if it's permitted?  Or tell the server that it's going
> > to do so and let the server tell it whether or not it worked?  The
> > server knows all the rules and has all the information about the game,
> > after all.
> 
>       Ideally, yes, but this would require a query to the server for
> every building type every time you want to change production in a city
> (and you'd have to do it for every city if the client had no intelligence,
> as different cities may be subject to different restrictions). This is bad
> from a bandwidth point of view.

Hmm...I suppose so.  I guess it depends on how you do this.

You don't have to do the check one at a time if there are multiple
things to check.  You can bundle them all together into one request
and send that off, and have the server respond in kind.

>       Also, as has already been pointed out, client-server
> communication is (essentially) asynchronous, so this kind of
> question-reply communication is tricky.

Yeah, this is a problem.  It's also surprising since this *is* a
turn-based game after all.  :-)


It's obviously desirable to minimize the amount of knowledge the
client has, since cheating gets easier as the knowledge the client has
(relative to what it needs) increases.  It's also, I think, quite a
bit cleaner.

Do we have hard numbers on just how much added communication overhead
queries such as this would create?


-- 
Kevin Brown                                           kevin@xxxxxxxxxxxxxx

    It's really hard to define what "unexpected behavior" means when you're
                       talking about Windows.


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