Why are rails and trainstops required to be on even squares?

Post all other topics which do not belong to any other category.
Post Reply
mrvn
Smart Inserter
Smart Inserter
Posts: 5112
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Why are rails and trainstops required to be on even squares?

Post by mrvn »

I see that a rail is 2x2 tiles large, just like a furnace. But unlike a furnace a rail can only be place on every other tile in both direction.

I assume this is to prevent two rail lines with an odd number of tiles separation because they could never be combined into a single railroad network.

Then again why not allow this? It's my own fault if I place rails so that they can no be connected.

This would be useful for exchange points:
trains.png
trains.png (1.26 MiB) Viewed 6138 times
Similar train stops can only be placed every other tile. This prevents placing 2 train stops such that first car on one train stop aligns with the second car on the other train stop:
train2.png
train2.png (1.17 MiB) Viewed 6138 times
The top train is to far and the bottom train is not far enough.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1407
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by MeduSalem »

You would wonder how often I agonized over this 2-tile restriction of the rail network.

Goes so far that I consider the 2-tile restriction and the chunk borders before I place down a single rail track. I even align my roboports after it. It's ridiculous but that's what it boils down to every time.

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by golfmiketango »

mrvn wrote: I assume this is to prevent two rail lines with an odd number of tiles separation because they could never be combined into a single railroad network.

Then again why not allow this? It's my own fault if I place rails so that they can no be connected.
I think the answer is: it would produce results that people less smart than you, OP, would find hopelessly counterintuitive, and eventually force the developers to enable the two networks to be joined. A rail-network aligned to one tile is one of those things that I suspect many of us sort-of wish for but dare not ask for, as it presumably would entail an insane amount of labor to achieve.

mrvn
Smart Inserter
Smart Inserter
Posts: 5112
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by mrvn »

Or it would simply need a 1x2 tile large rail piece.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12758
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by ssilk »

mrvn wrote:Image
What I really don't understand: Under which conditions is this useful? I mean: When is it useful to exchange items this way instead of bringing the items to the target station directly?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by golfmiketango »

ssilk wrote:
mrvn wrote:Image
What I really don't understand: Under which conditions is this useful? I mean: When is it useful to exchange items this way instead of bringing the items to the target station directly?
This is like asking: "When is it useful to plant trees in factorio?"

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12758
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by ssilk »

golfmiketango wrote: This is like asking: "When is it useful to plant trees in factorio?"
I understand planting trees, but reloading trains instead of driving things directly I don't. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by golfmiketango »

golfmiketango wrote:
ssilk wrote: What I really don't understand: Under which conditions is this useful? I mean: When is it useful to exchange items this way instead of bringing the items to the target station directly?
This is like asking: "When is it useful to plant trees in factorio?"
OK, well if you don't like that answer, then, the top station is for dedicated trains which move ore from various outposts, at an irregular rate. The bottom station accommodates a steady stream of identical trains which quickly distribute the ore in a standardized way to a number of storage and smelting devices.

pulzar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Fri Nov 11, 2016 11:42 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by pulzar »

golfmiketango wrote:OK, well if you don't like that answer, then, the top station is for dedicated trains which move ore from various outposts, at an irregular rate. The bottom station accommodates a steady stream of identical trains which quickly distribute the ore in a standardized way to a number of storage and smelting devices.
In one of my first games, I was trying to build this setup, and I think I built and rebuilt the exchange station something like 6 times before I realized that it's impossible to do. I kept moving one side by what I thought was one space (but it was, of course, two), and then putting in the chests and inserters, and it didn't match up, and then I shifted everything again, layed the track out, and it didn't match... Ah, memories.. :)

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by golfmiketango »

It's not an insane idea. The incentive system intrinsic to the game has trained us, like electrocuted dogs, not to like it, or to prefer equivalent approaches.

