Contention for pickup/deliver of resources

Bug #535882 reported by supermathie
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
widelands
Invalid
Undecided
Unassigned
widelands (Debian)
Fix Released
Unknown

Bug Description

The mechanic for picking up/delivering resources seems majorly flawed.

I have problems with deadlock (3 carriers all waiting to deliver to one flag, or the headquarters). You can see this in my attached saved game, near the wheat farms.

Similarly, moving resources is also significantly slowed down due when waiting for another carrier - you can see this below my carpenter right outside my headquarters in the saved game.

I also encountered a situation where a carrier would pick up one resource, carry it to a flag, then pick it up again and carry it back - over and over. The pathing logic seems not to be able to handle loops very well :/
I wasn't able to reproduce it in the saved game.

On the other hand, great job so far! This game will be wonderful once it's done.

Revision history for this message
Sigra (sigra) wrote :

Logged In: YES
user_id=31104
Originator: NO

It is intentional that carriers wait to deliver to a flag if it is full. But of course the transport system needs to become smarter. We are very aware of that.

Revision history for this message
Brecht De Rooms (itsjar) wrote :

Hi,

I just was going to report the same bug:
http://192.168.1.200/~bderooms/deadlock.png

I'd like to add to it that the problem is caused by a carrier who wants to deliver something and he can't cause it's full and when exactly THAT carrier is the only possible solution to solve the deadlock. He's standing there with a log in his hands while everyone is waiting for him to remove stuff from that point.

I'm also a programmer and would take a look at it if I didn't have my thesis at my head but I think it can be solved in one line of code by allowing a 'carry-guy' to put down his resource while going over the 'limit' if he makest the promise he takes something with him. Later on it would also be nice to implement a way to see that a flag is getting too much resources stocked by just changing the color of the flag or putting an exclamation mark on it.

I hope that helps,
Brecht

Revision history for this message
SirVer (sirver) wrote : Re: [Bug 535882] Re: Contention for pickup/deliver of resources

Your suggestion has been in the code forever. This cannot be the
problem.

Revision history for this message
_aD (ad-simplypeachy) wrote :

Also reported at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=671719

I've attached a savegame (see marble mines) from bzr6567 showing a deadlock as mentioned in #2 "the problem is caused by a carrier who wants to deliver something and he can't cause it's full and when exactly THAT carrier is the only possible solution to solve the deadlock."

Kiscsirke (csirkeee)
Changed in widelands:
status: Fix Released → Confirmed
Revision history for this message
Nicolai Hähnle (nha) wrote :

Do you have a replay leading up to that savegame?

Revision history for this message
_aD (ad-simplypeachy) wrote :

Replay files for save game on comment #4 - Widelands trunk revision 6567

Changed in widelands (Debian):
status: Unknown → Confirmed
Revision history for this message
SirVer (sirver) wrote :

Setting to incomplete for bug sweeping.

Changed in widelands:
status: Confirmed → Incomplete
Revision history for this message
SirVer (sirver) wrote :

I cannot load the attached savegame or reproduce the bug.

Changed in widelands:
status: Incomplete → Invalid
Changed in widelands (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.