1. NIMBY Rails
  2. News

NIMBY Rails News

Devblog for December 2021

Development for v1.3 finished in December, and v1.4 started, with some new features and changes meant to lay the groundwork for the main v1.4 feature, the station review. It will still be some time before v1.4 appears in public beta, but its scope is quite focused, so I don't anticipate a long private development cycle.

I wish you a happy new year 2022!

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

Version 1.3.15 release notes

v1.3.14 and .15 were focused on improving the multiplayer experience. The game now consumes an order of magnitude less bandwidth for big builds.

- Improved simulation state streaming for multiplayer, now based on state hashing and selective transmission. A conservative estimate is multiplayer now supporting 3x trains and stations compared to previous versions, and potentially many more.
- In the signal editor, traced paths from path signals now stop at opposite direction one way signals. This is a purely visual change and has no gameplay impact.
- Track editor: page up/down to change selected track layer when no tracks are selected and outside of track append mode
- Validate tracks on game load
- Speedup track and station validation
- Speedup multiplayer synchronization of station state
- TSV export: separate name and code fields
- TSV export: longitude and latitude fields for stations
- TSV export: line_id field for trains. This is the line ID of the first line order in the train schedule.
- Fix: some text related to train alerts wasn't applying translated strings

v1.3.15 marks the end of the v1.3 series. Development is already underway for v1.4. Stay tuned for more v1.4 news in the December dev blog!

Version 1.3.13 release notes

After nearly two months of beta development v1.3 has reached all scheduled roadmap features and it's ready for the default branch. The main impact to v1.2 saves is the new population layer, which has a different distribution and population density compared to v1.2. And the new path signal and path reservation rules, which are more strict.

The original v1.3 announcement post includes a list of changes from v1.2. The main new features are:
  • Private train track pathfinding
  • New population layer
  • New elevation layer
  • Administrative regions
  • User defined tags

More info at:
https://store.steampowered.com/news/app/1134710/view/3035981384853388654

Additionally the v1.3 beta series included some post-release feature milestones:
  • Tagged balises
  • New rules for path signals and path reservations
  • Alert system for trains
  • No way signals
  • Accounting charts and data export

More info at:
https://carloscarrasco.com/nimby-rails-october-2021/
https://carloscarrasco.com/nimby-rails-november-2021/

Devblog for November 2021

v1.3 matured during November, with all the planned features implemented and made available in the beta branch. Highlights of the month were alerts, no way signals and charts. The old buffer leak issue appears to be at least identified, and a promising new optimization for multiplayer started development. v1.3 will soon move out of beta into the default branch.

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

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.