In real-world economic life, just-in-time supply- & demand-driven fulfillment basically works like: Acquisition->Standardization/Sorting->Consolidation->Processing/Integration->Distribution, in a big maze of modular mini-factories. Factorio has not made this approach easy. Instead it favors horizontally integrated pyramid-shaped supply chains regulated via back-pressure (demand). Think Amazon vs. ADM (although I suspect clearer exemplars could be chosen) -- factorio likes an Amazon system.
Edit---disclaimer
Once we figure this out, it makes sense, both from the perspectives of gameplay and of managing game-engine computational-complexity (iow UPS), that once you have consolidated a bunch of "stuff" into a train car, you want to keep that stuff containerized, and deliver it as close as practically possible to the place it will be processed. But for whatever reason -- and unlike the Amazon vs. ADM thing, I do think this is something that could and ideally should be improved -- factorio makes it hard to get things terribly close to their destinations without first de-containerizing and using belts or bots for routing, sorting, and allocation, even when the containers are "a box of tiny bits of iron ore". Ironically de-containerization is less of a requirement for feeding production machinery, as trains can get right up next to assemblers and smelters and feed them. But obviously that's not the path of least resistance, either, which comports with the reality of real-world production chains we might tend to model in the game as players.

mrvn
Smart Inserter
Smart Inserter
Posts: 5112
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by mrvn »

Here is my train depo where trains deliver finished product and collect new resources:
Compact train depo
Compact train depo
train3.png (2 MiB) Viewed 5895 times
I'm using cars to bridge the gap between trains and as buffer chests. Since one can reserve stacks in a car this is also ideal for stations with mixed goods. E.g. I have one stop where 6 kinds of inserters are exchanged.

There are multiple reasons why I like this setup:

1) Items can be collected from multiple sources at irregular intervals and then delivered as steady stream to consumers.
2) One large waiting bay shared between all collection/distribution stops. Waiting bays for ore trains can be reused by iron trains when empty so I just need enough bays overall.
3) No (or just one) waiting bay at other places where space might be at a premium.
4) Trains have simple routes. They can always stop until item count = 0 or item count = X (where X is the maximum reserved in the car).
5) When something has a shortage, is slow to consume (and therefore unloading blocks with a full chest) or slow to produce (loading is slow) then trains can wait instead of driving around empty.
6) It's fun to watch.

Point 2 might turn into a drawback as things grow. If one has a exchange station for EVERY item in the game then that will need an awful number of waiting bays and stations. In my current design only one train can enter and one train can leave the waiting bays at a time. There is no space to put intermediate chain signals anywhere. This limits the throughput of the waiting bays. The depo stops are a bit better since there is space for chain signals between stations. So an iron ore train can leave the waiting bays as soon as the plastic train has crossed the turn off for iron ore.

I'm still researching stuff in this game and I might split the depo soon. E.g. have a separate depo just for ore and plates with very high throughput. But first I need to kill some aliens that are squatting on an oil field.

User avatar
OdinYggd
Fast Inserter
Fast Inserter
Posts: 200
Joined: Wed May 25, 2016 12:55 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by OdinYggd »

Just use belts to bridge the 2 tile gap between stack inserters. Its not that big of a deal, nor would it bottleneck you that badly. If you really really wanted to go faster, then make a dedicated logistics network to unload one train into active providers and load another from requesters with a good sized storage grid for buffer space. Would perform much better since it can operate asynchronously.

I've done transfer stations before, where a train from a distant station brings ore to a concentrator station, where several short trains are unloaded and the contents placed into fewer but larger trains.

Not hard at all to do.

The even-tile alignment is due to game engine limitations. They would have to completely duplicate the graphics for railways in order to allow odd placements, and the resulting odd-placed rails would be impossible to align to existing even-placed rails.
In my mind, Steam is the eternal king of the railway.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12758
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by ssilk »

golfmiketango wrote:OK, well if you don't like that answer, then, the top station is for dedicated trains which move ore from various outposts, at an irregular rate. The bottom station accommodates a steady stream of identical trains which quickly distribute the ore in a standardized way to a number of storage and smelting devices.
Sorry, if I ask stupid questions, but I think I still miss here something. :) I play Factorio now very long and I never had the need to do something similar. In other words: If you want to have identical trains, why don't you use identical trains?

EDIT: Hm. No, that is not quite correct. Once I had built such an exchange station, cause I had many outposts, that delivered mixed ores and needed to sort the stuff into different trains. But I did that with logistic bots. 50 bots is enough for 50.000 ores per minute, if you place the stops and chests near enough.
The problem is then, that you need some feedback to the outposts to stop production of overproduced ores. So that was really not a good idea.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by golfmiketango »

