Page 1 of 1

Simple way to greatly improve trains

Posted: Thu Mar 12, 2015 8:27 pm
by Laremere
On each station on the train's options, have a selection between 3 options:
-Wait time - as is right now
-Wait till empty - waits till all the cargo in the train's cargo cars are unloaded and empty
-Wait till full - waits till all the cargo in the train's cargo cars are loaded and full

The wait till empty and wait till full would handle the majority of trains uses. More importantly, it'd handle back ups much more nicely than any timed system.

edit: Typo fix, empty =/= full.

Re: Simple way to greatly improve trains

Posted: Thu Mar 12, 2015 9:39 pm
by quinor
I simply love that idea, nothing else to add. It works perfectly in OpenTTD so it should also work here.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 4:22 am
by starholme
I've read similar suggestions a few times now, but I think that we need a little more granular than train full/empty.

I'm not sure how common it is, but I always dedicate 3 slots in the first cargo wagon of each train for outpost supplies: Repair packs, Lasers, Walls. The rest of the slots are set to the item to be picked up.
My train would never get 'full' because maybe there is only 49/50 repair packs in the slot.

I'd rather see something like a 'sensor' track, that you could use the logistics network, or the circuit network with. Place one under each wagon or locomotive to see what's in them.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 5:07 am
by Laremere
Better logistics for trains are coming eventually, but this would make most of the things people use trains for work right now. It'd be (relatively) simple to implement, and simple to use.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 7:50 am
by bobingabout
Good sugestion there, and I think it would be useful, but how do you sugest we'd handle a train which carries cargo both ways? EG, Oil, carrying full barrels to your base, while it carries empty barrels back to the outpost.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 11:03 am
by quinor
You make then separate load and unload station, openttd-way.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 1:44 pm
by Laremere
Either two stations, or you can do what you currently do with timing. I'm not suggesting we replace the current train stopping mechanism, only that there are additional possibilities.

Re: Simple way to greatly improve trains

Posted: Fri Mar 13, 2015 1:48 pm
by Ohz
Laremere wrote:Either two stations, or you can do what you currently do with timing. I'm not suggesting we replace the current train stopping mechanism, only that there are additional possibilities.
Yes, it's just to help out for simple one way train that just refill your supply, nothing fancy, but still should be very helpful for these kind of trains that we all need.

Re: Simple way to greatly improve trains

Posted: Sun Mar 15, 2015 10:10 am
by The Phoenixian
Laremere wrote:On each station on the train's options, have a selection between 3 options:
-Wait time - as is right now
-Wait till empty - waits till all the cargo in the train's cargo cars are unloaded and empty
-Wait till full - waits till all the cargo in the train's cargo cars are loaded and full

The wait till empty and wait till full would handle the majority of trains uses. More importantly, it'd handle back ups much more nicely than any timed system.

edit: Typo fix, empty =/= full.
There are several problems with this, mostly relating to issues encountered while mining: If a mining outpost exhausts it's resource field, or if it's slowed down, the system breaks.

There are two simple ways to fix this: If the option is a and/or between time and a full/empty condition that would work.

However what I recommend instead is that we instead have two new rail objects to
1 Make the train leave when it receives a signal, and
2 Measure the contents of a car

Between those two you can have a train leave not only when the train as a whole is full or empty enough, but also when any specific car is meets the desired conditions, or even when the chests feeding the train are empty. It would be a bit more complicated to use, but the added versatility is massive and I imagine that just checking if the train was empty or full would still be quite simple.

Re: Simple way to greatly improve trains

Posted: Sun Mar 15, 2015 12:08 pm
by ssilk
I think we should wait for v0.12 with this. (I hope) It will bring us sensors etc. which enables us to implement complex train logic. Much more possibilities then you know from other train-games. Place a blueprint, connect it with the train stop and it does nifty stuff :) . If we have that, we can see, what we also need.

Re: Simple way to greatly improve trains

Posted: Mon Mar 16, 2015 1:54 pm
by katyal
In the meantime Smart Trains mod implements this and more

Re: Simple way to greatly improve trains

Posted: Tue Mar 17, 2015 1:28 am
by Laremere
ssilk wrote:I think we should wait for v0.12 with this. (I hope) It will bring us sensors etc. which enables us to implement complex train logic. Much more possibilities then you know from other train-games. Place a blueprint, connect it with the train stop and it does nifty stuff :) . If we have that, we can see, what we also need.
I think logistics will be very interesting for trains, but also that they are in dire need of a reasonable default. I elaborate on this below:

The Phoenixian wrote:There are several problems with this, mostly relating to issues encountered while mining: If a mining outpost exhausts it's resource field, or if it's slowed down, the system breaks.
That's the thing, it's supposed to break under those circumstances. If an outpost exhausted its resource field, then you need to clean it up anyways. The problem with the current system is when this doesn't happen. The point is subtle, but important. The reason the pre-logistics game isn't an absolute nightmare is because when things get backed up or run out of resources, they stop functioning. If I have assembler making something, and the inserters removing from the inventory as their line fill up, the assembler stops consuming resources. This allows other systems to start using the resources. This is why you don't need to perfectly divide your resources based on the needs. If you're making red and green science, and your red science over-produces, the systems naturally shift towards giving the items to green science, and the ratio of red to green is properly maintained.
It's possible that you could build two different systems for red and green science, and would have to manually say how much copper and iron went to each system, but the game play naturally flows towards something which maintains the fun of building a factory without introducing excess tedium to any point. In my opinion, setting the timing on trains is a big exception to this general rule. You have to try to get a best answer, but that best answer never adapts to situations. Waiting for full or empty would allow the player to naturally build adaptive and fun train networks.

The easy example is imagine you had a separate factory for building green circuits. You pump in the iron and copper, and out comes green circuits. Now lets look at the copper train which takes the copper plates from the furnaces to the circuit factory. Currently, you need to try to get the proper wait times on loading and unloading. You have to be overly careful about not using too many or too long of trains, otherwise the trains will unnecessarily clog your tracks and use extra resources. What happens if your iron is starving? Now all of a sudden your copper trains are moving around doing almost nothing, loading to full and then unloading a bit before wasting fuel to go back and get more. What if you have enough green circuits, and other things need copper? They won't strictly speaking use more copper, but the pickup station for your copper may be crowded by trains which don't really need any. With the wait till full/empty, these situations resolve themselves trivially.