If we know the time a unit will need to reach the dropsite and return (or we can estimate it good enough), something like this might be possible: Have the gatherer count be a hard and soft limit, so gatherers currently working on the ressource count 1 to the hard limit (so e.g. only 5 workers can work on it concurrently). All gatherers being assigned to the ressource (whether currently working on it, returning to or from the dropsite or just being idle) would count <timetogather>/<timetogather+timetoroundtriptodropsite> to the softlimit (so no more than a total of 5 may be assigend to that ressource). That way, for a single player with one dropsite that all gatherers on this ressource use (this should be the main case), if assigned the max number of workers, this should balance out to a optimal (subject to rounding) gathering rate. The situation for more than one player on a single ressource might get more complex, but could work, too. As an example: If a ressource allows 5 gatherers, and units the player wanting to collect from it take 10 units of time to gather and 20 units of time to round trip to the drop site, he could assign at most 15 workers (15*(10/30)=5). If assigned at the same time, 5 of them would start gathering, at time 10 they'd go for the dropsite, so the second 5 will start gathering taking up to time 20, when the first 5 have reached the dropsite. At time 30, the third batch of workers will have finished gathering just in time the first batch arrives again and so forth. This still has the issue of being gameable by just filling the soft limit with units you'll never reach the target. Solutions to this could involve requiring a unit to at first reach the ressource and the return to it more or less regularly to be counted to the soft limit or using the soft limit only when the hard limit is used up.