1. NIMBY Rails
  2. News

NIMBY Rails News

Version 1.8

Version 1.8 is now the default game version! After a smooth beta period 1.8 is now ready for the wider playerbase. Its main focus touches the very core of the game: train AI. In 1.8 the track pathfinder powering train AI has been improved with new capabilities, and large parts of said AI have been rewritten to take advantage of it. But as usual other smaller features are also implemented in this new major version.

[h2]Track + point pathfind[/h2]

The track and train pathfinder now supports precise starting points and goals, rather than whole pairs of tracks as in previous versions. This in turn means line timing now matches the intuitive real world concepts of arrival, departure and leg, and keeping track of things like braking time or "reach middle of platform" are not needed anymore. This new capability also powers a new, much improved braking system.

[h2]Push-pull[/h2]

One of the consequences of track + point pathfinding is trains being able to "flip in place" when they need to reverse direction, rather than going all the way to a track dead end to do so. Additionally, when flipping, trains are now capable of doing so in a push-pull way: if the train composition is enabled for push pull (with the push-pull flag, or by having a head and tail car tagged as control or locomotive), its cars won't change orientation on direction changes.

[h2]Improved braking[/h2]

Previous versions didn't really implement braking. Instead a check was done in the train AI if the train had crossed into the center of the pair of tracks designated as a goal, and a speed limitation as forced just at the point, with no regard for realism.

But in 1.8 trains approaching a line stop now start braking at the correct braking distance given their current speed, independently of how many track segments are required to cross over to arrive to the destination. And not just for stops: every static (so, not signals or other train rear ends) speed change in the train path is equally anticipated and braked for in advance. Trains won't start accelerating again until the entire length of the train is past the slower track segment.



The braking acceleration can now be controlled by mods. The default braking rate (1 m/s/s) is a bit fast compared to most non-subway trains in the real world, but I think it's better to keep it a bit fast so it's closer to old behaviors. Modders can of course change it for their mods. Players can also set a maximum braking and acceleration value at the line level.

[h2]Unified append and branch track tool[/h2]

Branching (and, new in 1.8, merging) tracks is now a mode of the track append tool. The track append tool will now seamlessly support both appending tracks and creating new branches, if clicking on top of existing tracks. And when "holding" a track while appending to it, it will also propose to merge it as a branch if hovering on top of existing tracks. This behavior can be toggled with the old keybind and/or branch button in the UI.

[h2]Shared games browser[/h2]

The shared games feature has proven popular, with more than 400 shared games! In 1.8 you can also browse these games in a listing, with sorting criteria for various parameters:



[h2]Red signal info in train window[/h2]

When trains are stuck at a red signal, it's sometimes hard to understand why. In 1.8 when you open the train window and the train is waiting at a red signal, the train path beyond the signal will be displayed, stopping at the point where it found an obstacle, and a text label will be displayed at that point identifying the train or track reservation that failed the signal check.



[h2]Full details[/h2]

The devblog posts for March and April contain detailed explanations for these and other changes in 1.8:

https://carloscarrasco.com/nimby-rails-march-2023/

https://carloscarrasco.com/nimby-rails-april-2023/

Version 1.8 is now in the beta branch

Version 1.8 is now ready for testing in the beta branch! This release took shorter than usual, but its main focus touches the very core of the game: train AI. In 1.8 the track pathfinder powering train AI has been improved with new capabilities, and large parts of said AI have been rewritten to take advantage of it. But as usual other smaller features are also implemented in this new major version.

[h2]Track + point pathfind[/h2]

The track and train pathfinder now supports precise starting points and goals, rather than whole pairs of tracks as in previous versions. This in turn means line timing now matches the intuitive real world concepts of arrival, departure and leg, and keeping track of things like braking time or "reach middle of platform" are not needed anymore. This new capability also power a new, much improved braking system.

[h2]Improved braking[/h2]

Previous versions didn't really implement braking. Instead a check was done in the train AI if the train had crossed into the center of the pair of tracks designated as a goal, and a speed limitation as forced just at the point, with no regard for realism.

But in 1.8 trains approaching a line stop now start braking at the correct braking distance given their current speed, independently of how many track segments are required to cross over to arrive to the destination. And not just for stops: every static (so, not signals or other train rear ends) speed change in the train path is equally anticipated and braked for in advance.



The braking acceleration can now be controlled by mods. The default braking rate (1 m/s/s) is a bit fast compared to most non-subway trains in the real world, but I think it's better to keep it a bit fast so it's closer to old behaviors. Modders can of course change it for their mods.

[h2]Unified append and branch track tool[/h2]

Branching (and, new in 1.8, merging) tracks is now a mode of the track append tool. The track append tool will now seamlessly support both appending tracks and creating new branches, if clicking on top of existing tracks. And when "holding" a track while appending to it, it will also propose to merge it as a branch if hovering on top of existing tracks. This behavior can be toggled with the old keybind and/or branch button in the UI.

[h2]Shared games browser[/h2]

The shared games feature has proven popular, with more than 400 shared games! In 1.8 you can also browse these games in a listing, with sorting criteria for various parameters:



[h2]Full details[/h2]

The devblog posts for March and April contain detailed explanations for these and other changes in 1.8:

https://carloscarrasco.com/nimby-rails-march-2023/

https://carloscarrasco.com/nimby-rails-april-2023/

Devblog for March 2023

After the 1.7 beta started in early March, it progressed rapidly to its final release on the default branch, 1.7.15. The game gained a variety of features during the 1.7 beta, like fixed departure times, an in-game shared games browser overlaid on the world map, shared game likes, and a couple mod cleanup tools.

