SSPP Logistics Train Mod

by jagoly

A logistics train mod that aims to be as pleasant to use as possible, even when knee-deep in byproducts. SSPP stands for Source-Sink-Push-Pull.

Content
11 days ago
2.0
584
Logistics Trains

g General question :)

3 months ago

I don't mean to belittle the work you've done, but could you briefly describe the difference between your mod and Cybersyn or LTN? Yes, LTN doesn't work in 2.0, Cybersyn looks quite convenient and reliable. What made you write your own version? :)

3 months ago

Gladly! I planned to write a section in the readme with exactly that info anyway :)

SSPP is configured exclusively via bespoke GUIs. This lets me pack a lot of convenience into them. Request stations, for example, don't take a "I want this many items in storage" signal. In reality, the correct value for that depends on a number of other factors, like desired throughput, the size of the deliveries, how long the deliveries take, etc. So SSPP just takes those values as it's inputs and works out everything else for you. Diagnostics are also already much better, despite being incomplete.

All item parameters are per item, nothing is per station. One annoying thing with cybersyn is trying to have a station that provides a mix of byproducts and non-byproducts. Here's how setting up byproduct provider works in cybersyn vs SSPP:

Cybersyn: Decide on a network mask for byproducts. Do a bunch of maths to work out the how many items you need to keep in storage. Set up combinator logic to only provide to the byproduct network if items are above a certain threshold (that you need to work out). Set a provide threshold signal. Conditionally set priority based on the threshold. Live with the fact that it is impossible to provide multiple items at this station as the secondary settings are shared.

SSPP: Set the maximum throughput for this item at this station. Flick the "push" switch. Set locked slots on your storage to the value SSPP tells you to.

That's it. You can provide as many byproducts or non byproducts as you want, as long as you have enough storage. SSPP with make sure that this station is preferred for this item over non-push stations, and will prefer sending to pull stations before finally sending things to sink (void) stations if there is nowhere else.

For some context, I did quite a lot of work on cybersyn a while ago, including a rather massive overhaul (https://github.com/mamoniot/project-cybersyn/pull/135) that sadly never got merged, as the project lacked a maintainer at the time, and recently I wasn't really interested in updating it to 2.0. Since then I realised that IMO cybersyn is extremely overcomplicated, and felt like seeing what I could do starting with user experience as the primary goal rather than increasingly niche functionality.

There's a few other things, like SSPP is capable of robustly handling spoilable items, should in the long term have a lower ups cost (it has a much simpler core algorithm, though I haven't done any profiling yet), and other stuff I'm sure I've forgotten.

Cybersyn is still great, but SSPP aims to be what I would personally consider "pleasant" to use, and my hope is that there might be a few others that also share my opinions in that regard.

Hope that helps for now! I'll get around to writing a more comprehensive comparison at some point.

3 months ago

i am watching this mod with great interest :)
You should definitely include the sspp vs. ltn vs. cybercyn section in the description, it was the first question that came to mind.
Bummer that your cybercyn input never got merged.

3 months ago

Very curious :) since I am now for the umpteenth time (oh, how many times have I started and abandoned the game) at the beginning of the construction of the railway network, maybe it makes sense to try out your concept :)

3 months ago

Can Cybersyn & SSPP to be enabled together?

3 months ago

If I like the mod, can I take part in translating it into Russian?

3 months ago
(updated 3 months ago)

Go ahead! From this point, I plan to maintain backwards compatibility, so I won't break anything you build. Plus, I'm very actively working on the mod right now, so if there are any features you'd like implemented (that fit my vision of the mod, of course) or issues you have, they're likely to get worked on quickly.

Also it's not mentioned in the readme, but the mod is completely safe to remove from a save if you later choose to (like most mods).

Edit: Haha, 2 more messages while I was typing.

  1. Yes, SSPP and cybersyn work fine together. I actually had cs installed for a good part of development when porting stuff over from my old cybersyn test world. Obviously they can't control the same trains or stations, but they can work independently.

  2. Absolutely, that'd be amazing!

3 months ago

Great! Sorry for my English :) I read well, but I write much worse :)

3 months ago
  1. Absolutely, that'd be amazing!

However, I play in English myself, so it's much easier to search for something, especially in mods. But if the mod is so good and I can overcome my laziness, then I'll try to cross it. :) This will be my first experience, so it would be better to show my translations to someone else :)

3 months ago

If, for example, I double the production at the request station, I need to manually rewrite the consumption rate, right?

3 months ago

Yes. It can't tell how much your build actually uses (or produces), as that number can fluctuate greatly. So you will need to work that out (or use something like factory planner or YAFC to do that for you).

3 months ago

Oh, there is a wonderful Rate calculator (it seems) that calculates the production/consumption rate in a dedicated factory area.

If Cybersyn is based on the size of the stock, then you are based on speed. Of course, a very unusual concept... By the way, speed could be calculated based on the decrease / and increase of stocks at stations and somehow averaged...

3 months ago
(updated 3 months ago)

The issue with trying to do something like that is that you need to design stations around the maximum rate that a block might ever produce or consume, and tracking stocks wouldn't be able to give that value.

And it's not really an unusual concept, when designing large blocks, the process usually goes "ok, so if I need to get 15 items/s out of this station, then how many trains per second do I need coming in? How long might those trains take?" and so on. Unless you just guess the numbers, which you can still do with SSPP, you are just guessing different, more intuitive numbers now :)

3 months ago

Damn! You just gave me an interesting idea - after all, the consumption rate can be calculated by an arithmetic combinator... I'll check it now :)

3 months ago

Damn, no :( The recipe from the collector does not give the crafting time :((( It's a pity that the developers did not do this.

3 months ago

There's a lot of different ways to calculate consumption/production rates. Personally, I plan all of my builds in Factory Planner or YAFC before I build them. I noticed you had helmod installed, that is another tool for planning builds.

3 months ago

Of course, I know about these tools, both in-game and external. But I want it to be considered by itself, by the logic of the game :) and for that, there is just not enough "craft time" in the assembler output.

New response