1. NIMBY Rails
  2. News

NIMBY Rails News

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/

Version 1.1.62 Changelog

- An asset listing can now be accessed in the top right toolbar (for now it uses the dollar sign icon, like Company; a new icon will come in a later build). Allows to list stations, lines and trains and sort them by any of the accounting items they collect.
- Add new real time stats to the asset listing for stations, trains and lines
- The train counter shown in the line editor is now a link into the train editor. if there are 0 trains in the line, it opens the purchase interface with a single slot clone schedule for the line. if there is already one or more trains in the line, it opens the regular train editor selecting a random train from the line
- Add a "purchase new train" button to the line editor. if there are 0 trains, it behaves like the train counter link. if there is already one or more trains in the line, it opens the purchase interface cloning a random existing train from the line
- Display current global ridership in the top status bar for no cash games. Cash games can switch to this display by clicking the balance number
- Optimize train AI by building a coarser track occupation map. Builds with thousands of trains will benefit from this optimization.
- Rename "started trip" pax account to "new pax", since this is what is actually tracking, and only track for stations
- Add new "started trip" pax account to lines, stations and trains to track new pax being spawned into full pax
- Add new "never serviced" pax account to stations to track new pax that never had a chance to become a full pax before demand mechanics decreased the station counters
- Do not allow leg calculator usage without a train
- Remove car listing from train bill
- Draw text input cursor as a vertical line segment
- Update the UI library to a newer version to fix some text input scrolling issues
- Fix: the track distance function used by the train speed control was sometimes wrong on branched tracks
- Fix: leg calculator panels should not be displayed when selecting the accounting or status tabs in the line editor
- Fix: leg calculator was overestimating braking time by ~10s
- Fix: leg calculator should always use an empty train as reference, since the new speed control does not allow to slow down below the min speed. Show a warning when the player selects more than 90% of the train max speed in the leg calculator.
- Fix: limit the maximum timestep allowed when integrating the train motion to make it independent of the simulation time step (after 10x speed) in single player and in the leg calculator, iterating extra steps if required (not required in multiplayer since MP simulation is always fixed time step)
- Fix all known errors involving Unicode text and copy/paste
- Fix: increase input text buffer so long strings of IME input are not cut after 6 characters
- Fix: expand rectangle of queried tracks for tile track cache at high LODs so partially out of tile tracks are included in the tile and not cut out
- Fix: do not add catch areas twice when collecting real time stats on lines
- Fix: implement Steam UGC API query pagination to support unlimited amount of mods in mod uploader

Version 1.1.58 Changelog

- Train speed control is now based on keeping a minimum speed, which can be set per line leg
- Line leg times calculator now exposes the speed setting as the train min. speed, and sets it for all the unlocked legs
- New texture manager for trains based on dynamic texture uploading and a LRU cache. The train textures limit has been removed.
- Implement filtering in the train model listing by tags, max speed, max pax, year introduced, year retired and price
- Major rewrite of the high level game state handling. The game UI should now remain responsive while loading a single player game, starting a hosted game, and loading the received game when joining a server
- Show a message and a cancel button in the previous mentioned instances
- Allow max zoom to be 50m wide to show more train texture detail
- Make train models searchable in search engine; results open the train purchase screen
- Improve search engine string match for game objects to consider word boundaries and substrings
- Transfer line icons in line stop listing
- Remember last selected pax listing options when opening a new train or station info window
- When pax consider the ETA of an optimal train yet to arrive, cap said ETA to the pathfinder interval value, both for on-time and late trains. This should help with depot gameplay in the early morning.
- Non-biased pathfinds now also store all their optimal sub-paths in the cache, for a small pathfinder speedup
- Optimize the pathfinder cache to only store the minimum information required for the AI
- Add a minimum FPS cap to the sim to smooth out CPU spikes. The sim can still go slower than the cap if the overall complexity and selected sim speed demand it.
- Sort mods in mod uploader alphabetically
- Do not allow to complete a station platform or depot building when its control points at the extremes touch, like it is already done for plain tracks
- Fix: consider any lingering game state after a multiplayer disconnection to be invalid and discard it
- Fix: the "show trips" view in the info windows could get stuck if the station/train became empty while picking a destination