mrvn wrote:Here is my train depo where trains deliver finished product and collect new resources:
train3.png
I'm using cars to bridge the gap between trains and as buffer chests. Since one can reserve stacks in a car this is also ideal for stations with mixed goods. E.g. I have one stop where 6 kinds of inserters are exchanged.
This cars thing is pretty funny. I don't actually do it myself, but, if I did, whenever I placed a car like this, I would probably feel compelled to say out loud, as a kind of good luck charm, "what could possibly go wrong?"
mrvn wrote:
There are multiple reasons why I like this setup:

1) Items can be collected from multiple sources at irregular intervals and then delivered as steady stream to consumers.
2) One large waiting bay shared between all collection/distribution stops. Waiting bays for ore trains can be reused by iron trains when empty so I just need enough bays overall.
3) No (or just one) waiting bay at other places where space might be at a premium.
4) Trains have simple routes. They can always stop until item count = 0 or item count = X (where X is the maximum reserved in the car).
5) When something has a shortage, is slow to consume (and therefore unloading blocks with a full chest) or slow to produce (loading is slow) then trains can wait instead of driving around empty.
#4, and #5, here, are a big part of why players might be driven toward attempting this type of solution (and then, I imagine, mostly find themselves walking home penniless at 4am, if I may stretch the "driven" metaphor). This, I believe, ssilk, is the answer to your question: in addition to the absence of a modular containerization mechanic, the limitations of vanilla train scheduling prevent -- or, more accurately, "discourage" -- players from implementing direct demand-based dynamic routing of containerized goods. To do it, you must either implement the "standard model," to coin a phrase -- centralized production with routing decisions made via belt- or bot-based backpressure, or do things that seem awkward and wasteful: for example, dedicating two stations and at least one train to every possible routing decision supported by your supply-demand decision matrix, the 6x2 long-inserter-grid shunting system, or "The Cars".

That's why I say it's like asking why you'd want to plant trees: the game-engine simply doesn't facilitate this type of logistics, therefore, it's tautological to say that there is "no need for it". Need in factorio is a highly subjective matter, but incapacity and non-implemented features are objective matters, indeed.
mrvn wrote: 6) It's fun to watch.
Your hub is certainly pretty to look at! What you're doing looks pretty interesting.
mrvn wrote: Point 2 might turn into a drawback as things grow. If one has a exchange station for EVERY item in the game then that will need an awful number of waiting bays and stations. In my current design only one train can enter and one train can leave the waiting bays at a time. There is no space to put intermediate chain signals anywhere. This limits the throughput of the waiting bays. The depo stops are a bit better since there is space for chain signals between stations. So an iron ore train can leave the waiting bays as soon as the plastic train has crossed the turn off for iron ore.
FYP. RoRo setups like this can scale pretty damn far before it becomes a problem, but, eventually, it does. Periodically wasting some space (perpendicular to the train stations) to squeeze in chain signals is a worthwhile investment imo, and will allow your setup to scale considerably further before it bottlenecks.

Pirion
Inserter
Inserter
Posts: 49
Joined: Mon Oct 03, 2016 12:07 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by Pirion »

before I realized that it's impossible to do
It's not pretty and has some thoughput loss...but not impossible.
Image


This is my prefer'd method of doing it as was mentioned previously.

Image

I love the "what could go wrong" comment. It would be interesting to see how quickly someone would grief this on multiplayer.

mrvn
Smart Inserter
Smart Inserter
Posts: 5112
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by mrvn »

I'm not at the game but iirc you can't put train stops on a diagonal. How did you make your train stops?

realm174
Fast Inserter
Fast Inserter
Posts: 106
Joined: Sat Apr 02, 2016 12:32 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by realm174 »

Just a guess, but the train stop is probably on a straight, multiple locomotives, but you're only seeing part of the train, there's probably a curve just outside of the picture area..

Vexos
Burner Inserter
Burner Inserter
Posts: 9
Joined: Tue Dec 13, 2016 12:25 pm
Contact:

Re: Why are rails and trainstops required to be on even squares?

Post by Vexos »

ssilk wrote:
mrvn wrote:Image
What I really don't understand: Under which conditions is this useful? I mean: When is it useful to exchange items this way instead of bringing the items to the target station directly?
This game is about making your own automated factory. If people are tied to make everything the "correct" way, or the most sucessfull way then there is no point in designing your own factory, instead, just make a library of blueprints and everyone just copy and paste the sucessfull builds...

I think the mentioned issue is an obstacle to the free design customisation and is not as flexible and intuitive as putting rails wherever we want and have a way to connect it anyways.

Post Reply

Return to “General discussion”