Priority system for transportation

Bug #669918 reported by Andreas Breitschopp
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Fix Released
Wishlist
Unassigned

Bug Description

Who doesn't know the problem:
you really need a ware (often iron ;-) ) urgent and it looks like that all other wares get transported, but not the one you're needing.

In such cases I really miss the priority system for transportation like the one in Settlers.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

A discussion about that you can find in the forum here, too:
http://wl.widelands.org/forum/topic/610/

Timowi (timo-wingender)
Changed in widelands:
importance: Undecided → Wishlist
status: New → Opinion
Revision history for this message
SirVer (sirver) wrote :

I am totally for this; but it needs a proper blueprint that has to define what kind of controls the user should be given (including UI mockup) and how this should influence the transportation, e.g. should the priority be absolute (that is if coal has higher priority and there is one trunk on a flag but coal is arriving all the time there, should always be the coal transported onwards, or should someday the trunk also be transported?).

Ps: Setting this to incomplete as Nasenbaer discovered that Opinion bugs are listed as closed bugs.

Changed in widelands:
status: Opinion → Incomplete
Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

I've created a blueprint with a UI mockup regarding that here:
https://blueprints.launchpad.net/widelands/+spec/transport-priority

Any comment on that is very welcome.

Revision history for this message
SirVer (sirver) wrote :

I suggest taking this discussion into the widelands forum, because other users might voice their opinions as well. Could you create a thread in the game discussion forum and link to the blueprint?

First impression: very nice mockup, it feels intuitive to understand. With multi select (like in the warehouses now) this could also be fairly comfortable to use. I think that making the ordering absolute is unwise, because that would mean that one ware cannot cross a crossroad that is busy with a ware that is higher ranked. I suggest a penalty to delay the standard FIFO principle we have currently.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

Hello SirVer,

thinking about it I have to agree with you:
it would be not a good idea to block a ware that just crosses an always busy road due to the transport priority. So I've removed that note from the blueprint.

In the forum there is already a thread about that, so I've added a post with a link to the blueprint there:
http://wl.widelands.org/forum/topic/610/?page=2#post-3643

Revision history for this message
SirVer (sirver) wrote :

This bug/blueprint will not make it into build-16. I target it for build-17 so we can reconsider it after release of build 16. It is kind of one-ice for the moment; feel free to work on it in a separate branch though.

Changed in widelands:
milestone: none → build17-rc1
Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

I suggest another logic for transportation. It seems simple and intuitive from the user point of view, but don't know if it's realization will be also simple. Principle - the ware, that player has the least, is transported first. If two wares are of the same priority by this principle (more and more unlikely with time), than it is FIFO.

The problem I see here is that every time the choice will be done the actual state of economy will be requested. Therefore some caching may be need, or, it could be possible to use values from the stored ware (in warehouses) that doesn't change very frequently.

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

Actually the quantity of the ware may be used as a transportation priority directly, higher numbers - less priority.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

Hello Nizamov,

thanks for your idea - I understand what you mean.

But I don't think this is good for all cases:
imagine the case where there is already a bigger economy and the user builds many new buildings at one time and he really wants them to get done as soon as possible (maybe military buildings). Of course, he has already many planks and stones in the warehouses, but they need to be transported as soon as possible to the construction sites.

In this case in the transport system you describe these very important wares would be transported with a lower priority, because there are many of them available.

What I want to say with this example is that the available quantity of a ware is not a good indicator for its transport priority. Therefore the user should have the possibility to influence the transport priority system itself (as described in the blueprint).

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

Ah, I see. But I think for default transportation it would be still beneficial and better than FIFO.

And to account your scenario it is possible to determine two level priority system. E.g., we can prioritize all the wares currently required for building, and others going by quantity priority. Of course there will be anyway some cases left, that will not benefit from such system, but I think they are mostly marginal. Complete control may be good, but it also complicates the gameplay. It is already far more complex that original Settlers.

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

