Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2005:
[Freeciv-Dev] Re: (PR#12840) delay in pollution patrol (possible causes)
Home

[Freeciv-Dev] Re: (PR#12840) delay in pollution patrol (possible causes)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] Re: (PR#12840) delay in pollution patrol (possible causes)
From: "Brian Dunstan" <bdunstan149@xxxxxxxxx>
Date: Mon, 18 Apr 2005 23:59:19 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12840 >


--- Jason Short <jdorje@xxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> <URL:
> http://bugs.freeciv.org/Ticket/Display.html?id=12840
> >
> 
> Brian Dunstan wrote:
> 
> > In any case, I think this is happening because,
> when
> > worker assignments are being given, it iterates
> > through the workers, and the first worker that
> finds
> > that cleanup job to be its best use of time,
> reserves
> > the square.  This is done by setting a bit in
> > ptile->assigned.
> 
> Indeed.
> 
> This is just an example of a general problem that
> assignments are done
> by worker not by tile.  In the client this leads to
> a problem because
> workers tend to move a long long way to do their
> work - leading to
> unnecessarily long animations.  And overall it's not
> very efficient.
> 
> I suspect there's an algorithm that will solve this
> problem optimally.
> But I don't know what it is just yet.
> 
> -jason

I think the way to think about is that the workers
have a ordered list of where they want to work, and
the tiles have an ordered list of who gets first
priority to perform work there (closer is better). 
There are a number of algorithms for performing the
matching, but explictly making those lists would mean
a bigger patch. Maybe there's a better way.

-Brian




                
__________________________________ 
Do you Yahoo!? 
Plan great trips with Yahoo! Travel: Now over 17,000 guides!
http://travel.yahoo.com/p-travelguide





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