Load to specific percentage?

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

Post Reply
R2
Engineer
Engineer
Posts: 90
Joined: 08 Mar 2006 09:53

Load to specific percentage?

Post by R2 »

Hi!

I have been playing TT and OpenTTD for over 20 years now, but not in the last 9 years. I tested some nightlys back then, since the trunk version did not support PBS then (just so you get a feeling how long it's been). So I have certainly missed a couple of developments, whatever slow a fan project evolves. ;)

Now I started playing again and enjoy it very much again, indeed. Specifically, I installed UKRS2 and enjoy proper carriage speed limits - for the first time it makes sense not just to buy always the fastest engines for all trains. ;)

One thing, however: Is it not possible without any NewGRF to load to a specific pertentage? I remember that was possible in the nightly when I last played. I can only find "full load any cargo" or "all cargo" or "load if available"

However, I have some connection where I would like to at least load half / 50%. Specificlally, I transport wood from a forest to a sawmill. The station a the forest is located next to a town and accepts goods. The sawmill is next to a factory which gets supplied by a farm. The forest is rubbish, but there is plenty of goods at the sawmill/factory. I have a train with carriages which can be refitted to carry wood on the one way and goods on the way back. Still, the trains shall neither have to full load at the forest, nor do I want them to go completely empty if another train loaded seconds earlier.

Any solution? Which NewGRF would I need to enable this?

Thank you! Good to be back at OpenTTD!
User avatar
FLHerne
Tycoon
Tycoon
Posts: 1543
Joined: 12 Jul 2011 12:09
Location: St Ives, Cambs, UK

Re: Load to specific percentage?

Post by FLHerne »

There's no real solution, with or without NewGRFs. :(

Possible options:
- For part of the train, use vehicles that can carry goods but not wood. Then 'full load any' will only be able to fill the wagons that are refittable to wood.

- Timetable a fixed waiting time at the wood-loading station.

- Use a 'take cargo' order, then a conditional order to loop back to the station if the train is (mostly) empty. This is rather ugly.
Temporary Permanent signature filling text. Content coming soon delayed indefinitely! Oh, and I have had a screenshot thread.
Linux user (XMonad DWM/KDE, Arch), IRC obsessive and rail enthusiast. No longer building robots; now I ring church bells.
Author of an incredibly boring stickied post about NewGRFs.
Eddi
Tycoon
Tycoon
Posts: 8267
Joined: 17 Jan 2007 00:14

Re: Load to specific percentage?

Post by Eddi »

you did not use a "nightly" back then, but an "integrated nightly", which means it had some very experimental patches integrated into it. (like PBS). some of these experimental patches never made it into a proper "nightly" build, and thus never got included into a release either.

sometimes you also find the name "patchpack" for these kinds of experimental builds.
R2
Engineer
Engineer
Posts: 90
Joined: 08 Mar 2006 09:53

Re: Load to specific percentage?

Post by R2 »

You are right, Eddi, it must have been an integrated nightly.

Pity this one never made it to the trunk!

None of FLHerne's workarounds are really an option:
FLHerne wrote:1. For part of the train, use vehicles that can carry goods but not wood. Then 'full load any' will only be able to fill the wagons that are refittable to wood.

2. Timetable a fixed waiting time at the wood-loading station.

3. Use a 'take cargo' order, then a conditional order to loop back to the station if the train is (mostly) empty. This is rather ugly.
re 1: That would leave wood behind, it there is more than 50% at the station.

re 2: Better, but again: If there is already more than 50% wood, it blocks the station unnecessarily and keeps the train from getting to the goods-station at the other end fast.

re 3: Again, this causes congestions and blocks the station unnecessarily...

Thanks anyway! I promote to include a "load at least half-full" into the list of orders - not having any clue as to how hard it can be to implement this. ;)
User avatar
FLHerne
Tycoon
Tycoon
Posts: 1543
Joined: 12 Jul 2011 12:09
Location: St Ives, Cambs, UK

Re: Load to specific percentage?

Post by FLHerne »

The neatest solution IMO would be to remain in the station when consecutive orders are identical a conditional order loops back to the current one, so you can do a load-while-[???] loop without the train physically going in circles.

Changing behaviour of existing orders might break things, but I can't think what. Anything doing loops already would be made more efficient, consecutive real orders are already warned about and are rarely useful. Still, should probably be a game-specific setting in case openttdcoop use it for logic or something.
Temporary Permanent signature filling text. Content coming soon delayed indefinitely! Oh, and I have had a screenshot thread.
Linux user (XMonad DWM/KDE, Arch), IRC obsessive and rail enthusiast. No longer building robots; now I ring church bells.
Author of an incredibly boring stickied post about NewGRFs.
Eddi
Tycoon
Tycoon
Posts: 8267
Joined: 17 Jan 2007 00:14

Re: Load to specific percentage?

Post by Eddi »

ad 3: you could make the wait orders at different points in the platform (start, middle, end) so the train does not leave the station.

so something like
  1. goto A (load if available) [start of platform]
  2. if load>50% jump to 7
  3. wait 30 days, goto A (load if available) [middle of platform]
  4. if load>50% jump to 7
  5. goto A (unload all) [end of platform]
  6. go to depot and stop
  7. go to B
User avatar
Simons Mith
Transport Coordinator
Transport Coordinator
Posts: 326
Joined: 14 Jan 2010 23:45

Re: Load to specific percentage?

Post by Simons Mith »

I always imagined load percentages would have to go on the 'orders' part of a vehicle's orders.
It just struck me... might it be easier to implement on the timetable part? Has anyone ever
looked at that possibility?

You already have timetable code that permits orders like

'Go to X, wait 8 days'

Could you reuse some of that code and do

'Go to X, wait for 40% load'?

If you have a train with different cargos, then on the timetable side I'd settle for 40% total load,
rather than trying to dictate by cargo type. I think that would complicate the UI too much.

Besides, 40% load plus a 'Load All' could be tweaked to result in a train loading as much as it can
of mixed cargos (with a minimum of 40%) and then leaving.

And what about 'Go to Y, unload 40%'?
User avatar
Sylf
President
President
Posts: 957
Joined: 23 Nov 2010 21:25
Location: ::1

Re: Load to specific percentage?

Post by Sylf »

You can avoid using loop, while using similar idea. It's still not a very elegant solution.
1. Go to Station A (No unloading and take cargo if available) [far or near end]
2. Jump to order 1 when Load percentage is less than 40
Use that order, with trains that are at least 1 tile shorter than the target station. The train will travel between 2 far ends of the station, and will never leave the station until it has enough load.
Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 11 guests