[wish] removing 2nd carrier when road is not busy

Bug #920316 reported by Angelo Locritani
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
Wishlist
Unassigned

Bug Description

I think would be nice to remove the second carrier (ox, donkey, etc...) when the road is no more really busy.

Related branches

Revision history for this message
SirVer (sirver) wrote : Re: [Bug 920316] [NEW] [wish] removing 2nd carrier when road is not busy

A valid suggestion. It has little practical applications in the game
though because you usually have plenty of second carriers once you
solved the initial congestion problems.

  status confirmed
  importance wishlist

Changed in widelands:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Astuur (wolfsteinmetz) wrote : Re: [Bug 920316] Re: [wish] removing 2nd carrier when road is not busy

Angelo, just an idea, while your knowledge of the code is still fresh:

Personally I never felt the need to redraw the carrier beasts, because I
always tend to produce too many of them.

However, being able to populate a new build road immediately with double
carriers, without having to wait for the slow automatism
would be a real advantage in some cases.

Do you see any chances for such a thing?
Astuur

Am 11.02.2012 13:51, schrieb Angelo Locritani:
> ** Branch linked: lp:~alocritani/widelands/bugfix-920316
>

Revision history for this message
SirVer (sirver) wrote :

Astuur, do you propose a UI button to manually upgrade a road?

Revision history for this message
Astuur (wolfsteinmetz) wrote :

Yep - if anything, I think this could be more useful than downgrading a
road to single carrier status.
but it's a bit "micro managing" maybe (just like the downgrade)

Am 12.02.2012 11:56, schrieb SirVer:
> Astuur, do you propose a UI button to manually upgrade a road?
>

Revision history for this message
Jens Beyer (qcumber-some) wrote :

I guess handling this by automatic is more the "widelands" way of managing.

If you want to have something manual in the widelands way, this would be a setting for enabling/disabling automatic management of second carriers for each and every road, and a default to enabled.
If the user sees a donkey at one road where he doesn't want them, it is then necessary to raze the road (thus free the donkey), re-establish the road, and set the setting to prevent automatic second carriers.

Revision history for this message
Astuur (wolfsteinmetz) wrote :

Just to make sure not to be misunderstood:
The idea was to be able to mark a newly build road manually
as a "double-carrier-road" on a "per case" basis, that would then
immediatly fill
with carriers plus donkeys.

The backgound of this is, that in certain situations I always experience an
intermediated shortage of transport capacity.
Typical example is the common "last mile" from several lumberjacks to a
charcoal burner,
or the road to a warehouse that cannot be placed any wiser due to
terrain or border restrictions.

This woud probably be done in a second step after having built it,
by specifying the two end point flags and pressing some button or
keyboard key.
You would always want to keep the auto upgrading intact for all roads,
because they only transform when there is a proven need (I guess).

A solution for manually upgrading a road that involves a temporary
destruction,
will only make matters worse. For Downgrading it may be fine.

But as I already hinted at: It seems a clever option for an experienced
player,
but is not needed very often.
I won't grunt, if you all deem that suggestion not worthwhile.

Am 12.02.2012 16:35, schrieb Jens Beyer (Qcumber-some):
> I guess handling this by automatic is more the "widelands" way of
> managing.
>
> If you want to have something manual in the widelands way, this would be a setting for enabling/disabling automatic management of second carriers for each and every road, and a default to enabled.
> If the user sees a donkey at one road where he doesn't want them, it is then necessary to raze the road (thus free the donkey), re-establish the road, and set the setting to prevent automatic second carriers.
>

Revision history for this message
SirVer (sirver) wrote :

I am against manually updating roads. I feel this is very similar to the time delay you have when burning/dismantling houses: you need to check back to the problem to see if it is indeed resolved with the new roads you ordered. I think that this business is part of the widelands challenge.

Revision history for this message
Angelo Locritani (alocritani) wrote :

I like the Astuur's idea, but I fear it will introduce too much micromanagement.

Anyway, just to clarify how the carriers thing works, every time a ware is standing at a flag a request for carrier is generated. If any carrier is able to take it, nice, otherwise a "busyness" variable is increased by 10.
If a carrier take it, the busyness is instead reduced by 1.

If busyness is greater than 500, a second carrier is requested. In my branch, if busyness is less then 350, the second carrier is released.

In other words, in order to obtain a second carrier you need a situation where a ware is standing at a flag with no-one able to take it (because carrier is busy with another ware) and this situation has to repeat at least 50 times.
Then, to release the second carrier, you need to be able to take the ware without let it wait for 150 times.

So at the moment the automatic release of a carrier is not a common action.

Maybe we can tweak the thresholds (500/350) or the cost of a "unmanaged"/"managed" ware (10/1).

Tweaking them enough, we would be able to react to the temporary shortage of carrier, and eventually to release the not needed second carrier, more quickly.

What do you think?

Revision history for this message
SirVer (sirver) wrote :

I applied your patch. However, the logic is a bit flawed: a non busy road needs to have 150 wares to be carried over it before the second carrier is released. That is, a road that was once busy but no longer has any wares carried over it (e.g. an old mountain mining area) will never release the second carrier.

Revision history for this message
Angelo Locritani (alocritani) wrote :

I know that the logic is flawed, a better idea could be, for example, to calculate the "traffic" over last X seconds and adapt the number of carriers.
Not sure if the effort is really worth; in that case you can simply destroy the road and rebuild it.

Yes, it can be done on every road in order to release the donkey, but I consider destroying and rebuilding like a hard reset of a road and try to avoid it, unless absolutely needed.

Revision history for this message
Angelo Locritani (alocritani) wrote :

r6211

Changed in widelands:
status: Confirmed → Fix Committed
Shevonar (shevonar)
Changed in widelands:
milestone: none → build17-rc1
Revision history for this message
SirVer (sirver) wrote :

Released in build17-rc1.

Changed in widelands:
status: Fix Committed → 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.