Page 4 of 5

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 11:48 am
by ssilk
3) make some compromise between the "two worlds".

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 12:14 pm
by Zeblote
ssilk wrote:3) make some compromise between the "two worlds".
There is no compromise, it's simply wrong. Just change the trains to work like the rest of the game and it's fine.

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 12:25 pm
by Hakusho
Zeblote wrote:
ssilk wrote:3) make some compromise between the "two worlds".
There is no compromise, it's simply wrong. Just change the trains to work like the rest of the game and it's fine.
I think the actual way it works is a compromise ;) and i think this is how a compromise works. it's not perfect but it is an attempt to make most people happy

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 12:50 pm
by ssilk
Zeblote wrote:There is no compromise, it's simply wrong. Just change the trains to work like the rest of the game and it's fine.
Hm. It sounds for me like you haven't read this thread and did not understand, why this is not easily possible.

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 12:56 pm
by Zeblote
ssilk wrote:
Zeblote wrote:There is no compromise, it's simply wrong. Just change the trains to work like the rest of the game and it's fine.
Hm. It sounds for me like you haven't read this thread and did not understand, why this is not easily possible.
The only actual reason in here is that it's too complicated to render the train sprites with the correct projection, and I can't see why the devs can't solve that for 0.13.

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 5:07 pm
by ratchetfreak
imajor wrote:I don't supposed it is possible to make a mod which changes this?
nope the square grid is hardcoded at a much lower level

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 5:43 pm
by imajor
ratchetfreak wrote:nope the square grid is hardcoded at a much lower level
I didn't mean of course changing the grid sizes. Only changing the size of the wagon to be the same as both horizontally and vertically. When a mod adds a new train wagon type (like the wagon for liquids) does that have the same behaviour?

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 6:11 pm
by hitzu
dee- wrote: The game grid MUST be square, otherwise rotation of entities would not make any sense at all (3x3 entity on a 1x1/2 grid then would become 6x1,5 which is nonsense)
This is exactly what happens with trains being rendered at the tilted angle to the horizon in the square grid that is supposed to be seen top down.
Zeblote wrote:
hitzu wrote: This is a square only if this is a circle and if these bars are actually floating in the air.
I know you can do cool things like that, but it's not the point.

My point is factorio doesn't use isometric projection. Otherwise it would look like this:

Image
You've just prove my point. :D
This is how the flat world with square grid should look like to be in the same projection as the rest of the entities like trains and roboports.
Trains change their lenght measured in the world's tiles only because they are rendered in the different projection than the world.
Or equally true: the trains and the world are rendered in the same projection, but the world consists of rectangular tiles.

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 6:13 pm
by hitzu
imajor wrote:
ratchetfreak wrote:nope the square grid is hardcoded at a much lower level
I didn't mean of course changing the grid sizes. Only changing the size of the wagon to be the same as both horizontally and vertically. When a mod adds a new train wagon type (like the wagon for liquids) does that have the same behaviour?
lol
You're asking something like this
https://www.youtube.com/watch?v=BKorP55Aqvg

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 7:08 pm
by Zeblote
hitzu wrote: You've just prove my point. :D
This is how the flat world with square grid should look like to be in the same projection as the rest of the entities like trains and roboports.
Trains change their lenght measured in the world's tiles only because they are rendered in the different projection than the world.
Or equally true: the trains and the world are rendered in the same projection, but the world consists of rectangular tiles.
We are probably talking about the same thing after all.

It'll still be easier (and make more sense gameplay wise) to render the trains in this special projection than to try and change the world.

Re: Train car length changes depending on orientation?

Posted: Fri Nov 27, 2015 8:30 pm
by hitzu
Zeblote wrote: It'll still be easier (and make more sense gameplay wise) to render the trains in this special projection than to try and change the world.
Yes it is possible to render the train in orthogonal top-down projection and it will not appears shorter then. Unfortunately it would be inconsistent with any other entity such as assemblers, turrets, power poles, trees, cars, player charachter, biters and everything else except flat ground tiles and belts.

There are two possibile workarounds though:

1) make a special intermediate station that adapts its lenght to the train's lenght and its thoughput doesn't depend on its orientation.
Advantges: reduce the rotation problem, makes train stations easy to build before personal robots, allow diagonal variants.
Disadvantages: a highly specialized entity with only one purpose reducing the amount of variations and gameplay choices, still would have some issues with rotation especially in the bluprints.

2) phisically stretch and shrink 3D model of the train with correlation with its orientation before rendering the sprites spreadsheet.
Advantages: eliminate the problem with rotation
Disadvantages: would look terrible because Factorio isn't the Horwarts where rigid objects can easily change their shape and size (yes, it wouldn't be unnoticable), would require rewriting code related to the train behaviour

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 12:56 am
by Rwn
After reading this mindboggling topic, I went back to Factorio to try to make sense of things and I think I now understand it. So, for anyone lost in explanations, some pictures to make things clearer.

First, from a graphical point of view, x-oriented ("horizontal") items are not a rotation of y-oriented ("vertical") items, they are "compressed" in the y axis to give an impression of perspective.
See picture below : in red, the width of an y-oriented belt is 40 pixels at this zoom level, however, 40 pixels is slightly more than the width of an x-oriented belt.
It's even more obvious with rails (in green) : the space between rails is 48 pixels in one direction but only 33 pixels in the other.
Image