Also, I think that static priorities system, doesn't perform good even in your case scenario. Giving priority to the wood and stone, they will be delivered faster for the buildings, but they will also prevent more important things everywhere else. It means, that your new building will be built faster at the expenses of delaying all important wares in other places. Therefore, you will have to constantly play back and forth with priority system, otherwise, it will work against you. I think, that transportation priorities system should be dynamic by its nature.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

Hello Nizamov,

the option to change the transport priority manually is the same way as it was already done in Settlers II. It's just an option for experienced players - so it should not make it more complex for beginners to start with the game.

Therefore I just suggest it to do it in the way also SirVer suggested already:
using a penalty to delay the current FIFO principle based on the user defined transport priority.

This way you can influence the transport priority, but the whole transportation won't totally stuck if you forget about it (e. g. for beginners).

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

(Just an addition for your last comment:)
yes, exactly: therefore no absolute manual priority, but just a penalty based on the defined manual priority as suggested by SirVer.

Revision history for this message
SirVer (sirver) wrote :

The discussion is fascinating. Makes me wonder if a priority system is a good idea after all. There is nothing more intuitive as FIFO and all proposed mechanism might also work against the user. Please keep the discussion going.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

I still think that a priority system is an important feature:
it was more than one time already that just the wrong wares got transported when there was much traffic on some road segments.

Right now there is no way to influence this which is very bad. I really liked the priority system in Settlers II - it worked very good and I don't remember that it had any bad influence.

Your idea doing it with a kind of penalty and don't make it absolute seems for me indeed the best solution here.

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

I had suggested some other way here

http://wl.widelands.org/forum/topic/610/?page=3

I also implemented it, but something is wrong after all. I am not good with c++, so can not fix it.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

I'm still now sure if that will be enough instead of a manual priority system, but anyway it's very interesting to test.

As I also replied in the forum it might be better to push your change to a Launchpad branch to make testing easier.

Revision history for this message
Victor Pelt (victor-pelt) wrote : Re: [Bug 669918] Re: Priority system for transportation

Maybe just a high medium low priority system. That would allow users some
control and be in line with the rest of the game
On Nov 20, 2010 7:50 PM, "Andreas Breitschopp" <email address hidden>
wrote:
> I'm still now sure if that will be enough instead of a manual priority
> system, but anyway it's very interesting to test.
>
> As I also replied in the forum it might be better to push your change to
> a Launchpad branch to make testing easier.
>
> --
> Priority system for transportation
> https://bugs.launchpad.net/bugs/669918
> You received this bug notification because you are subscribed to
> widelands.
>
> Status in Widelands: Incomplete
>
> Bug description:
> Who doesn't know the problem:
> you really need a ware (often iron ;-) ) urgent and it looks like that all
other wares get transported, but not the one you're needing.
>
> In such cases I really miss the priority system for transportation like
the one in Settlers.
>
>

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

Ok, I didn't find any other better place to attach the replay.
Here is a replay with transport priority system, which I have described it in forum thread. Watch, when the lumberjack is being constructed, and how wares after that are being transported.

Revision history for this message
Nizamov Shawkat (nizamov-shawkat) wrote :

Sorry, wrong file. Here is a replay. Two wood hardeners and two lamberjacks are build.

Revision history for this message
Andreas Breitschopp (ab-tools) wrote :

Just to be sure nobody misses it; here is the patch from Nizamov for testing (see forum thread for explanation):
http://www.ab-tools.com/temp/widelands-transport.patch

Revision history for this message
Nicolai Hähnle (nha) wrote :

As per Andreas' suggestion, I am closing this wishlist item because the automatic transfer priority patch has been pushed to trunk. If that feature doesn't work out as hoped, we can have another discussion about it, but only after more experience is collected with that new behaviour.

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

Nizamov was not added to the authors list. I've added him in r5772. Nizamov, please check the information there and tell me if you're fine with them.

Revision history for this message
Nasenbaer (nasenbaer) wrote :

retagged as it will be available in build16

Changed in widelands:
milestone: build17-rc1 → build16-rc1
Revision history for this message
SirVer (sirver) wrote :

Released in build16-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