1. NIMBY Rails
  2. News

NIMBY Rails News

Version 1.5.41

The second beta series for version 1.5 is now finished, and it is now the default game version. It includes a lot of fixes and some new features:

- Custom leg timing: set the exact time a train should take between two line stations.
- Better late train estimation: late trains are now capable of detecting they are late much sooner in their trip, accelerating earlier to make up for it.
- Conflict visualization in the platform table: highlights when two or more line stops happen at the same time in the same platform.
- Line services: create a new version of an existing line with private timings, which remains synchronized to the original line.

For more details on these new features check the October devblog:

https://carloscarrasco.com/nimby-rails-october-2022/

And for the full, detailed version changelog check the beta thread in the forum:

https://steamcommunity.com/app/1134710/discussions/0/3321988498660991049/

Devblog for October 2022

October is ending so it's time for a new devblog. Most of October was devoted to the second beta series of 1.5. Important new features and UX was added to the 1.5 beta branch: custom leg timings, late train estimation, stop conflict visualization and most importantly, line services. With line services it is now possible to create multiple synchronized versions of the same line, with optionally disabled stops, but with custom timing in all line and stop aspects. 1.5 is ending very soon and this second beta will be made the default game version in the coming days.

1.6 has started private development. While there is only one major theme confirmed for 1.6 (a multiplayer review to try to make it possible to play larger builds in MP), I wanted to start 1.6 with some smaller items which were too risky for the already mature 1.5 betas. 1.6 now features track curve weights, track split and track tape tools. Read the post to see how these tools will make some track building tasks easier in 1.6:

https://carloscarrasco.com/nimby-rails-october-2022/

Version 1.5 has been released!

After one month of beta development 1.5 has been made the default game version. It contains many UI and UX improvements to the new order system, making it easier than ever to to give manual orders to a group of trains and to use depot gameplay. The auto run system is also improved, and 1.4 imported lines and new lines default to easy, hands off auto run settings.

The central, foundational rule of the new 1.5 system is: every train arrival and departure in a station has a fixed time in the week.

How to run lines in auto mode


Create a line. Assign trains to run it in auto mode (the default mode). That's it, no more settings are needed. The game automatically keeps a timetable and calculates a fixed interval as you add or remove trains.

How to run a train group with daily scheduled train downtime, the easy way


1) Create a line. The default time settings are okay, but since the trains running the line are going to have a daily downtime period, you can switch the duration to minimal, since it does not really need to perfectly fit any given period.



2) Buy a train and set it to manual orders on purchase time. This will be your train group leader or parent.

3) In the train editor, select the Orders tab for the new train, click "Append new order", and set it to run your line every day of the week, with a departure of 6 in the morning:



4) If you wanted to have the train run all day, you would be done. This setup is a bit inefficient since the line duration does not divide 24h and you are asking the train to run for 24h, so the run just before 6:00:00 is a bit longer, but it's not important since you are also going to add a depot line and that extra round up time will be spent in the depot.



5) In 1.5 "depots" are actually lines. This decouples the act of a train being in downtime from the physical location of a depot. A regular station which does normal pax service during the day is a perfectly valid depot at night, so we can just use the first station of this line as the depot stop. Depot lines are just regular lines with a service level set to "technical maneuvers". This tells pax to avoid this line, and tells trains it is allowed to despawn when they reach a stop (this can be disabled too).

To create a depot line, click the "Create depot line" in the line editor listing, then click on the station platform which serve as a depot.



6) Now go back to the train orders, and add a second order for the newly created depot line, configured to "arrive no later than" 1:00:00, and set to not loop until next order. By unchecking the loop setting, you tell the train to stay put until the next order starts in the morning. Since the selected line is in technical mode, this wait will be done with the train despawned.



And this is how the train schedule looks like after adding the new depot order:



7) You are almost done. Having only one train run these orders might not be enough to service the pax demand, so let's add some trains. Click in the Group tab of the manual train, select the regular line in the drop down of "Duration of", and then click in "Clone as copier" to add as many trains to the group as you want.



