Simple Station Logistics

by ccooke

A reliable train-based logistic system that is relatively simple to use

Content
3 years ago
1.1
81
Logistics

b CTD: Add a wagon to a partially filled train waiting in DEPOT

3 years ago

I experienced a CTD when adding a wagon-ghost to a train in the depot that was partially filled with plastic. The game crashed when the ghost was built by bot.

Mod is working so far, I've only wished for a "priority out" station designation to force waste out at a certain threshold. Certainly not the end of the world, since I just use the vanilla train system to handle that with a simple schedule.

From my personal station designations when NOT using a train mod, most stations are classified into PROVIDER, REQUESTER, WASTE, and STORAGE. The first two are self explanatory and covered, WASTE is a station that will PUSH freight at threshold, and STORAGE is a station that ACCEPT freight to a threshold from specific sources. Basically, WASTE needs to point to certain STORAGE stations. If this logic is able to be implemented, it could likely be a complete solution... for me :)

3 years ago

I will take a look at the CTD tomorrow (although it might be a few days before I push a new version, sorry - moving house on Monday)

I am glad it's working for you. I'm currently trying a "normal" train-based grid base, to see if I can generate some more edge cases and to provide a good test for better feedback systems.

A core limitation I'm using with this mod is trying to keep the interface simple. That said, if there's a good interface that would make sense (and assuming I'm understanding your designations) they look like something that could fit the model. That would mean having station designators - virtual signals that tell the mod how to treat a station and item/fluid designators - currently, resource signals set to negative values.

So, the current set are:
[Provide] - No item/fluid designators needed
[Request] - item/fluid designators indicate goods to deliver and the minimum stack size to send

I'm not 100% clear on the semantics of your stations, though. Is this a good representation:

WASTE: If the stock of [Thing] is greater than [Value], send to STORAGE stations
STORAGE: If the stock of [Thing] is less than [Value], accept from WASTE stations

Does that fit?

3 years ago

Yes, that is exactly the solution I'm looking for! Maybe just another VSig for W and S, with the applicable scripting?

3 years ago

I think that wouldn't be difficult to include - potentially with some settings for the mod.

Okay, consider this: your WASTE/STORAGE stations are effectively the same as my SOURCE/SINK with very slightly different semantics. As far as the mod is concerned, a WASTE station is a SOURCE that has a "Do not provide item unless there is at least X here". That's not a difficult thing to set up - simply have item signals at Provider stations.

The only real difference between your STORAGE stations and my SINK ones is that the mod at present automates deliveries based upon consumption. If you could turn that off and just have the mod try to keep at least X in the station, that would be easy.

The only real issue is that you have these as isolated systems. I do have the start of a channel system in the code, though. Possibly coupled with a mod setting to allow you to specify the names of stations per channel - so channel 1 would default to SOURCE/SINK say. Then you just set your P or S signals to the channel you want to use and the code does the rest?

3 years ago

Allow me to clarify how I implement the waste/storage system in my maps and I believe it will explain the scenario better:

In a modpack such as Kras or AB, there are many waste byproducts (i.e., sand, sand, and sand with Kras... sulfur loop in AB). In a particular area, I have all the waste product go to a storage location, where it gets stored. In the storage location there is a provider (or source) that only activates when the storage gets to a certain level, or in some cases all product is simply distributed from there (in K2, sand storage is the glass maker as well as a sand provider for other processes that don't need an entire crushing chain.

In as such, being able to assign multiple WASTE stations to a single STORAGE via channels would work well, similarly to LTN's networks, although I'd prefer a channel system like that of AAI, or at least SE's implementation of the channel system (I haven't played just AAI alone for more than a few hours). Channels would definitely help in large bases where travel time is a problem. I'd set up two or three different subnetworks for waste/storage/provide solutions.

I love the idea of the set it forget it aspect of this mod with weighted average. Much of my time is spent thinking about what stupid levels to set each station to and being able to set the minimum load amount is very cool. I noticed some slight UPS usage when a load is created so I'm also not sure how far the mod will allow the base to grow. A little concerning, but hey, that's the testing process after all.

3 years ago

Got it. That sounds like something that would be easy to implement.
(Probably next weekend though - as I said, we're moving tomorrow).

On the UPS usage, can you clarify what you meant by "load"? Do you mean: "When a delivery gets scheduled (but before any trains move)", "When a train begins loading/unloading goods at a station", or "During loading/unloading at a station"?

3 years ago

Hello, I'm not the same person you were talking to, but thought i'd add my own strategy since I'm also playing Seablock, which is based on AB and has many waste products.

The way I see it, ultimately, is that that there are differing needs that can be described as PUSH or PULL, each of those representing a pair of Origination and Destination stations.

  • PUSH Strategy: Origination stations need to be kept reasonably empty - it doesn't matter how full Destination stations are, get rid of goods at Origination when able.
  • PULL Strategy: Destination stations need to be kept reasonably full - it doesn't matter how full Origination Stations are, if they back up that's okay.

That, plus the need to fuel and park unneeded trains leaves me with wanting 5 station types (probably needs better names).

  • DEPOT: Trains go here when low on fuel, or when they have no other place to be.
  • SURPLUS: (PUSH Strategy origination) - The system tries to keep this station clear, any goods in boxes will generate a delivery if there is any DESTINATION or SINK station that can take them. Should prioritize DESTINATION stations over SINK stations.
  • SOURCE: (PULL Strategy origination) - The system won't generate deliveries based on this station's value unless a DESTINATION station needs a delivery and there is no SURPLUS station station that can fulfill the need.
  • DESTINATION: (PULL Strategy destination) - The system will try to generate deliveries to keep this station full.
  • SINK: (PUSH Strategy destination) - The system won't generate deliveries based on this station's value unless there is a SURPLUS station that needs to offload and no DESTINATION station that can take the delivery.

Those 5 stations give you an extremely flexible system. Usually, you would use SOURCE and DESTINATION stations, which handle most rail function automatically, however when you get into waste product handling, you would have the waste product go out through a separate SURPLUS station and then have SINK stations that handle the waste good on the network.

This also cover's the other user's STORAGE case - create a pair of stations, one is a SINK, the other is a SOURCE and connect them so that goods flow form the SINK to the SOURCE, possibly with a storage buffer in between.

New response