1. NIMBY Rails
  2. News

NIMBY Rails News

Version 1.9 is now in the beta branch

Version 1.9 is now ready for beta testing! Following the theme set in 1.7 and 1.8, this release focuses on a few core aspects of the game which haven't evolved in a long time and rebuilds them to be more capable, to give the game a better foundation.

[h3]New track system[/h3]

The way tracks are edited and specially shaped hasn't changed in 3 years. Some new tools have appeared, some new capabilities were added like splitting and boundaries, but it's still the same system implemented back when the game was a prototype and I was focused on releasing with a deadline. It has been long overdue to review this system but it's such a core piece of the game, it had to be done carefully. I spend most of June researching computer curve design to find a new system, and this is the result:



The new track system is based on the Hobby spline, which is capable of approximating both circle arcs and clothoids, and gives good results when trying to approximate how railways look like. It brings a host of new features too: custom tangents on any track node, zero node branches, zero straight segment branches, track nodes are now part of the track, etc. And some more will be added in time.

Since every track of every save is changed by this new system, your track max speeds and line leg timings have changed too. Like I mentioned in the past, assume every new version of the game will change line timings, until the game is out of Early Access.

[h3]Late train boarding for pax[/h3]

I always wanted to enable strict pax boarding for trains, so pax only board the exact train in their schedule, a not any train which happens to be on the same line+stop, but this breaks player saves which depend on pax being able to board late trains. So the solution to have both things is to make it official for pax to board (some) late trains, with a specific set of rules.



Basically pax will board late trains if the predicted train arrival is still before the departure time of their next train. If the next stop is the final stop, pax will accept late trains up to 3h.

[h3]N-track platforms[/h3]

A very old limitation of the game has been lifted in 1.9: station platforms can now be composed of any number of tracks, starting at just 1:



[h3]Track+point line stops[/h3]

And to completing the previous new feature, line stops are now always based on a exact point on the track, rather than some general direction on half of the platform. This means players now have full control on where trains stop on platforms on a per line per stop basis.

As always, check the devblogs for more in depth descriptions of these new features:

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

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



Version 1.8.28

- New company option: pax train matching. Defaults to line and stop. The train, run, line and stop is the more correct option but some saves depend on the simpler behavior, despite it leading to bugs (like pax being in trains going to depot)
- Immediately move pax to their next station stop when a train line changes into depot mode (same behavior as automatic interventions due to stale train)
- Enable intervention respawn in secondary platforms for pax service lines
- Display a circle around secondary platform signals when line is being edited in line editor
- Assume some minimal tractive power if a train has at least 1W of power (not visible in UI)
- When clicking on an unspawned train in the asset list, open the train editor
- Fix: refresh all track reservations on the first sim frame after loading a saved game
- Fix: in parallel append track mode, if the track editor is proposing a track merge, changing the track type only changes the parent track
- Fix: intervention respawn was ignoring the last secondary platform
- Fix: do not allow to create a branch whose immediate sibling is a "keep straight" platform
- Fix: do not allow to set a "keep straight" platform if its immediate sibling is the immediate sibling of a track branch tip
- Fix: train acceleration displayed in the "Dynamics" line of the train editor was not always correct when train is running a line with an overrode max acceleration
- Fix: Line max acceleration did not always correctly apply to train AI
- Fix: do not reposition trains stopping at secondary platforms for stacked orders

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/