Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2001:
[Freeciv-Dev] Re: BUG: Goto is executed too early
Home

[Freeciv-Dev] Re: BUG: Goto is executed too early

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv Developpers <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: BUG: Goto is executed too early
From: Christian Knoke <ChrisK@xxxxxxxx>
Date: Sun, 25 Feb 2001 17:41:49 +0100

Reinier Post wrote:
> 
> On Fri, Feb 23, 2001 at 02:08:48PM +0200, Joona Kiiski wrote:
> >
> > I don't know if this a bug:
> >
> > You attack on enemy city and destroy the last defending unit.
> > Your enemy buys new unit in the city to defend at next turn.
> >
> > But if you now use goto-command (target empty city),
> > you occupy city before new unit is
> > created. I think that is a bug!
> 
> No, it is a feature.  Goto is executed at the server side, before
> interaction from the clients is processed.  It is processed player
> by player, with the players in a random order.
> 

Are you sure with this? I've thought the Goto is performed
always at the beginning of the next round, i.e. after the
real production of units and buildings, after tax and
science computation a.s.o. (= turn update)

>   http://www.freeciv.org/lxr/source/server/srv_main.c?v=cvs#L427
> 
> This will call 'AI management' on all the player's units, which
> includes goto as a special case, see
> 
>   http://www.freeciv.org/lxr/source/ai/aiunit.c?v=cvs#L1803
> 
> > The order should be:
> > First new stuff is built and then players (or goto functions) move units
> 
> So you think there should be a round of city movement for all players
> first, then a full round of unit management?

I think that's not the point.

> 
> > This is easy to reproduce.
> 
> Definitely, it is the same as the 'my opponents perform two moves at
> once' "bug".  It is a feature because it makes goto more powerful to
> help neutralize differences in hetwork latency.

Well, I reclaimed that "bug" long time ago. I've learned, the AI moves
after the human players, and can initiate a Goto, which then will be
performed at the beginning of the next round.

But, if it is performed _before_ the production update phase, I'm
not happy with this.

> Reinier

Greetings
Christian

-- 
* Christian Knoke                           +49 4852 92248 *
* D-25541 Brunsbuettel                  Wurtleutetweute 49 *
* * * * * * * * *  Ceterum censeo Microsoft esse dividendum.



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