Semaphores penalty multiplier

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Rinin
Inserter
Inserter
Posts: 49
Joined: Sun Oct 30, 2016 3:41 pm
Contact:

Semaphores penalty multiplier

Post by Rinin »

Semaphores already could be controlled over circuit network, it would be great to control amount of pathfinding penalty also.

With simple switch we should be able to influence on amount of "pathfinding penalty" of specific semaphore. With default "const" it should behave just like now, without adding much complexity. But "signal" multiplier will allow to create "strong blocking" or "loose blocking" to pathfinder algorithm without adding huge rows of semaphores.

Why is it important.

Right now circuit networks allows to control trains tacticaly (crossroads, entrances to stations, small rail networks) But current penalty is relatevely small and could easily become neglectible in huge rail network. Therefore it's almost impossible to use semaphores for controling trains on strategical scale.

One possible use is stations with equal names far from each other.
Station closed with huge pathfinding penalty wouldn't be visited if any opened station exist. If all stations are closed - trains will wait in the waiting bays of nearest station.

It'll make possible dream setup:
1 Create initial setup of requesters and providers (stations) and trains.
2 Add yet another provider to network
3 Select name for new provider station from list
4 All other is automated

Not enough iron? Add standard Iron station to network.
Not enough steel? Add standard Smelter to network.
Not enough trains to transfer all the ore? Copypaste any existing train.
No manual naming, no manual scheduler edit. Ever. (after proper initial setup of course)

In dream setup all station types are standart, all train types are standart and almost everything is automated.

Such setups are kinda possible now, but highly ineffective. Because there is no sensible way to control trains strategically, apart from turning off stations.
But turning off stations meses up train sheduler greatly. Up to leaving trains in the middle of nowhere, blocking whole network if all stations in scheduler are offline. Blocking of all stations with huge penalty semaphores will send trains to gracefully wait in waiting bays instead.

It's a lot of other similar suggestions here but they are more complex, this suggestion could add quite a lot of possibilites to game without additional complexity.
Attachments
Selecter.png
Selecter.png (393.52 KiB) Viewed 1844 times

User avatar
TaxiService
Inserter
Inserter
Posts: 27
Joined: Fri Apr 06, 2018 3:56 pm
Contact:

Semaphores penalty multiplier/control

Post by TaxiService »

Hi! Sorry if i bring up a thread from last year, but it's asking exactly what i wanted. Better than another thread, right?

I too think that this feature would allow for much better train control with circuits.
How i came to this conclusion
Here are a couple of mockups that show how the GUI could look if such a change would be implemented

Image :shock: Image
Both examples have a new checkbox that would be unchecked by default.
When clicked, it would make its respective menu appear and allow you to modify the values that are there by default.

