1. NIMBY Rails
  2. News

NIMBY Rails News

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/

Devblog for June 2022

Version 1.5 development is now underway, with timetables being the star of the show. But before timetables development was started it was time to make train AI multithreaded in order squeeze as much performance as possible from the game. With that goal finished, a first prototype of timetable data and pax pathfinding was implemented, with encouraging results, but with a big performance impact, as expected. More optimizations and even game design changes will be required before timetables are playable, but the current foundations appear solid and correct.

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

Version 1.4.23 release notes

Version 1.4.23 is a small bug fix release.

  • Fix: double accounting for some items in the parallel pax code
  • Fix: handle more kinds of cases of train stops in stations, including trains (partially) outside of the platform limit, as valid train stops. This is meant to help with the "pax do not board/leave" bug.

Version 1.4.22 release notes

The last build of the 1.4 series is now live in the default branch! Development for this last build series was focused on preparing the game for the optimizations required in version 1.5, but a new major user feature was also developed, for blueprint sharing in the Steam Workshop.

  • Multiple blueprint collections
  • Steam Workshop support for sharing and subscribing to blueprint collections
  • New building modding features
  • More multithreading optimizations, the most visible being much faster game loading