News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

Explicit platform orientation

Started by Vladki, February 07, 2016, 06:02:54 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Vladki

This is about one sided platforms (stops) with Dims=1,1,16. When you build those, it is quite hard to guess which way they would be oriented. As a result it is often necessary to delete the platform, rotate map and build again. Also occasionally one may want to have all platforms on the same side (closer to the station building), not alternating.

It would be nice to be able to preselect the orientation of platform in similar way as with extension buildings, i.e. ctrl-click will bring a dialog offering a choice of rotations to use.

Or alternatively something like with signals - building the same platform type on the same tile twice will swap sides.

Any ideas, objections, etc?

An_dz

Does something happen when clicking the station icon with Ctrl? With station extensions you can select the orientation.

Vladki

clicking on platform icon with Ctrl does the same as without Ctrl - just selects the platform. Also when building, ctrl does not affect rotation, but allows you to downgrade the platform

prissi

SO your request to select a graphic when selecting a station with control and there are more than 2 diemsions. Well, it is doable, but it may still produce undesired result, since at this time the direction of the track is not known.

Vladki

There are three ways how it could be done:

  • same as with extension buildings - 4 rotations are shown after ctrl-click. Then if you attempt to put N-S rotation on E-W track, you get error window similar to the one you get when building station on slope or diagonal track.
  • similar as 1, but you select a pair of rotations - one for N-S and one for E-W, and they are used according to the underlying track.
  • different approach more like signals - clicking with build tool on already built platform will turn the tile 180 degrees.

Leartin

Fourth option: Add a 'real' drag mechanic to stations similar to ways, where the stations are not really buildt until you let go of the mouse button. The direction of the drag could signify the station orientation.

While this is probably a bit harder to do, it should play more fluid, and the drag mechanic would have it's own merits anyway.

prissi

Dragging station would be an entirely new tool. Also I do not seen how dragging would solve the orientation issue with left and right sided stations. Also the current programming on station orientation would not work with dragging. So it would be quite an effort.

I thing the  previously mentioned method 1 is the only one feasible with not too much effort for now.

Leartin

Quote from: prissi on February 10, 2016, 01:02:27 AM
Also I do not seen how dragging would solve the orientation issue with left and right sided stations.
You can drag either west to east, or east to west. Say the station always appears to the right of the dragging direction - if you drag west to east, the station is on the south side, if you drag east to west, the station is on the north side.

Yes, it would be an entirely new functionality, but one which has it's own merits and was wished before entirely independent on station orientation. And it neither requires additional buttons (not available on mobile platforms) nor could it fail, nor would it be so hidden nobody even knows how to do it (how many players even know ctrl allows for predefining orientation?)

prissi

With dragging, you need to drag in one direction, otherwise you station will be in the wrong place ... And a dragging station tool with the current button will require that when stopping the same tile always a station will be built (even in the in the wrong orietnation) or you would not be able to build a station whenever you mouse move a single pixel.

Ters

Quote from: prissi on February 10, 2016, 09:48:10 PM
And a dragging station tool with the current button will require that when stopping the same tile always a station will be built (even in the in the wrong orietnation) or you would not be able to build a station whenever you mouse move a single pixel.

Not to mention that you need to be able to drag within the same tile in order to control orientation of a single tile stations. But I think tools do not get information about mouse movements at that a fine level. Do they even get information about mouse movements directly at all?

Leartin

Quote from: prissi on February 10, 2016, 09:48:10 PM
With dragging, you need to drag in one direction, otherwise you station will be in the wrong place
You mean when you want to make an existing platform longer? Yes, if you enlongate a station by dragging and drag in the opposite direction, you will get platforms on the other side. I attached an image to display what it would look like, if that is indeed what you mean.
However, just like with ways, the player would see a preview before he ends the drag, so he knows beforehand that the station would be the wrong way around. And he has two ways of building it the desired way, either by just clicking single tiles (the current behaviour would not change in that regards) or dragging the other direction - since the platforms only get buildt when you end the click, they can all connect to the existing station.

Quote from: prissi on February 10, 2016, 09:48:10 PMAnd a dragging station tool with the current button will require that when stopping the same tile always a station will be built (even in the in the wrong orietnation) or you would not be able to build a station whenever you mouse move a single pixel.
Exactly, if you end the click on the same tile you started the click, the current behaviour will do what it does and create a station tile that is aligned to existing station tiles, and if there are no neighbouring tiles it's just the standard rotation. Nothing wrong with that.

Quote from: Ters on February 11, 2016, 05:58:09 AMNot to mention that you need to be able to drag within the same tile in order to control orientation of a single tile stations.
No, you just can't orientate a single tile station by dragging. Which would typically be stations for aircrafts, ships and cars, where platform orientation hardly matters, wheras all kinds of tracks where it actually matters seldom use single-tile stations.


My concern here is finding the function and usability.
Since dragging is something players already do and new players will probably try, the behaviour with the orientation will be seen and is simple enough to be understood if attention is paid. Functionality that requires CTRL will hardly be found.