However, the items are placed on a square grid, not rectangular.
See picture below : the width of 8 y-oriented belts side by side on the x axis is the same as the width of 8 x-oriented belts on the y axis. If you look carefully, there's a bigger gap between x-oriented belts than between y-oriented belts.
Image


Now, what's happening with trains?
On the picture below you have a wagon oriented in each direction. The yellow/red square that appear when you hover over a train (like any other item) is a representation of the grid, unsurprisingly it's identical in both directions (194 pixels).
Image
But if you look at the size of the wagons, the x-oriented one is in fact longer than the y-oriented one (260 pixels vs. 184 pixels), it's about the same ratio as the rail spacing above to maintain a consistent perspective. As the grid is square, this means that y-oriented wagons cover less tiles than x-oriented ones, hence less possible inserters.

Why can't both wagons be the same size? Stretching the y-oriented wagon to reach the same length as x-oriented ones would give this:
Image
Although they have the same length, the y-oriented one now looks much longer, again due to perspective (or illusion of perspective).


So the question is whether a consistent x/y gameplay behavior for trains is worth an unconsistent perspective between trains and the rest of the game...

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 2:54 am
by Peter34
Rwn wrote:So the question is whether a consistent x/y gameplay behavior for trains is worth an unconsistent perspective between trains and the rest of the game...
Or a compromise solution, one that reduces the discrepancy without removing it.

The problem isn't that there is a discrepancy. It's that it's a freakin' 40% discrepancy. It's significnat enough that i coop MP games, more experienced players need to tell less experienced players that there is only one of the possible two train loading/unloading orientations that is correct to use.

If the discrepancy was reduced from 40% to 20%, much of this problem would go away. A wrongly orientated train stop would change from being painfully stupid to being merely unfortunate. It'd be something even an efficiency-minded veteran player could live with.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 3:05 am
by gHoST INFERNO
You know what I love? Forums where the devs chime in :-P

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 9:42 am
by Zeblote
Rwn wrote: So the question is whether a consistent x/y gameplay behavior for trains is worth an unconsistent perspective between trains and the rest of the game...
Gameplay is > graphics. Adding isometric trains in a non-isometric grid restricts gameplay in a way that makes no sense.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 9:51 am
by DaveMcW
Zeblote wrote:Gameplay is > graphics.
How much greater? Judging by the Factorio Team size, gameplay = 4 * graphics.

If you demand +1 gameplay at the cost of -100 graphics, it is not going to happen.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 9:56 am
by hitzu
Zeblote wrote:
Rwn wrote: So the question is whether a consistent x/y gameplay behavior for trains is worth an unconsistent perspective between trains and the rest of the game...
Gameplay is > graphics. Adding isometric trains in a non-isometric grid restricts gameplay in a way that makes no sense.
If so, then would be better to reduce the number of inserters that can service horizontal oriented wagons. It would be consistent in a gameplay sense.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 10:53 am
by sillyfly
The more I think about it the more I come to the conclusion that train cargo needs to be overhauled. It has been suggested before multiple times, too. We need to have specialized unloading entities/structures - maybe under-car hoppers for unloading ores and coal, and removable containers with flat-bed cars for other items. This will make this issue virtually non-existent, while having the added benefits of: 1. being super cool (see video posted on the Factorio reddit a few days ago); 2. Allowing ore loading/unloading and capacity to be made more efficient, without breaking the balance for other items; 3. Remove top-tiers of Inserter Stack Size Bonus research, or at least make them much much more expensive without hurting gameplay - right now it is super OP.

If this solution is not desirable, though, I still think car length should be made the same regardless of orientation, and as said before - it doesn't have to be an all-out graphical change. The graphics can be changed slightly, while at the same time changing the spacing between the vertical and horizontal positions, as is already done for belts, etc. The end result should be that functionally vertical stations are the same as horizontal stations.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 11:17 am
by imajor
sillyfly wrote:The more I think about it the more I come to the conclusion that train cargo needs to be overhauled. It has been suggested before multiple times, too. We need to have specialized unloading entities/structures - maybe under-car hoppers for unloading ores and coal, and removable containers with flat-bed cars for other items. This will make this issue virtually non-existent, while having the added benefits of: 1. being super cool (see video posted on the Factorio reddit a few days ago); 2. Allowing ore loading/unloading and capacity to be made more efficient, without breaking the balance for other items; 3. Remove top-tiers of Inserter Stack Size Bonus research, or at least make them much much more expensive without hurting gameplay - right now it is super OP.
I don't feel that. I like when I can customize the loading/unloading part to my taste. Once you have a good layout which you like, you can simply create a blueprint and use that for each stations (at least horizontally :? ). Also specialized unloading structures would not really abolish the issue. Maybe it would not be as big problem as it is now, but it would still be pretty strange that a train takes less space vertically than horizontally.
sillyfly wrote:If this solution is not desirable, though, I still think car length should be made the same regardless of orientation, and as said before - it doesn't have to be an all-out graphical change. The graphics can be changed slightly, while at the same time changing the spacing between the vertical and horizontal positions, as is already done for belts, etc. The end result should be that functionally vertical stations are the same as horizontal stations.
Completely agree with that.

Re: Train car length changes depending on orientation?

Posted: Thu Dec 10, 2015 11:23 am
by Zeblote
DaveMcW wrote:
Zeblote wrote:Gameplay is > graphics.
How much greater? Judging by the Factorio Team size, gameplay = 4 * graphics.

If you demand +1 gameplay at the cost of -100 graphics, it is not going to happen.
This is more like +100 gameplay at the cost of 10 graphics, though.