The left example has a Multiplier and a Divider, both of which could be set to a constant or a variable. (i guess divider should ignore 0s but i'm no mathematician)
note: by "constant" i mean an user-defined number like "1" or "1000"; by "variable" i mean a circuit network signal
The defaults for both would be 1, so 1*1000/1=1000. This would allow "easy" operations like: 2*1000/1=2000, 1*1000/2=500, etc.

The right example sets the penalty directly. It should be 1000 (or whatever) by default, and you could set it to a constant or a variable.
In this example, calculations are done outside the signal.

I'm not sure which one makes more sense to implement. But most importantly, how feasible would it be to implement such functionality?



TL;DR: controlling penalty with circuits would give us more control over trains. is this feasible?


I will try to make a mod that does this (as soon as i can...) but in the meantime what do you guys think about the idea? Has anybody else ever felt the need of a way to increase train pathfinding penalties?
my mods and 'prints

Rinin
Inserter
Inserter
Posts: 49
Joined: Sun Oct 30, 2016 3:41 pm
Contact:

Re: Semaphores penalty multiplier

Post by Rinin »

If you'll ever make a mod that does this please post link here. Lack of ability to automatically control trains on big scale is one of biggest dissapointments now. Especially because quite a lot could be solvedwith such ease.

quyxkh
Filter Inserter
Filter Inserter
Posts: 907
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Semaphores penalty multiplier

Post by quyxkh »

penalty-only signals
(edit: forgot to tell it to remember station names)

Tekky
Smart Inserter
Smart Inserter
Posts: 1036
Joined: Sun Jul 31, 2016 10:53 am
Contact:

Re: Semaphores penalty multiplier/control

Post by Tekky »

TaxiService wrote:Hi! Sorry if i bring up a thread from last year, but it's asking exactly what i wanted. Better than another thread, right?

I too think that this feature would allow for much better train control with circuits.
How i came to this conclusion
Related thread:
viewtopic.php?f=6&t=58395 Block rail section based on train condition

The OP of that suggestion thread only talked about blocking certain routes completely, instead of increasing the pathfinder penalty. However, later in that thread, I suggested that it should also be possible to increase the pathfinder penalty.

On the other hand, your specific problem would be trivial to solve if Factorio supported OpenTTD style path signals. Since the row of second signals would be unnecessary when using path signals, the train would actually reserve a route from the first signal to the station platform. If it cannot reserve such a route, it will never drive past the first signal. This is also how train signals are used in reality; signals are only placed in positions where trains are supposed to wait.

In the following threads, it has been suggested that Factorio should implement these OpenTTD style path signals:
viewtopic.php?f=6&t=26592 Trains reserve paths by segments instead of blocks
viewtopic.php?f=6&t=32020 All signals work as path signals ([0.13.20] Rails driving me crazy)
viewtopic.php?f=6&t=3497 Path signals for railroads / railway / train

Rinin
Inserter
Inserter
Posts: 49
Joined: Sun Oct 30, 2016 3:41 pm
Contact:

Re: Semaphores penalty multiplier

Post by Rinin »

I think any settings for rail segments will never been implemented because it's not realistic at all. Rail is more or less - piece of steel. Some drawbridge - probably. But I think it's not priority task for developers at all.

Furthermore I think using "pathfinding penalty" for train routing on global scale (the first idea of this topic) is quite dirty hack. And proper solution - is any ability to automate train shedule.

But it's simple change and it gives more control to entusiasts without generaly affecting more casual players.

I know this "Hell, what are all this signals for?" feeling after installing OpenTTD 15 years later. And developers probably right in their attempt to protect the game from extra complexity.

Probably they are right in ignoring this suggestion also. Because even this small compromise is first step to terrible spaceshuttle-like GUI.

quyxkh
Filter Inserter
Filter Inserter
Posts: 907
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Semaphores penalty multiplier

Post by quyxkh »

Yeah, but OpenTTD's world has multiple transport companies with scheduling offices and planning staff and engineers all talking and thinking about what would be the smart thing to do.

Our world has a a lone lost cyborg wiring together half-mechanical circuitry she mostly made himself, and the circuitry can't plan or talk or drive at all, signals on a wire is its limit, plugged into simpleminded gadgets. So of course the gadgets don't coordinate schedules, they're batting way out of their league just following a path, let alone finding one..

User avatar
TaxiService
Inserter
Inserter
Posts: 27
Joined: Fri Apr 06, 2018 3:56 pm
Contact:

Re: Semaphores penalty multiplier/control

Post by TaxiService »

First of all, thanks for all the replies.
Tekky wrote:The OP of that suggestion thread only talked about blocking certain routes completely, instead of increasing the pathfinder penalty. However, later in that thread, I suggested that it should also be possible to increase the pathfinder penalty.
Nice! I'm glad me and Rinin aren't the only ones that thought about this. :lol:
digression
Rinin wrote:I think any settings for rail segments will never been implemented because it's not realistic at all. Rail is more or less - piece of steel. Some drawbridge - probably. But I think it's not priority task for developers at all.
Luckily we are talking about rail signals here!
Rinin wrote:Furthermore I think using "pathfinding penalty" for train routing on global scale (the first idea of this topic) is quite dirty hack. And proper solution - is any ability to automate train shedule.
D: what do you mean!? I mean, ok, maybe on global scale it would be but for single intersections or stuff like my stacker it should be fine! right?
Rinin wrote:But it's simple change and it gives more control to entusiasts without generaly affecting more casual players.
Exactly! At least, to me it sounds easier to implement a way to control an individual signal's penalty rather than outright "adding path signals".
I would like to hear what the devs have to say tho'. :oops:

quyxkh wrote:
penalty-only signals
That's an interesting contraption. Basically those "penalty-only" signals are deactivated when a train is incoming, but the incoming train is already trying to go to the track that was open... That's pretty cool!
I don't see how it would help my case, though. :( I mean, my problem is that circuit controlled signals sometimes don't block trains as one would expect.
Or to word it differently: in some cases, circuit-controlled rail signals become unreliable.

Currently, the only way to make them "more reliable" is to raise the penalty by daisy-chaining more signals, but...
i don't know, to me this feels like a janky workaround to a missing feature..?

If each individual signal would let you set its own penalty (with an override or a multiplier+divider combo or w/e) we wouldn't need to add extra signals!
And yeah, one could argue that setting penalties like this could still be a janky workaround, but at least it's... less... janky? :D

Not only that, but we could potentially make very complex circuit-controlled setups to *really* force trains to take the paths we desire.


My gut tells me that something like this should be easier to do compared to implementing a whole new type of signal. But i'm just a stinky layman, so i don't really know. :?
If i may, what I would like somebody from the dev team to answer is: how feasible would it be to implement something like this?
like this

Rinin wrote:If you'll ever make a mod that does this please post link here.
Of course, but don't expect it anytime soon. If it's possible to do i will eventually do it. Though, it might be a while before I start working on it and, since i'm not an experienced factorio modder, doing the mod itself will probably take quite some time. :oops:
so yeah, don't get excited yet.


I really hope my formatting doesn't bother anyone o_o''
my mods and 'prints

Post Reply

Return to “Ideas and Suggestions”