1. NIMBY Rails
  2. News

NIMBY Rails News

Version 1.3 is now in the beta branch!

After two months of development, version 1.3 is now ready for beta testing! Here's a recap of the new features in the first beta build, from the development notes of the past two months:

[h2]Private train track pathfinding[/h2]



Starting from v1.3 is now possible for different systems of the game to have a different definition of what is an optimal train path. And in the case of the train AI, this definition has been made private to every train. This means the train AI, when evaluating a path, will be able to consider things like the train max speed. It is now making decisions based on the combination of the train and track max speed and the time required to roll down the path, as opposed to just the path length.

[h2]New population layer[/h2]



The new population layer replaces the old population system based on finding road nodes and adding them up inside a grid. The new layer is using actual population density data for the entire world, combined with buildup data. The population layer has a resolution of 250m, and the buildup data is 30m. The game combines both of them to create a single layer.

[h2]New elevation layer[/h2]



A new 90m DEM raster global layer with better coverage than the original DEM layer is now being used as the basis for the elevation layer in the game. This layer will fix the cut out elevation data for high latitudes and many of the errors in other areas of the world.

[h2]Administrative regions[/h2]



In v1.3 NIMBY Rails will provides a new map layer to display the limits of some administrative divisions, from the equivalent of a “province” down to units smaller than a “borough”. I quote these names since the exact definition depends on the country. In OSM terms the game will include the data for admin. regions from level 6 to level 11. This data is for now only used to assign a city name to stations, but in the future it will have more gameplay impact.

[h2]User tags[/h2]



Large builds can have thousands of trains and stations, and hundreds of lines. In order to make managing player built objects easier, and to power future features like conditional signals, a tag and category system is being introduced in v1.3. Players will be able to create an hierarchy of tags, with intermediate tags acting both like a tag and a category. And then assign those tags and categories to player built objects. Object listings then are able to be grouped by tags. For now this system is only enabled for lines, and only in the main line listing in the line editor. As v1.3 gets more mature it will be extended to other objects and listings.

[h2]Instanced line drawing[/h2]

Line drawing in v1.2 and earlier was very memory intensive. In v1.3 a new method for drawing lines (in the graphical sense, not just schedule lines) has been introduced which requires 6x less VRAM. For now this system is only being used for world map features, but during the v1.3 beta series it will also become the default method for track drawing. This will improve rendering performance and lower VRAM usage.

[h2]New path signal rules[/h2]

Path signals are now always a "long" path signals. This means they will check the train path past its next stop, and keep going past any number of stops, until another properly delimiting signal is found, 200km are traced, or a full loop of the train line is completed. Train reservations also apply the same logic. Additionally stopped trains now always assert their track reservation. These change makes path signals more correct and strict, but it might invalidate some existing v1.2 signal layouts.

[hr][/hr]

You can read the full development notes here:
https://carloscarrasco.com/nimby-rails-august-2021/
https://carloscarrasco.com/nimby-rails-september-2021/

This version changes some aspects of the train AI like pathfinding and signal rules, but it does not invalidate the current train state in your save, so it's likely you will see some collision and bottlenecks when loading a v1.2 save, with trains realizing there are better paths and/or red signals. Use interventions to fix these problems. After trains start running anew under the new rules they should go away, but keep in mind the earlier comments about the new signal rules.

If you want to opt into the beta, right click the game in the Steam Library listing, select Properties, then select Betas and select the beta option in the drop down. No password is required. Steam will need to download an additional 5GB of data which corresponds to the new population, elevation and region layers.

Devblog for September 2021

Administrative boundaries are the second part of the new map features for v1.3, and they are now implemented. But drawing this new vector data highlighted performance problems already present in v1.2, so work has been started to overhaul and optimize the line drawing code in the the game. The new tag and category system was also started in September. This feature is the last one scheduled to be implemented before v1.3 is made a public beta, so the v1.3 beta release is much closer now.

https://carloscarrasco.com/nimby-rails-september-2021/

Devblog for August 2021

Work progressed slower than usual under the summer heat, but very important milestones were reached anyway. Train pathfinding is now individualized per train, opening the door to advanced new features. A new map processor development was started, with initial support for parallel processing of raster layers. And two of these layers are now in the game: a new population layer based on real data, and a fixed up elevation layer.

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

Version 1.2.29 release notes

- Re-enable undo support in the editor; this is the old undo system updated for new v1.2 features, and as such it may still have some bugs
- Pgup/pgdown keybinds for changing track layer in new track mode
- Make track editor bill scrollable when there are too many rows to display
- Enable pgup/pgdown to change track layers also in selection mode
- Fix: incrementally changing track layer level didn't work properly for certain station platform nodes
- Fix: changing track kind by using the favorite shortcuts while building a station stopped working
- Fix: straight track modifier should be consistent in which tracks it takes a reference

Version 1.2.26 release notes

- Track mods: modders can now create track mods, adding new track kinds controlling aspects of the track max speed, angle penalties and prices, plus change any textures in the tracks, and share them in the Workshop. Users can subscribe, enable and disable these mods just like Train mods.
- Track layers: viaduct and tunnel tracks now have 3 manually selectable layers, plus an infinite layer. The manual layers produce diamonds between tracks in the same layer. The infinite layer never produces diamonds (it behaves like tunnels did before this build).
- New track kinds panel with favorite bar, layer bar and track kind picker. This new design is required to support an unlimited amount of track kinds for the upcoming track mod support while still offering simple, one button access to track kinds and layers.
- The option to disable a mod is now always available. On failure the game shows an error and focuses the UI on the train or track segment still using the mod.
- New stock track kind: medium speed track
- Track properties for trams and high speed track have been tweaked
- All track kinds are now available in all layers
- Store last used settings for game speed, map options, track editor station options and track kind favorites
- Track bill will only be updated at a rate of 5 FPS while editing tracks, to reduce CPU impact of very large blueprinted networks
- Flip signal command in signal edit mode (default keybind is F)
- Cached, dynamic texturing for tracks, with 128 full resolution slots and 2048 low resolution slots. Ability to render in full resolution depends on how many textures are required to render a given view, not on the total of used mods.
- While creating tracks, hold control to line them up with the previous two created nodes
- Minor optimizations for train AI pathfinding
- Fix: animation timing and behavior fixes for keyboard panning and zooming
- Fix: trains with a starting station order different than the first station in the line did not manage to correctly spawn under some conditions