Full notes
Full Shane's Trains update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- Gameplay
- Balance
- Performance
- Fixes
- UI and audio
Shane's Trains changes
New: 3D map view
Toggle in Settings → "3D Map". Camera tilts to 50°, buildings rise from the basemap as 3D extrusions. Trains and carriages render as proper 3D boxes, leaning with the perspective. New "3D Train Size" setting (Small / Medium / Large) - multiplies box dimensions ×1, ×2, ×3 for visibility at low zoom. 2D mode is unchanged: dots and dashed carriage trails work exactly as before.
New: Follow Train chasecam
Click "Follow" on any active train (or in the train panel) to lock the camera onto it. Camera pitches to 70°, swings to align with travel direction, and tracks smoothly through curves. Bearing is lowpass filtered to avoid waypoint snap rotations. Press ESC or click "Exit" in the onscreen banner to release. Best paired with 3D mode and a realtime speed for a cinematic ride.
New: Speed readout above every train
Cyan "NN km/h" pill follows each moving train. Hidden at low zoom and when stationary. Updates smoothly as trains accelerate and brake.
Reworked: realtime game speeds
Game now runs in true real time at 1× - 1 game minute = 1 real minute, trains move at their actual specified speeds.
New speed scale
1×, 5×, 30×, 60× (hotkeys 1, 2, 3, 4). The old "Normal" feel is now 30×.
Continuous dt simulation
train movement integrates at 100 ms intervals, decoupled from the 1 minute simulation tick. No more stuttering between ticks even at slow speeds. Game clock uses actual elapsed wallclock time, so the ingame clock matches your phone's stopwatch at 1×.
Train fleet - calibrated to real specs
Acceleration, top speed, capacity, and reliability for all 9 existing classes updated to realworld figures.
Class 320 max speed corrected
145 km/h (was 120 - bug).
Class 320 acceleration
0.55 m/s² (1.98 km/h/s) at notch 4, matching real performance. 3 new train classes added: Class 800 (5car) - Azuma bimode, £420k, 301 seats Class 800 (9car) - Azuma bimode, £620k, 611 seats Class 801 (9car) - Electric Azuma, £580k, 611 seats (cheaper to run, no diesel)
Performance - GPU rendering
Stations converted from DOM markers to a single GPU circle layer. Pan and zoom are dramatically smoother - was the largest contributor to gesture lag. Signals likewise moved to GPU. Up to 100 signals visible at z ≥ 10 with no DOM overhead. Glasgow Queen St ↔ Central shuttle bus restored from the Leaflet version, properly oriented and animated. Service route highlight polyline restored - selecting a service draws a cyan line through its calling points.
Express services actually express
Express trains no longer brake to a stop at passthrough stations. They cruise through at line speed, preserving momentum to the next track. Junction speed restrictions shortened from 15% of the next track to a fixed 300 m, matching realworld divergent move signal limits.
Quality of life
Newly assigned trains depart immediately (was a 2 min "boarding" wait that felt like a freeze at 1× speed). Service frequency staggering fixed: a 60 minute service correctly waits 60 game minutes between trains. Previously the second train left after ~3 game minutes (dwell counter ticked per simulation step instead of per minute). Station and signal markers now position correctly under all map themes (no more drift after a theme swap). Popup info panels themed dark to match the rest of the UI - readable text on a proper background. Per train station and signal click handlers handled with a single shared popup rather than per marker DOM popups.
Bug fixes
Theme swap no longer wipes 3D buildings or extruded trains. Stations no longer disappear after switching themes. Stations now appear at all (the GPU layer's circle radius expression had a maplibre spec violation that was silently dropping the layer). Map editor save now correctly pushes interchange shuttle road changes to the live map. Acceleration and braking rates correctly scale with simulation dt - trains no longer oscillate near stations at high speeds. Per class carriage counts for 3D rendering now match the real formations (5/9 car for Azuma, 10 cars for an HST set, etc.).
Source
Changelog.gg summarizes and formats this update. How we read updates.
