News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Unified Symbols for Signals

Started by Leartin, July 22, 2019, 02:31:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Leartin

Dear Simutrans-Pakset-Maintainers.

I have a proposal to all of you. A bit like an extension request, except there is no programming involved.

To make it short: Whenever I switch paksets, I have issues with signals, because most of the time, the icon only shows what the signal will look like. And even if the resultion wasn't a 32x32 px button, that wouldn't help me, since I wouldn't understand the signal anyway.

For pak192.comic, I recently did something rather drastic:


Essentially, unless you open a submenu, you will not see what a signal looks like, only what it does. (Possible thanks to userfriendlys patch a few months ago). This is for two reasons: I think it's more important for "gameplay"-players to know the functionality of a signal than it is to know what it looks like, and any "model railway"-player might appriciate that with this, the base pak can include any number of different looking and functionless signals without overblowing the menu in any way.

As a side effect, all signals got their own symbols in a corner. They actually had them before, but less visible and with a less unified look.


My proposal is that other paksets do the same, with the same symbols - or other symbols we can all decide on. Just so anyone who switches between paksets and already learned how to use a signal can simply identify the same signal in another pakset and use it just like before.

Vladki

In pak128.cs we did something similar. All signals have a letter in the bottom right corner: S O P L C E. (signal, one-way, pre-, long-, choose-signal, end of choose.)

And BTW what is the signal with red arrow?

Leartin

It's the player gate that only allows certain players through. The arrow is in player-color.

prissi

Which would be the priority signal?

Vladki

Quote from: prissi on September 22, 2019, 01:58:04 PM
Which would be the priority signal?
Maybe 3S, as 3 aspect signal, as its behavior is quite similar to 3 aspect signal in extended

Leartin

Quote from: prissi on September 22, 2019, 01:58:04 PM
Which would be the priority signal?

It's not visible in the screenshot, since it does not exist yet in p192c.



Bottom row, fourth icon, which indicates that one track has priority over the other when they combine.


I don't like the use of letters, since they depend on the latin alphabet and knowledge of the signals name, which is - of course - different in other languages.

prissi

The longblock signal is reserving until the end of a route. Thus I am not sure if it is the second or the third symbol. Could the symbol rather have a bar instead an arrow to indicate termination?

Leartin

Quote from: prissi on September 23, 2019, 02:13:10 PM
The longblock signal is reserving until the end of a route. Thus I am not sure if it is the second or the third symbol. Could the symbol rather have a bar instead an arrow to indicate termination?

Does it? I was under the impression it still only reserves to the next signal, with the difference to a normal signal being that it does not stop for stations. I suppose if you use it at the entrance of a one-rail dead-end, it would reserve the whole rail from signal to the rail-end bumper. I tried to depict that. I also depicted it as you suggested with just a bar instead of an arrow. I guess the best symbol is the one that shows how one would use the signal, and since there are at least three ways to use it, I'm not sure which to depict.
(The three ways are: a two-lane-track get's reduced to a one-lane-track before termination, a two-lane-track becomes a one-lane-track and goes back to a two-lane-track, a two-lane-track has a one-lane-sidearm)

An_dz

Honestly I find that there's no need for a specific complex symbol like those, I believe something very simple, like colored geometrical figures would work better.

And the reason is simple, Simutrans signals are **** complex. I have no idea what pretty much all of them do, and those symbols Leartin came up have not, even remotely, helped in any way on me understanding them.

The symbol should be small and simple to only help distinguishing between them in the menu. Complex symbols, like the proposed, end up taking too much space of the icon disallowing smaller icons or extra information on them. Complex symbols also don't help distinguishing between them as it's too much information for my brain to find clear patterns of differentiation.

Another approach is to separate the signals in the menu with a separator item, a menu item that has no function other than separate between the signal types.

Leartin

Quote from: An_dz on September 23, 2019, 11:20:34 PM
I have no idea what pretty much all of them do, and those symbols Leartin came up have not, even remotely, helped in any way on me understanding them.

They are not supposed to help you understand them. (Perhaps give a hint at best)
The suggested purpose is:
1) If you know what each signal does, you should be able to identify them by it's symbol.
2) The symbols should work for all paksets, such that you only need to learn them once.

