Author Topic: Explicit platform orientation  (Read 2401 times)

0 Members and 1 Guest are viewing this topic.

Online Vladki

Explicit platform orientation
« on: February 07, 2016, 06:02:54 PM »
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?

Offline An_dz

  • Web Admin
  • Administrator
  • *
  • Posts: 2533
  • Total likes: 271
  • Helpful: 89
  • D'oh
    • by An_dz
  • Languages: PT, EN, (it, de)
Re: Explicit platform orientation
« Reply #1 on: February 07, 2016, 06:39:53 PM »
Does something happen when clicking the station icon with Ctrl? With station extensions you can select the orientation.

Online Vladki

Re: Explicit platform orientation
« Reply #2 on: February 07, 2016, 07:06:36 PM »
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

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 8685
  • Total likes: 294
  • Helpful: 228
  • Languages: De,EN,JP
Re: Explicit platform orientation
« Reply #3 on: February 07, 2016, 09:21:36 PM »
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.

Online Vladki

Re: Explicit platform orientation
« Reply #4 on: February 09, 2016, 08:27:58 PM »
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.

Offline Leartin

Re: Explicit platform orientation
« Reply #5 on: February 09, 2016, 09:56:06 PM »
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.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 8685
  • Total likes: 294
  • Helpful: 228
  • Languages: De,EN,JP
Re: Explicit platform orientation
« Reply #6 on: February 10, 2016, 01:02:27 AM »
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.

Offline Leartin

Re: Explicit platform orientation
« Reply #7 on: February 10, 2016, 06:05:57 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?)

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 8685
  • Total likes: 294
  • Helpful: 228
  • Languages: De,EN,JP
Re: Explicit platform orientation
« Reply #8 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 ... 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.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 4544
  • Total likes: 165
  • Helpful: 106
  • Languages: EN, NO
Re: Explicit platform orientation
« Reply #9 on: February 11, 2016, 05:58:09 AM »
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?

Offline Leartin

Re: Explicit platform orientation
« Reply #10 on: February 11, 2016, 09:17:29 AM »
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.

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.
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.

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.
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.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 4544
  • Total likes: 165
  • Helpful: 106
  • Languages: EN, NO
Re: Explicit platform orientation
« Reply #11 on: February 11, 2016, 04:50:49 PM »
Seldom is not never. I have lots of single tile metro platforms.

Offline Ichou

Re: Explicit platform orientation
« Reply #12 on: April 03, 2017, 12:56:11 PM »
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.

Offline Leartin

Re: Explicit platform orientation
« Reply #13 on: April 03, 2017, 01:21:03 PM »
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.

Offline Ichou

Re: Explicit platform orientation
« Reply #14 on: April 03, 2017, 01:58:59 PM »
Quote
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.
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.

Quote
one-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.

Offline Leartin

Re: Explicit platform orientation
« Reply #15 on: April 03, 2017, 03:53:09 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.

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).

Offline Ichou

Re: Explicit platform orientation
« Reply #16 on: April 04, 2017, 12:28:57 AM »
I'm sorry, Leartin.
My last post was entirly wrong.

Quote
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.
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.
Quote
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).
"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.

Offline Leartin

Re: Explicit platform orientation
« Reply #17 on: April 04, 2017, 05:02:16 AM »
Now 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?

Offline Ichou

Re: Explicit platform orientation
« Reply #18 on: April 04, 2017, 05:35:49 AM »
Quote
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?
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.