Page 1 of 1

Improvement to the rail planner

Posted: Sun Jun 09, 2019 11:26 am
by mrvn
TL;DR
Make the switch between manual rails and rail planner less of a change.
What ?
When you build rails then without shift at most 7 straight rails or a 90° turn is shown in green (or red). I propose to instead always show the full rail plan up to the mouse cursor as if the rail planner where invoked using shift. But draw the planned rails ghosted and only the 7 straight rails or 90° turn that can be placed by clicking as green. This would also mean that one can use R and shift+R to rotate the planned end tile since the planned path would not be lost when releasing shift.

The goal would be that both with and without shift the full planned track is shown and remains the same. Then shift can be pressed and released without glaring changes and loss of rotation information every time. One thing that complicates this is the obstacle avoidance. Currently manual placing rails does not avoid obstacles but rather shows conflicts in red. The rail planner on the other hand deconstructs trees, rocks and cliffs (that should be optional) and avoids water. I think that both the rail planner and manual mode should only switch to avoidance mode once a suitable distance is being planned. For example anything over 15 rails. Maybe the cut off limit could be a config option or needs to be tuned as you gather experience with using it. 15 is just a guess but might be too small to work.

As a side benefit this would also avoid the insane, sometimes self crossing, loops the rail planner does to get a one tile to the side of the track.
Why ?
The current rail manual/planner switch with shift breaks rotation. Also when building rails manually I still often want to see where I'm going. So I press shift, move the mouse to where I want to go. Then I need to release shift and move the mouse back to where it will build rails so it builds the ones the planner showed me I need. Click, rinse and repeat.

I think it would just be nicer to see where you are going even in manual mode.