Calling all code developers!
The Railway Operation Simulator is an open-source project which means that there is public access to the source code.
Railway program development up to August 2017 used the Borland C++ Builder 4 compiler, released in 1999 and incredibly still working 18 years later. Borland was taken over by Embarcadero Technologies in 2008, and they continued developing the product, the latest version being 10.3 released in November 2018. An earlier version of Embarcadero’s compiler was downloaded some time ago and the original source files updated to make them compilable using the new version. It took a while because as you can imagine there have been many changes between 1999 and 2017. There were quite a few changes needed in the original files to ensure compatibility, but it was pleasing to see that that there weren’t more. Embarcadero have done a very good job of allowing for backward compatibility. It was feared that the Embarcadero version would be so different that the original files would need to be largely rewritten, but happily that wasn’t the case.
The first program version using this compiler was v2.0.0 Beta, Beta because although a lot of testing was done it was feared that there would be some remaining errors because of the new compiler, but happily that wasn’t the case.
The latest source files are available at https://github.com/AlbertBall/railway-dot-exe/ for cloning or zip download. ‘DeveloperGuide.pdf’ in the ‘master’ folder provides a summary of program history, structure, operation and interfaces, and also explains the file structure.
Version control is provided by ‘Git’, so anyone wishing to contribute to further development should be familiar with this system – plenty of information is available on the web and it’s not difficult to learn the basics.
The latest C++ Builder compiler (Version 10.3) is now available as a FREE starter edition, available at the link below. If there is the slightest possibility that you might wish to develop the program further or even just experiment with it sometime in the future then I urge you to download the free compiler as soon as possible because it might well not be available indefinitely.
Although the program is fully usable now, there remains great potential for further development. Some ideas include:
- automatic route setting;
- option to use & display imperial units as well as metric units;
- ability to record and replay sessions;
- addition of automatic signal routes over level crossings, with train-triggered crossing opening
- multi-player operation over the internet;
- signalbox mode where individual signals and points are operated directly, perhaps via a graphical lever frame, with user-defined interlocking;
- sound effects, e.g. enter a track ID & hear trains & station announcements at that location;
- random failures of signals & points, and random delay times at stations;
- variable train lengths;
- restricted routes – e.g. DC 3 & 4 rail, 25kV AC, tube lines and so on;
- etc. etc.
So… there’s plenty still to do… what are you waiting for?