Usability-wise look at the efficiency of the current method with map rotation:
It's either a mouseclick (opening the menu that includes the rotation button - this is optional) a doubleclick on the map rotation, and a doubleclick again once you are done - or you use the shortcut key four times.
If you implement the same is with extensions, you have to press control and click (two actions) and click again on the rotation you want. So it's at best as efficient, but if shortcuts exist or the rotation button is already visible less efficient, than the current method.
It IS better than map rotation if you want to have all platforms on the same side, as Vladki suggested, since that's currently not possible at all (in a useful way) - but if you don't want that, which is more likely, you'd need an additional click on the station icon in the menu to get rid of the locked rotation.
Using drag to orient the station does not need any additional clicks at all, thus it's argueable more efficient then either method.

Of course it's still the hardest to implement, so I don't expect it to be done, but that's because there is higher implementation cost for more gain, not because there would be no gain.

Ters

Seldom is not never. I have lots of single tile metro platforms.

Ichou

Hey, everyone.
I have another idea: change the direction if existing platform is clicked with construction mode of the platform same to the existing one.

In this rule, you only have to click again just after the construction if you don't like the constructed direction, and it has 2 more merits.

  • We don't have to think "if the direction was not assigned..." unlike the other ideas.
  • We can make most of the current version that auto-decided direation is good in most cases.

Leartin

We have precedence for that behaviour in signals, thus it should be easy enough to understand. However, I wonder if we could have that as a general mechanic for everything that could possibly rotate. Including non-square multitile buildings if there is space available. Sure, there already is another way to do it for those, but it would be nice if players could just learn "click again to rotate" and it works everywhere, not just in a single case.


Furthermore - in many cases, one-sided stations and double-sided stations would require the exact same graphics, just that one-sided stations only uses backimage OR frontimage, while a doublesided station would use both. It might add some value to enable a double-sided version of a station as an additional 'rotation' (by using dims 24 maybe?) since it's only a few more lines of code, no extra images required, in many cases.

Ichou

QuoteWe have precedence for that behaviour in signals, thus it should be easy enough to understand. However, I wonder if we could have that as a general mechanic for everything that could possibly rotate. Including non-square multitile buildings if there is space available. Sure, there already is another way to do it for those, but it would be nice if players could just learn "click again to rotate" and it works everywhere, not just in a single case.
As you know in the current Simutrans, we can construct platform on many tiles with one drag, and the signal-like construction will throw away this convenience. I think it's the most important problem of the signal-like construction.

Quoteone-sided stations only uses backimage OR frontimage
No, it's false. Actually I have a platform with a wall on the opposite side of the platform.
But I think allowing dims=1,1,24 is fine, not considering how to assign the direction.

Leartin

Quote from: Ichou on April 03, 2017, 01:58:59 PM
As you know in the current Simutrans, we can construct platform on many tiles with one drag, and the signal-like construction will throw away this convenience. I think it's the most important problem of the signal-like construction.
I was unclear, I actually was referring to your solution - clicking on a signal for a few times changes it's rotation. Though signals show there are many ways to build things, dragging and multi-click are not exclusives.

Quote from: Ichou on April 03, 2017, 01:58:59 PM
No, it's false. Actually I have a platform with a wall on the opposite side of the platform.
But I think allowing dims=1,1,24 is fine, not considering how to assign the direction.
Well, that's why the sentence started with "In many cases" - There are other cases as well, most notably all those where two stations combined span a dome over the station. But the most simple station is just having a platform behind the rails (backimage) in front of the rails (frontimage) or on both sides of the rail (both).

Ichou

I'm sorry, Leartin.
My last post was entirly wrong.

QuoteI was unclear, I actually was referring to your solution - clicking on a signal for a few times changes it's rotation. Though signals show there are many ways to build things, dragging and multi-click are not exclusives.
I misunderstood: "behavior in signal" reminded me dragging - how to I usually build signals - and I objected
to the idea that drag-construction of platforms.
QuoteWell, that's why the sentence started with "In many cases" - There are other cases as well, most notably all those where two stations combined span a dome over the station. But the most simple station is just having a platform behind the rails (backimage) in front of the rails (frontimage) or on both sides of the rail (both).
"in many cases" looked for me to describe until "... same graphics,".

Now I have no objection to your insistences, but the latter is far from what is focused on here, right?
So I will make a new board to discuss it.

Leartin

Quote from: Ichou on April 04, 2017, 12:28:57 AMNow I have no objection to your insistences, but the latter is far from what is focused on here, right?

You have dependency. While dims 1,1,24 don't need to be in here, the new thread now requires talk about how to get to those additional dims. You can't really have these two isolated, so why divide in the first place?

Ichou

QuoteYou have dependency. While dims 1,1,24 don't need to be in here, the new thread now requires talk about how to get to those additional dims. You can't really have these two isolated, so why divide in the first place?
Yes, the new thread might sometimes have to refer to this thread. But this thread doesn't have to refer to that one.

Let's call "new process to construct platforms" A, and "dims=1,1,24" B.
A is more basic than B, so essentially A should be discussed and implemented first, and B should go after that.
Discussion of B will not have enough reality, while we don't know what will be implemented about A.
And once A has been implemented, B will not have to refer to this board, because A will be a common sense.

That's why I divided.