Page 1 of 1

Modular Unloading of Cargo

Posted: 10 May 2018 15:02
by Translink
Playing in the arctic climate and using FIRS, I bring in fish from the fishing grounds to the fishing harbour and then I need to distribute food. For towns close by, I use lorries, but for places further along the way, I'd like to be able to use the train to stop at multiple stops and unload a certain amount of cargo at each, but it doesn't seem to work, with cargodist both on or off. Is there any way I can do that?

Re: Modular Unloading of Cargo

Posted: 10 May 2018 15:10
by Pyoro
Unfortunately, CargoDist, while it technically should work and establish the relevant links, is vaguely rubbish for that sort of thing, since it doesn't care about demand as far as I figure. So, yes, that'll end up with an odd distribution of food.

What you could do is build a train line to a more central location and transfer food there again back on the road.

Re: Modular Unloading of Cargo

Posted: 11 May 2018 00:18
by acs121
One thing you can do is timetable the train and tell it to stay X days at the station. Thus, it will only unload one part of the cargo.

Re: Modular Unloading of Cargo

Posted: 11 May 2018 02:06
by kamnet
Go into advanced setting and modify "Effect of distance on demand" (or something like that). IIRC, the lower the number the more equally it will distribute over your network for that given cargo and transport line. It may take it a little bit to even out.

Re: Modular Unloading of Cargo

Posted: 11 May 2018 08:23
by Pyoro
kamnet wrote:Go into advanced setting and modify "Effect of distance on demand" (or something like that). IIRC, the lower the number the more equally it will distribute over your network for that given cargo and transport line. It may take it a little bit to even out.
This will however completely mess up your passenger network (if you use cargo dist for that, too).

Re: Modular Unloading of Cargo

Posted: 11 May 2018 19:19
by kamnet
Pyoro wrote:
kamnet wrote:Go into advanced setting and modify "Effect of distance on demand" (or something like that). IIRC, the lower the number the more equally it will distribute over your network for that given cargo and transport line. It may take it a little bit to even out.
This will however completely mess up your passenger network (if you use cargo dist for that, too).
You don't want passengers to be able to go further?

Re: Modular Unloading of Cargo

Posted: 11 May 2018 20:02
by Pyoro
kamnet wrote:You don't want passengers to be able to go further?
Well, what's more likely? That somebody takes the bus to the city center or that they go on a long-distance journey to a different continent? ^^;

At 0%, you basically say both are equally likely. But that means your long distance services need the same capabilities as your tram lines. That's maybe do-able in simple networks, but if things get more complex you'll need to go crazy with the amount of vehicles and so on. I just don't find that very satisfying (or realistic).

Re: Modular Unloading of Cargo

Posted: 15 May 2018 13:16
by Translink
acs121 wrote:One thing you can do is timetable the train and tell it to stay X days at the station. Thus, it will only unload one part of the cargo.
I'm using Joker's Patch Pack. If you do that the train will offload all its cargo and be late

Re: Modular Unloading of Cargo

Posted: 15 May 2018 13:57
by acs121
No, it won't. If you tell the train to stay 2 days for example, even if it hasn't unloaded everything, it will leave the station. You don't have to timetable travel times between stations.

Re: Modular Unloading of Cargo

Posted: 15 May 2018 14:14
by vrn
acs121 wrote:No, it won't. If you tell the train to stay 2 days for example, even if it hasn't unloaded everything, it will leave the station. You don't have to timetable travel times between stations.
I just tested it, unloading won't be interrupted by timetabling. Or is there some obscure openttd.cfg setting to change that?

Re: Modular Unloading of Cargo

Posted: 19 May 2018 10:14
by Eddi
kamnet wrote:Go into advanced setting and modify "Effect of distance on demand" (or something like that). IIRC, the lower the number the more equally it will distribute over your network for that given cargo and transport line. It may take it a little bit to even out.
an alternative to that is that you have two separate pickup stations (with no routes between them), and have one serve the nearby destinations, and one serve the far away ones. that way, the industry distributes the cargo over the two stations (by station rating), before cargodist is considered. then cargodist has a lower spread of distances to work with, and will divide the cargo more equally
acs121 wrote:One thing you can do is timetable the train and tell it to stay X days at the station. Thus, it will only unload one part of the cargo.
that does not work. finishing unloading takes precedence over the timetable

Re: Modular Unloading of Cargo

Posted: 09 Jun 2018 10:31
by EojjN
Would it be possible that eventually CargoDist responding to demand would be implemented?

Re: Modular Unloading of Cargo

Posted: 09 Jun 2018 14:29
by fonso
The complicated thing is defining "demand". Cargodist used to take the number of houses around a station that accept a certain cargo into account for the routing, but that resulted in other problems.

In particular, you can build a station in a place that just barely accepts food, even if the town around it accepts lots of food. Houses are not equally distributed after all. Then you'll wonder why this particular town doesn't receive the amount of food you expect it to.

And then there is the issue of industries receiving cargo. Generally that is also done via tiles with a certain acceptance number. So, with the previous implementation, you'd get less cargo delivered to a station that covers 3 tiles of an industry than to one that covers 6 tiles of the same industry.

In the end, this was rather confusing and therefore it was dropped. If you have a better definition of demand than "tiles around station accepting cargo", you can dig up the code and try it again.

Re: Modular Unloading of Cargo

Posted: 09 Jun 2018 15:13
by Pyoro
IMO it's not something that can be solved without additional changes that might or might be worth the hassle.

What I could imagine would be a sort of "weight" system, defined by GRFs. Let's say the default for anything accepting a cargo is 1. Then for industries you might want to leave it at that, and that'd get you current CD behavior.

Or you might want to for example increase it for modern cargo accepting industries or bigger layouts. Likewise houses normally would be just 1, but if you have some special building like a sport arena or a huge skyscraper you could increase it.

Then you calculate everything in a stations area - maybe, to make matters even more complicated, stations should have some modifiers too (airports > train > bus ... or by size or combinations or I don't know) - and stations with bigger weight get more cargo.


But it doesn't solve the food special case and there'd probably still be lots of weird issues, I don't know. Since TTD basically has a "black hole" philosophy to cargo I just don't see a simple solution. If you look at other transport simulators with forms of cargo destinations they do way more complex things ... and frankly often don't work that well either. Nevermind the impact on performance and whatnot.

Re: Modular Unloading of Cargo

Posted: 09 Jun 2018 16:53
by Wahazar
By the way, newest version of JGR patch pack offer "load trough" patch, which can load/unload long train on short platform without default slowness penalty, instead of this, only vehicles standing on the platform are taken into account, if finished, train proceed to load/unload another part of consist.
Interesting side effect is, of there is terminal station without or with short track, loading/unloading of cargo will be abandoned.
Thus it is now possible to build chain of such stations and long train with supplies would unload only part of its wagons.
Another usage is to load for example half train of sand or ore in one mine, and half of coal in other one.