Gentek Rail System
These are general ideas for a future rail system.
Contents
Standards
- Track gauge (inner <-> inner) = 1.96 m (to allow for SLRR railbed compatibility)
- Minimum vertical clearance = 5.5 m
- Minimum horizontal clearance = 4.0 m on straight sections, 5.5 m on curved sections (minimum)
- General car length, wheel to wheel = 12.5 m
- General car length, end to end = 16.5 m
Guides
- Straight
- Stop buffer (fwd or rev)
- Instantly stops train to prevent derailment
- Switch left (switchable, requires 2 connections in one direction)
- Switch right (switchable, requires 2 connections in one direction)
Guide options
- Block (acts as signal block delimiter)
- Signal (can be used with block option, or separate for programmable addressing)
- Switch Trigger (automatically sets switch for oncoming train, usually in unswitched direction)
- External API output (sends information on car pass)
- Autonomous train commands (for selective autonomous train movement with wildcards)
- Short Horn/Whistle
- Long Horn/Whistle
- Bell Start/Stop
- Set Speed
- Timed Stop (mostly for stations)
- Time in Seconds
- Doors Open
- Horn/Bell on Depart
- Departure Speed
- Reverse
- Switch Trigger (this will also automatically stop train until switch block is clear)
Train automation
Automated systems will have to be custom-designed, it is prohibitively complex to make automated train control devices (think UR but 10x as complex); nobody will figure it out
Ideally the engines could be remote controlled in a way to start up and assign routes through various switches to reach an endpoint (since freight trains would be stored either in a yard or in a "magic depot" instead of running continuously) but this is obviously not a consumer-friendly setup - continuously automated trains, e.g. Lionheart passenger service, may be an option
Rolling stock
- Standard Boxcar
- many different themes (won't list here)
- Standard Tanker
- some different themes (to be done)
- Standard Flatcar
- not really any themes to make, but has different cargo
- Standard Hopper
- themes yes indeedy
- Standard passenger car
- could make a lot of themes for this
- Standard mail/baggage car
- yep more themes sure thing
- Russian-styled boxcab engine
- US-styled hood-unit freight engine
- F40PH/P42DC passenger service engine
- Electric standalone passenger unit (metro/subway)
- Maybe a steam engine (unlikely)
SLRR compatibility
Problems with SLRR compatibility:
- Guide prims are too close together to have trains travel at speed and calculate movement directions
- Curve radius is too small (turns too quickly) in some locations, which might screw things up at high speeds
- Switch designs are passive
- No signalling, which will be a critical aspect of the system (particularly for automated trains)
- Public SLRR lines have no control system or prompt maintenance
- Tier for trackside yards/depots would be too expensive
- Privatized SLRR lines can just set up additional guide pieces
Numbering
5-character alphanumeric identifier assigned to all cars, with O, Q, I, and S excluded (to avoid misinterpreting as 0, 1, and 5) similar to VIN2 system.
Identifiers are automatically assigned starting with 10000 to avoid leading zero, but leading zeros are possible through manual assignment for special vehicles.
Numeric-only identifiers (10000-99999) reserved for engines and power cars such that trains can be numbered without alpha characters in most cases for realism.
Supports 90,000 simultaneous power cars in-world (recycled safely; if supply runs out, new power cars may be assigned alphanumeric characters).
Supports 32,505,855 individual cars overall.
Problem pessimist checklist
Works
- Crossing sims with keyframed movement
- moving_end to detect when movement stops
- Shout can be used across sim borders
- Particles can have target in other sim
Doesn't works
- Sensor across sim borders (not necessarily needed)
Untested
- Curve system feasibility
- Chained communications down entire consist when car(s) crossing border
- Movement determination in each car (possibly by connecting guides?)
Path calculation
Aligned & no rotation OR any combination w/o smoothing
Get direct line between two points
Rotated w/ smoothing
If horiz offset <= depth distance, get arc on unit circle, then scale to ellipse marked by guides; otherwise, get above scenario at 1:1 ratio and scale horizontally (technically impossible for rails to be laid like this)
Offset & no rotation w/ smoothing
Internally plot midpoint of direct line, map two arcs using above method