1. NIMBY Rails
  2. News

NIMBY Rails News

Version 1.2 is here!

The wait is over! After two months of development NIMBY Rails version 1.2 is now in the beta branch and it's ready for testing. There are a lot of changes and new features in this version:

  • Single track: All track is now single track. Double track is just a parallel set of single tracks. Double platforms are just two single track platforms close enough together.
  • Single anchor point branches with (almost) no limits: The awkward behavior and limitations of branches are no more. Branches can now be attached to almost any track with no length limitations, and they can be moved after the fact too.
  • Diamond intersections: Cross tracks over any other tracks without limitations. But watch out for collisions!
  • Signals and track blocks: Those diamond intersections probably need some access control, and now you can do so with signals.
  • Re-blueprinting: Change built tracks into blueprints.
  • Parallel track constraints: Track construction tools now support a "2x" mode to build a parallel track along with a main track. This is enabled by a generic constraint system, which keeps a track always parallel to another track, even if you move it after creation.
  • Line service levels: Enable or disable a line, so pax know when a line is out of service.
  • Automatic line timings: The leg timing calculator is no more. Line leg times are now always automatically calculated.


And on top of this, version 1.2 remains capable of loading version 1.1 saved games, automatically recreating your entire track network with single track.

The first builds of 1.2 are buggier than the 1.1 beta series ever was, and some features are disabled, like multiplayer. Once this initial development phase is over it will be enabled again.

For a more detailed overview of the 1.2 changes check the April and May devblogs:
https://carloscarrasco.com/nimby-rails-april-2021/
https://carloscarrasco.com/nimby-rails-may-2021/

Devblog for April 2021

April wrapped up development in the v1.1 series, and started work on v1.2, with the common theme of making the game be based on single track. Other related work was also done in April, like a full review of track branches, higher resolution textures for tracks, diamond intersections and a prototype for user signals.

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

Version 1.1.72 Changelog

- Allow to disable train mods when no train exists using any of the provided units or models in the mod
- Schedule drop down when buying trains, with options: blank schedule, run line, clone from a train. Replaces the "use clone schedule" checkbox.
- Add real time stats for pax capacity and for % capacity usage in stations, trains and lines. Usage over 100% in stations means the transfer pax are over the capacity of the station.
- Company option to disable local pax AI for a very large performance improvement at the cost of dumber pax
- One time toggle in company panel to transition from money games to unlimited money games
- Simplify and make more correct track cache invalidation, fixing trains not being aware of track modifications
- Optionally delete trains assigned to a single line when said line is deleted
- Allow numpad number keys for the track selection
- Allow to remove deleted workshop mods, but for now their train models will remain in the list
- Show accounting time in asset listing
- Do not create initial loan for unlimited money games
- Remove loan controls for unlimited money games
- Make window resizable corner more visible
- Keep a internal series counter for train models and use it to fill numbers in the train name and code templates
- Highlight train icons on mouse hover
- Train editor: remember train color(s) even if train does not allow recolor
- Train editor: disable color controls if the train does not allow recoloring for base or decals
- Train editor: disable decal picking if decal options are 1 or less
- Fix: station occupation % real time stat should use the total pax occupation, not just the transfer pax
- Fix: wrong click area for train icons
- Fix: train serial template names was not working properly
- Fix: NaNs in line capacity % stats
- Fix: make pure black usable as a line color
- Fix: station platform list did not show the correct station for trains waiting to depart
- Fix: properly invalidate track paths when track transitions from blueprint to built
- Fix: empty space in pax listings when UI scale is higher than 1x

Version 1.1.68 Changelog

- Multithreaded, asynchronous, speculative pathfinder warmup for pax inside trains. Use the time the train spends on the tracks to perform the pathfinding its pax (and those of the next station stop) will require to make decision about said train. On top of that make such process happen in separate thread(s) in a nonblocking way, by mediating its results using the existing pax pathfinder cache.
- After certain zoom level, make trains thicker so they are more visible
- Draw trains starting at wider zoom levels (they may appear offcenter from the track at these zoom levels; this will solve itself in v1.2)
- Make trains with less than 24h of life return 100% of purchase price when sold
- Clustered pax: pax now represent groups rather than being individuals. The count column is now always visible in pax listings.
- Store pax lists sorted by their next destination or their next stop, for stations and trains, respectively. This allows pax to be processed in batches and to quickly skip over pax when they are not interested in a train or station.
- Lost pax detection is now performed at a much lower rate than before, up to 30m of in-game time.
- Pax with a valid next stop station that is no longer part of a line (for example, after a user edits a line) are now detected and forced to leave the train at its next stop to hopefully continue their trip (also checked with a long delay of ~30m).
- Add pending pax counters to the train pax counters on station stops, to give more information on its progress
- Add missing "full station" accounting at the station level
- Use a true LRU cache policy for pax pathfind cache and track pathfind cache
- Cap pax pathfind cache to 256K entries for biased and nonbiased results, and to 128K entries for no path results
- Optimize some data structures in the game logic after testing them for safety and correctness
- Optimize data structures used in pathfinder
- MP: make state streaming from the server have less potential bandwidth spikes
- Add pax pathfinder cache stats to the F11 panel.
- Review train boarding flow to remove some fairness guarantees, making it faster overall
- If all trains in a station have completed their normal loading/unloading phase, slow down the station flow by a large margin
- Make all stations have the same flow, independent of capacity, as long as one of their stopped trains still has nonzero pending counters
- Jitter lost pax checker timers so they don't pile up in the same frame
- When a fatal error is detected in the renderer, show a fatal modal dialog and automatically switch to the other renderer, then collect the Bugsplat report
- Fix: when the IME popup is displayed some text editing keys should be reserved for the IME editor and not passed to the UI
- Fix: rare crash related to using a translation while the translation mod is being updated in the background
- Fix: refunded pax due to full stations are counted twice in the station event labels
- Fix: performance never went back to fully cached levels after the pathfinder cache was flushed by a line edit
- Fix: the lost pax checker could cause stuck trains in very specific circumstances
- Fix: sometimes trains weren't properly storing their creation date

Devblog for March 2021

Work in v1.2 will start soon, but first it was time to polish v1.1 so there's a good, stable build to play while v1.2 bakes. The new pax pathfinder delivered on its promises of smarter pax, and then large performance improvements were implemented. Read about this and more in the March devblog:

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