1. NIMBY Rails
  2. News

NIMBY Rails News

Devblog for August 2024

After some intense design work in July to remake train scheduling, it was time to implement the winning ideas during August. The core of the new design is making Schedules a new top level object and editor, and introducing Shifts, which decouple schedules from trains. Several new tools have been implemented to make creating new shifts preferable to just creating new schedules, including having per-shift specific timing of orders. Read more on how scheduling will look like in 1.14 in this month devblog:

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

Devblog for July 2024

July was devoted to design a revamp of the train order system. The goals are to make train schedules a more visible element of the game and to make the concept of train shifts more elaborated. A "blue sky" design was discarded due to the impact it would have on existing saves, and it was replaced with a compromise design, which keeps the current order system intact, but moves it to a new game object, Schedules. There's still a lot of work left to implement this new system, so 1.14 might be some ways off. Read more at the devblog:

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

Aug 4th UPDATE: The idea for dynamically assigned shifts is flawed and has been removed from the 1.14 design. The post has been updated to reflect this.

Version 1.13

Version 1.13 has been released to the default game branch, This new version complements the changes in version 1.12 by increasing station capacity and introducing walk legs and links.

[h2]Pax path walk legs[/h2]

Pax are now able to plan paths including the act of walking between two stations, instead of taking a train. This includes cases where there is no possible train between stations, and when the train exists but it will faster to just walk (at least at the time of arrival). These walk legs are modeled as walking in a direct line (unrealistically fast) at 1 m/s (unrealistically slow), so it evens out.

The feature is meant to model the generic act of walking between stations, with some limited support for customization. This feature is also not able to consider things like rivers, mountains, country borders, particular streets or paths, islands, bays, etc. All these cases would require a combination of street routing and terrain routing and are an immense amount of work, and out of scope for the game.



If one or more of these cases bother you, or you just don't want to have walking legs for some stations, it is possible to disable them by changing the max walking radius of the station to 0. For a walking leg to be allowed between stations, both of their center points (the small circle displayed when you disable all station names and icons) must be within each other walking radius. A walking radius of 0 cannot contain any point so no walk legs will be possible.

The walk radius (even when set to 0) can be combined with a new special building: walk leg buildings.



This new special building can be accessed from the station creation mode (which now also contains the platform extension building). If a walk link building touches platform footprints in two (or more) different stations, these stations are considered walk linked, as long as the links from their centers is under the max radius limit (2.3km). This allows players to manually specify which walk links are allowed and which ones are not, compared to the automatic radius system.

[h2]Station capacity and station halls[/h2]

A recurrent player complain about the station system, always supporting an active thread in the forums, is the 10k transfer pax limits in stations. In 1.13 this limit has been lifted to 25k, with a manual option to raise it to 100k, and train boarding speed has been increased by 10x to compensate. Pax will now spawn as long as the platforms are under the capacity limit, and platform capacity is now always a manual user setting. This is now possible since the original limits were put in place when the pax pathfinder was much slower. In the years since that decision was made its performance has improved immensely, and the game became deeply multithreaded.

That being said, it is the old 10k pax limit what's keeping some player saves playable at all, since they are perpetually running over capacity. With the much higher limits this problem is now visible as overloaded stations rather than refunds, which I think is better at communicating to the player what kind of problem their save has, compared to giving pax a refund and deleting them. Still, if the old mechanics are desired, it was made possible during beta to manually set a lower platform capacity limit, and to disable transfer pax overflow into the hall, enabling the refund behavior again.

Additionally, in order to support walking legs, station halls have been introduced. Stations can now store pax in 2 places: the platforms and the hall. Pax in platforms behave like always: they are eligible to board trains. Pax in the hall are not allowed to board trains. Instead they have a countdown timer, and when it reaches 0, they are moved to the platforms. If the platforms are full, they remain in the hall, waiting for a spot. Hall capacity is unlimited.

[h2]Assets map overlay[/h2]

Station and train asset listings can now be displayed on the map as a "blob" overlay:



These blobs are circles whose area is proportional to the listing max value. You can change the colors, including the transparency. Adjusting the degree of transparency also enables a heatmap-like view. The map updates in realtime just like the asset listing, and it can also clamp the range to the visible objects by using the existing "on map" button in the assets panel.

[h2]Odds and ends[/h2]

For the game to support a pax simulation which scales into the millions of pax, it is necessary to precalculate a lot of data, so the sim does not slow down to 10x speed or less. The timetable and pax pathfind heuristic are such an example that has been in the game for years, and 1.12 added a new precalc for the new demand system. These precalcs are slow, but they run in the background. But even in the background they can have an impact in the UI responsiveness, especially in large saves and if the player has not reduced the amount of timetabling CPU threads. For these cases the precalcs are now paused if the game is paused, and one of the three main editors are open:



They will resume immediately if the sim is resumed, or when closing the editor.

Walk links make it more flexible to design stations. Following the same idea it is now possible to change the platform footprint (half) width. This allows to keep stations separate despite being in close proximity, for cases like having a depot next to a pax station, or separating local rail services from long distance in two stations.

Version 1.13 is now in the beta branch

Version 1.13 is now ready for testing in the beta branch. This new version is a continuation of features introduced in 1.12, which were spun off to its own version, since 1.12 was complex enough.

[h2]Pax path walk legs[/h2]

Pax are now able to plan paths including the act of walking between two stations, instead of taking a train. This includes cases where there is no possible train between stations, and when the train exists but it will faster to just walk (at least at the time of arrival). These walk legs are modeled as walking in a direct line (unrealistically fast) at 1 m/s (unrealistically slow), so it evens out.

The feature is meant to model the generic act of walking between stations. In particular it's not meant to model explicitly signaled OSIs, or fare zones for example. These real world cases are still a particular case of just walking between stations, so this feature aims at the more general case. This feature is also not able to consider things like rivers, mountains, country borders, particular streets or paths, islands, bays, etc. All these cases would require a combination of street routing and terrain routing and are an immense amount of work, and out of scope for the game.



If one or more of these cases bother you, or you just don't want to have walking legs for some stations, it is possible to disable them by changing the max walking radius of the station to 0. For a walking leg to be allowed between stations, both of their center points (the small circle displayed when you disable all station names and icons) must be within each other walking radius. A walking radius of 0 cannot contain any point so no walk legs will be possible.

[h2]Station capacity and station halls[/h2]

A recurrent player complain about the station system, always supporting an active thread in the forums, is the 10k transfer pax limits in stations. In 1.13 this limit has been lifted to 100k, and train boarding speed has been increased by 10x to compensate. Additionally there's no more limits to newly spawned pax, or limits related to the number of platforms. This is now possible since the original limits were put in place when the pax pathfinder was much slower. In the years since that decision was made its performance has improved immensely, and the game became deeply multithreaded, so now it's a good time to test this increase. I say "test" because during the beta period it will be evaluated what is the performance impact if this change and it will be toned down if it's too bad for some players.

Additionally, in order to support walking legs, station halls have been introduced. Stations can now store pax in 2 places: the platforms and the hall. Pax in platforms behave like always: they are eligible to board trains. Pax in the hall are not allowed to board trains. Instead they have a countdown timer, and when it reaches 0, they are moved to the platforms. If the platforms are full, they remain in the hall, waiting for a spot. Hall capacity is unlimited.

[h2]Assets map overlay[/h2]

Station and train asset listings can now be displayed on the map as a "blob" overlay:



These blobs are circles whose area is proportional to the listing max value. You can change the colors, including the transparency. Adjusting the degree of transparency also enables a heatmap-like view. The map updates in realtime just like the asset listing, and it can also clamp the range to the visible objects by using the existing "on map" button in the assets panel.

Devblog for May 2024

The beta development for 1.12 wrapped up in May, and it is now the default version. Some of the initial design decisions of 1.12 had to be changed in the light of existing player saves, but it in the end it held well overall, and it's a very major improvement in the simulation quality of the game.

Private 1.13 development has already started. Two major new features have already been implemented: walk legs and station halls. These correspond or solve some very often suggested features by players. To read more on how they look like read the devblog for this month:

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