After 1.7 was done work started immediately on 1.8. The main feature of 1.8 is a rework of train pathfinding, to solve long standing issues with how exactly train paths origin and destinations are represented by the game. If this effort is successful, it will lead to important improvements like making line timing more in line with real life. This work is ongoing as 1.8 is under private development, but in other areas a couple of new features have been implemented: an unified track append and branch tool and a shared games browser with a sortable listing. Read more in the March devblog:

https://carloscarrasco.com/nimby-rails-march-2023/

Version 1.7

The beta for version 1.7 has finished and it is now the default game version. Most of the following notes are the same as for the original beta, but it includes some changes which happened after it, and some clarifications.

Custom train editor


The basic view of the train editor now gains a new panel to inspect each individual car of a train. The usual options seen in other UI editors of the game are present here: multiple selection, clipboard copy/paste (including between trains), reordering of selected cars, etc.



In the right side a new panel appears, the “car shop”, although using it does not spend any money. Here all the car models in the game are shown in a listing. Once you select a car model it is possible to append it to the currently edited train, or to replace the current selection of cars with the new car.

The editor allows the player to make any change they desire, but none of these changes are actually applied to the train. In order to do so the player must explicitly apply the changes with a dedicated option, which makes them pay for the price of the changes (or get refunded if the new composition is cheaper than the original one.) If the new composition is invalid, the option to apply the changes is disabled. The new train purchase mode of this system is very similar, with the usual train bill acting as the apply option.

Car coupling


As part of the new freeform trains, individual train car models can declare which coupling system they support on each side. The train editor restricts which train compositions can be created so these settings are preserved. After beta feedback this system has been made optional with a toggle in the Company panel.

Game sharing


Saved games can now be shared on a world map. You just load your save as usual, center the map on the point and zoom for your pin and preview image, and use the new My shared games dialog to upload your game.



To see other players shared games select the new browser option in the main menu. You can zoom and pan like you would do in-game. Clicking any map icon will directly load the game, and then gives you the option to like it.

Shared games can also be accessed with a web browser in https://share.nimbyrails.com/ if you don't want to load the game, or to show your save to people who don't own the game. This web site collects all the shared saves by players, and offers two main features: a dedicated page for the save, with a preview of the tracks and buildings, and the download link for the save (1.7 can load saved games directly from the Downloads folder of your PC). And the site home page, which shows a world map with a icon for every shared game, similar to the in-game world browser.

Multiplayer also benefits from this feature: the initial save download required for all joining players is now performed via a hidden, temporary shared game. This new method is many times faster than the old one for large saves.

Fixed departure times


1.7 addresses some line timing issues. The most visible change is the fact line departure times now take into account the time it took the train to brake into the station. In 1.6 and earlier departure was just the stop time after the time the train entered the station (actually the moment it crosses the middle of the platform). This is a first step in making line time concepts better match their real world definitions, which will continue in 1.8. Hover the mouse cursor over line times for a detailed breakdown of what every number means and how they add up.

Thanks to this change departure timing is now more robust, so fixed departure times (at the line level) are now possible. This new feature allows the player to input a fixed departure time for one or more line stops, eliminating the guessing and maths required to achieve them with leg and stop timing. Fixed departure times are always relative to 0s in the line timing, so if you want to use this feature for rounded-looking train run times, or for clockface scheduling, make sure your orders are set to a line event which itself is also a nice round number also participating in the scheme (like the first arrival at stop 1, which is always 0s, or to a fixed departure stop, for example).

Mod cleanup


As mods are updated or abandoned, saved games can accumulate broken train modes which are not maintained or used anymore. It is now possible to cleanup abandoned mods which no longer have a valid Steamworks presence, and to cleanup individual objects like train models which became "orphan" after mod changes.

Version 1.7 is now in the beta branch

Version 1.7 is now ready for testing in the beta branch! 1.7 implements a custom train editor, enabling players to compose their own train sets from individual cars. Also a new game sharing feature has been implemented, which will further mature while the game is in beta.

Custom train editor




The basic view of the train editor now gains a new panel to inspect each individual car of a train. The usual options seen in other UI editors of the game are present here: multiple selection, clipboard copy/paste (including between trains), reordering of selected cars, etc.

In the right side a new panel appears, the “car shop”, although using it does not spend any money. Here all the car models in the game are shown in a listing. Once you select a car model it is possible to append it to the currently edited train, or to replace the current selection of cars with the new car.

The editor allows the player to make any change they desire, but none of these changes are actually applied to the train. In order to do so the player must explicitly apply the changes with a dedicated option, which makes them pay for the price of the changes (or get refunded if the new composition is cheaper than the original one.) If the new composition is invalid, the option to apply the changes is disabled. The new train purchase mode of this system is very similar, with the usual train bill acting as the apply option.


[h1Game sharing



The game sharing system is built around a new web site hosted in share.nimbyrails.com. This web site collects all the shared saves by players, and offers two main features: a dedicated page for the save, with a preview of the tracks and buildings, and the download link for the save (1.7 can load saved games directly from the Downloads folder of your PC). And the site home page, which shows a world map with a icon for every shared game.

This system is a bit bare bones at the moment. The main missing feature is in-game browsing of shared saves. This will come later in the 1.7 beta, and with more features than the current web site.

---

Check out the January and the new February devblogs for more details:

https://carloscarrasco.com/nimby-rails-february-2023/
https://carloscarrasco.com/nimby-rails-january-2023/