Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2002:
[Freeciv-Dev] Re: [Freeciv] rfc: autoattack
Home

[Freeciv-Dev] Re: [Freeciv] rfc: autoattack

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: Freeciv Development List <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: [Freeciv] rfc: autoattack
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 18 Nov 2002 20:35:05 +0100

On Mon, Nov 18, 2002 at 07:04:34PM +0000, Per I. Mathisen wrote:
> On Mon, 18 Nov 2002, Gregory Berkolaiko wrote:
> > > if you don't do deadly things into the server people will put them into
> > > the client.
> >
> > Client cannot interrupt goto route execution. Client cannot interrupt AI
> > movement (a good thing!).
> 
> A good thing? It is _really crappy_ to make feature which only works
> sometimes, and with no clear rule as to when it works and when it doesn't.
> Furthermore, this is simply mind-boogling when you consider that who will
> autokill whom will be decided by speed of your client connection more than
> anything else (since autoattack code removes the user's reflexes from the
> equation).
> 
> The _only_ redeeming feature for client-side is the current client-side
> goto which uses the server for resolution, which I think Raimar wants to
> remove. But is doesn't solve the problem, it only makes it less harmful.
> 
> > I think this server-side autoattack is turning the gameplay (at least
> > single-player) upside down. I am strongly against it.
> 
> As I have tried to explain before, this is what you get for turning a
> turn-based game into a real-time game without thinking real hard about
> design problems. You get nastiness like autokill, to which there are only
> two proper solutions:
>  1) give everyone equal opportunity to use it (ie server-side), or
>  2) institute alternating movement phases within the same turn
> 
> Everything else is a kludge.

I thought about the possibility of a client side auto-attack. Without
change in the server it won't work with the current goto of the
server. The client is just too slow and can't interrupt.

Either the server can't do such gotos anymore (client controlled goto)
and another client has client controlled auto-attack. Than we have a
battle of network connection ping.

Or we make it fair and the server asks the client if he wants to
attack (and wait for the answer). Problems:
 - we will read packet in turn-done (if we continue using the current
 goto)
 - to be nice (one cannon defends a few cities) the server has to
 calculate which units can attack the moved unit and has to send
 multiple do-you-want-to-attack? to the client.

This all isn't nice. The current solution isn't that bad.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "A common mistake that people make, when trying to design 
  something completely foolproof is to underestimate the 
  ingenuity of complete fools."
    -- Douglas Adams in Mostly Harmless


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