Line 1:
Line 1:
{{Infobox software
{{Infobox software
| name = Railway Operation Simulator
| name = Railway Operation Simulator
−
| logo = [[File:Railway Operation Simulator Logo.png]]
+
| logo = [[File:Railway Operation Simulator Logo.png|300px]]
| logo alt =
| logo alt =
| logo caption =
| logo caption =
Line 14:
Line 14:
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
| ver layout = <!-- simple (default) or stacked -->
| ver layout = <!-- simple (default) or stacked -->
−
| latest release version = [https://www.railwayoperationsimulator.com/2021/new-program-version-released-v2-8-0 2.8.0]
+
| latest release version = [https://www.railwayoperationsimulator.com/2021/new-program-version-released-v2-9-0 2.9.0]
−
| latest release date = 2021-05-18
+
| latest release date = 2021-06-11
| latest preview version =
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
Line 34:
Line 34:
| AsOf =
| AsOf =
}}
}}
−
'''Railway Operation Simulator''' (ROS) is an open source signal box simulation<ref>{{Cite web|last=|first=|date=2020-07-20|title=Simulationsprogramme/Stellwerksimulationen|url=http://www.modellbahnsoftware.de/simulationsprogramme/stellwerksimulationen/railwayoperation-simulator/|url-status=live|archive-url=|archive-date=|access-date=|website=www.modellbahnsoftware.de}}</ref><ref>{{Cite web|last=|first=|date=|title=Train Games & Train Simulators|url=https://www.railserve.com/Computers/|url-status=live|archive-url=|archive-date=|access-date=|website=RailServe}}</ref> 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.
+
'''Railway Operation Simulator''' (RailOS) is an open source signal box simulation<ref>{{Cite web|last=|first=|date=2020-07-20|title=Simulationsprogramme/Stellwerksimulationen|url=http://www.modellbahnsoftware.de/simulationsprogramme/stellwerksimulationen/railwayoperation-simulator/|url-status=live|archive-url=|archive-date=|access-date=|website=www.modellbahnsoftware.de}}</ref><ref>{{Cite web|last=|first=|date=|title=Train Games & Train Simulators|url=https://www.railserve.com/Computers/|url-status=live|archive-url=|archive-date=|access-date=|website=RailServe}}</ref> 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.
The program was written by developer Albert Ball known for creation of the ZX Spectrum game ''Jumping Jack'' in 1983<ref name="giantlist">{{cite web|last1=Hague|first1=James|title=The Giant List of Classic Game Programmers|url=https://dadgum.com/giantlist/}}</ref>. It has been described by studies as providing users with a free and adaptive platform to learn about driving trains and building railroads<ref>{{Cite journal|last=Pacheco|first=Ericson Pinheiro|year=2018|title=Development of a prototype for visualizing the position of trains in a railway network|url=http://repositorio.roca.utfpr.edu.br/jspui/handle/1/9732|journal=|volume=|pages=|via=}}</ref>. It was first released in 2010 and is written in [[C++]] which is built using the 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<ref>{{cite magazine |last= |first= |date=June 2012 |title=Introducing IECC Scalable |url= |magazine=The Rail Engineer |issue=92 |location= |publisher=}}</ref>. 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.
The program was written by developer Albert Ball known for creation of the ZX Spectrum game ''Jumping Jack'' in 1983<ref name="giantlist">{{cite web|last1=Hague|first1=James|title=The Giant List of Classic Game Programmers|url=https://dadgum.com/giantlist/}}</ref>. It has been described by studies as providing users with a free and adaptive platform to learn about driving trains and building railroads<ref>{{Cite journal|last=Pacheco|first=Ericson Pinheiro|year=2018|title=Development of a prototype for visualizing the position of trains in a railway network|url=http://repositorio.roca.utfpr.edu.br/jspui/handle/1/9732|journal=|volume=|pages=|via=}}</ref>. It was first released in 2010 and is written in [[C++]] which is built using the 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<ref>{{cite magazine |last= |first= |date=June 2012 |title=Introducing IECC Scalable |url= |magazine=The Rail Engineer |issue=92 |location= |publisher=}}</ref>. 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 ==
== Map layout ==
+
{{Main|Building Railways}}
[[File:Railway Operation Simulator Birmingham UK.png|thumb|Birmingham map in Railway Operation Simulator showing the area around Birmingham New Street station]]
[[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 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.
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 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 ===
=== 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.
+
Thanks to the inclusion of a route editor within the simulator there are a large selection of route simulations available for RailOS. 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.
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.
Line 49:
Line 50:
== Route operation ==
== 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]]
[[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]]
+
{{Main|Railway Operation}}
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.<ref>{{Cite web|last=Ball|first=Albert|date=2020-07-19|title=Railway Operation Simulator User Manual|url=https://www.railwayoperationsimulator.com/downloads|url-status=live|archive-url=|archive-date=|access-date=|website=Railway Operation Simulator}}</ref>
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.<ref>{{Cite web|last=Ball|first=Albert|date=2020-07-19|title=Railway Operation Simulator User Manual|url=https://www.railwayoperationsimulator.com/downloads|url-status=live|archive-url=|archive-date=|access-date=|website=Railway Operation Simulator}}</ref>
Line 54:
Line 56:
== Timetabling ==
== Timetabling ==
+
{{Main|Timetable Creation}}
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.
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.