I don't think you can use color across paksets. Comic Paksets would have no issue with them, but in the classic grey menus it would pop too much.
Geometric shapes are troubled as well, as you need 8 shapes that are simple and destinguishable at a few pixels size. At that size, it's easier to work with lines, since even square and circle are close to one another.


As for seperators - can you even tell the menuconf to add signals of a specific type? I think you can only specify the waytype...

Ters

Quote from: Leartin on September 23, 2019, 03:51:04 PMDoes it? I was under the impression it still only reserves to the next signal, with the difference to a normal signal being that it does not stop for stations.
From what I remember figuring out probably two or three years ago, the long-block signal checks that no tiles along the path ahead is reserved by other trains until the next signal, before giving the green. It possibly also stops at the end of the line and/or where the train reverses course. However, it only reserves tiles up to and including the next station, or signal. (Technically, in the code, it is the vehicles that are doing all of this, but this is how people see it.)

An_dz

Quote from: Leartin on September 24, 2019, 04:34:23 AM
As for seperators - can you even tell the menuconf to add signals of a specific type? I think you can only specify the waytype...
Checked the code and you can't. While it does not look hard to implement the menuconf feature, the signal code is very messy, you can create some combinations of signals and merely adding more images also makes it into a traffic light.

prissi

The longblocksignal check the way until in encounters again a tile it has already reserved (i.e. going back or in circles). It is therefore totally unsuitable to reserve a one way stretch, which is a classical task for a normal signal.

Leartin

Quote from: prissi on September 24, 2019, 12:27:22 PM
The longblocksignal check the way until in encounters again a tile it has already reserved (i.e. going back or in circles). It is therefore totally unsuitable to reserve a one way stretch, which is a classical task for a normal signal.

I'm sorry, but are we talking about the same signal here?

Quote from: https://simutrans-germany.com/wiki/wiki/en_Traffic_congestion_controlLong-block signals
These are used to allow single-track sections with several stations in one line, which can be passed in both directions. As reservations are allocated from one stop to the next one (see above), without looking ahead any further, sections like these would normally lead to deadlocks. Long-block signals support in avoiding these deadlocks: a train will only proceed if the entire track section up to the next signal is clear of existing reservations.

Quote from: https://sourceforge.net/p/simutrans/wiki/Signal%20guide/
The Long-Block Signal is used in a bottleneck situation, when two or more stations are placed along a single track, but there are many trains using it. Normal signals would only check up to the station they want to arrive at, so it would be possible for both stations to be occupied with trains going in opposite directions, blocked by each other. A deadlock the player needs to resolve manually.
Upon arriving at a Long-Block Signal, a train will check up to the next signal, regardless whether there are stations inbetween or not. If the way is free, it then reserves up to the station. This is enough, since a train from the other direction will now see the reserved track and not allow another train to enter the bottleneck.

Quote from: https://forum.simutrans.com/index.php?topic=1091.0it overrides the station's signal so that it will let a train pass only if the track ahead up to the next signal (ignoring any station signal in between) is not occupied by another train.

Ters

Quote from: Leartin on September 24, 2019, 12:56:56 PMI'm sorry, but are we talking about the same signal here?
I think prissi was explaining the parts I was unsure about. It covers a special case the other descriptions do not cover, placing waypoints forcing a train to loop back on its own path, probably because it is a very strange thing to do.

prissi

A longblock signal reserves up to the next station or signal, if free.
If there is a signal, it will behave indeed like a normal signal. If there is a station, it will check further one until either encountering a signal or reaching the same station it was before. If this is all not reserved, then it will reserve but only to the next station.