Railway Operation Simulator

From Wikitia
Jump to navigation Jump to search
Railway Operation Simulator
Original author(s)Albert Ball
Developer(s)Albert Ball, Stephen Smith
Initial release2010
Stable release
2.4.2 / 2020-07-07
Written inC++
Operating systemWindows (macOS and Linux under Wine (software))
Available inEnglish
LicenseGNU Public License v3

Railway Operation Simulator (ROS) is an open source signal box simulation[1][2] program created for Windows which allows users to both create and operate railway routes and services. The simulator can also be run under macOS and Linux under Wine (software)|Wine.

The program was written by developer Albert Ball known for creation of the ZX Spectrum|Spectrum game Jumping Jack (video game)|Jumping Jack in 1983[3]. It was first released in 2010 and is written in C++ which is built using the Borland C++|Borland IDE compiler. The on screen displays are designed to mimic those of a typical British Integrated Electronic Control Centre, with a window depicting a track layout on which the locations and identifiers of services are displayed[4]. Three main modes are available which allow the user to operate a railway, edit the route map displayed, or create timetables using a special syntax. The availability of an editor has meant an ever increasing number of user-made routes being available from the online repository.

Map layout

File:Railway Operation Simulator Birmingham UK.png|thumb|Birmingham map in Railway Operation Simulator showing the area around Birmingham New Street station Route layouts are represented as lines constrained to a 45 degree angle, with stations being solid dark orange rectangles constrained to lie either vertical or horizontal parallel to the running lines. All main Railway_signal|signals are represented in an identical manner as a circle (or two in the case of four aspect signals) depicting the current aspect, with a "tail" anchored to the relevant running line and pointing against the direction of travel. Shunting signals are represented by an icon depicting a typical mainline British dwarf signal, with two aspects on and off. Portals allow continuation of running lines at a different positions on the map (where space becomes an issue), and are often used to represent tunnels in combination with the green bridge/tunnel entrance objects.

Map creation

Thanks to the inclusion of a route editor within the simulator there are a large selection of route simulations available for ROS. The elements needed to construct a route are placeable within a grid, with tracks, points and signals being added first and additional elements such as stations, sidings and text labels being added later. Once the visual representation of a route is completed, speed limits and distances must then be assigned to each track length, as well as the "preferred direction" of travel which is important for later setting up automatic signal routes.

To ensure a map is compatible with the operation mode, i.e. that a timetable can be created and services run across it, a route is held in a development state until it is run against the program's validator. The validator checks to ensure that all locations are named, portals are joined and tracks are complete.

Route operation

File:Railway Operation Simulator Chicago "L" Train Map.png|thumb|Chicago Subway route map showing automatic signal routes in blue and services during operation mode The routing of services is carried out by the user by using one of three methods. If the running lines included on a map have been assigned a preferred direction of travel, then automatic signal routes can be set which can then be left unsupervised. Alternatively temporary preferred routes can be set on these lines, or an unrestricted route which has no such constraint on preferred direction used for untypical movements. Both of these are automatically cancelled after a service has run through them.[5]

Feedback is given on performance by means of the performance log which displays information on the entrance of services into the area, and their punctuality at timetabled locations. As development has progressed new features have been added to simplify the experience and allow the easier operation of larger routes including whole networks such as New York City Subway and London Underground. Such features include an action panel which displays a countdown for each service on the map indicating the point at which an action (such as routing across a junction) is required allowing the user to prioritise services.


In order to simulate various types of train services, including differences in rolling stock behavior, the simulator makes use of its own custom syntax, timetables being written within the program and then cross-checked by a built in validator. Various advanced movements can also be defined such as the formation of shuttles which repeat for a duration, and the joining or splitting of services at locations. A typical simple service entry within a timetable consists of three main parts: a two line description and initialization section, a set of calling points and waypoints, and finally a debrief.

The first section consists of information relating to the properties of the train itself: a headcode which identifies the service on the route map, a description of the service, the service start speed (km/h), maximum speed (km/h), mass (T), maximum power (kW) and maximum brake force (T). This is then followed by a statement declaring the start time, what type of service it is (e.g. a service commencing from a given coordinate location or a shuttle service) allocated by a special identifier, and any extra information such as the coordinates of entry or the service from which that service formed:


  1. "Simulationsprogramme/Stellwerksimulationen". www.modellbahnsoftware.de. 2020-07-20.{{cite web}}: CS1 maint: url-status (link)
  2. "Train Games & Train Simulators". RailServe.{{cite web}}: CS1 maint: url-status (link)
  3. Hague, James. "The Giant List of Classic Game Programmers".
  4. "Introducing IECC Scalable". The Rail Engineer. No. 92. June 2012.
  5. Ball, Albert (2020-07-19). "Railway Operation Simulator User Manual". Railway Operation Simulator.{{cite web}}: CS1 maint: url-status (link)

External links

Railway Operation Simulator main website

This article "Railway Operation Simulator" is from Wikipedia. The list of its authors can be seen in its historical. Articles taken from Draft Namespace on Wikipedia could be accessed on Wikipedia's Draft Namespace.