And this is it. Your train group now runs a regular pax line during the day, and spends a few hours stored away at night. You control this with exactly two orders in a single train, with all other trains in the group automatically copied and spaced in time.


How to run a train group with daily scheduled train downtime, the aesthetic way


It is possible to create stations to serve as dedicated physical depots if wanted. These are still normal stations, buy you might want to tone down some styling, like disabling buildings around the platforms.



The next step is to create a depot line. But this time we are going to add all the platforms in the station as secondary platforms:



To be able to select secondary platforms for a stop, you first need to select a path signal to serve as the platform distributor. This signal must be able to "see" inside all the secondary and the main platforms, without any other signal cutting the path. You can verify this with the signal editor:



When you use this depot line in your train orders, trains will prefer to pick a secondary platform, and remain spawned during the night, for a depot storage aesthetic:



Trains which do not fit in the available secondary platforms will pick the main platform and despawn there.

Development log


The journey to 1.5 has been long, check the summer devblogs for development progress and the new September devblog for the beta changes:

https://carloscarrasco.com/nimby-rails-june-2022/
https://carloscarrasco.com/nimby-rails-july-2022/
https://carloscarrasco.com/nimby-rails-august-2022/
https://carloscarrasco.com/nimby-rails-september-2022/

Devblog for August 2022

August finally saw timetables come together at last! First train AI was updated to follow timetables. As expected this didn't take long, but the though part is in the multitude of corner cases it can have. After trains started happily waiting for their departure time and speeding up and down to make it to their arrival time, it was time to finally settle down the timetable design.

I finally decided to make it orders-centered, with many order flexibility, rather than run and line centered, as it was the original plan. So orders were resurrected as a much more intelligent object than they have ever been. Orders sit atop the timing hierarchy, and they are the only player editable object in the timetable system. Orders in turn create one or more train runs. Trains know nothing about orders, instead they require a list of runs that covers 100% of the week time. A run is just an instruction to run a given line starting a certain time for a certain duration, nothing more. And finally, combining line stop timing with the simple run objects, enables a train to always know exactly what is supposed to be doing.

Some timetable functionality would impossible without secondary stop platforms, and these were added to the game. Line stops can now designate a path signal to serve as the distribution point, and then a set of one or more secondary stops as valid, alternate platforms in case the main one (or some other secondary platform) is busy. For timing purposes secondary stops do not exist, so make sure to add some extra slack to your stop times (always a good idea in 1.5 anyway).

Depots have been removed in 1.5. A way to infinitely store trains will come later, but for now the only way to store trains is in open air rail yards. And it turns out the game already had everything required to enable this feature. Combining secondary stops, a long duration order and a line in "empty trains" mode makes it possible. The blog post has more details on how to build and operate one.

If all of these new features are a bit overwhelming, fear not. 1.5 will also have automatic ways to run your trains and lines. In fact all imported 1.4 games default to automatic lines with automatic trains, so you don't have to ever open the train orders panel if you don't want to.

Finally, I decided to do things differently with the 1.5 beta, and I decided to not announce it in Steam, and just release it in the beta branch and start collecting feedback in a more quiet way. The reason is that this beta is a more unfinished product compared to earlier betas. I left many decisions to be made for later, after I can see how players react to the 1.5 design and ideas. In just one week a huge number of improvements have already landed thanks to player feedback, so it was the right idea.

https://carloscarrasco.com/nimby-rails-august-2022/

Devblog for July 2022

Timetables development is now in full swing, with the first half of July devoted to making the pax timetable pathfinder fast enough to be playable. This was a make it or leave it step for 1.5, and in the end it worked out pretty well. So well it's actually more performant than 1.4! With the pathfinder looking good, work on the timetable UI and logic was started. The UI has progressed nicely, but the logic of the timetables, and how they are exposed and edited by the user, has become an stumbling block and needs more work.

https://carloscarrasco.com/nimby-rails-july-2022/