Off the Rails


Off the Rails is a two-player turn-based strategy game based heavily on route planning and out-smarting your opponent. Off The Rails provides players with some novel ideas while keeping familiar strategic concepts central to the games mechanics.

System Requirements

As the game is written in Java, the game can be made to run on all systems which can run the Java Runtime Environment. The game itself has been designed to run on Windows 7, but, with little or no effort, can be played on OS X, Linux and Android.

For developers to run and edit the source code, libGDX, Gradle and JDK 7+ are all required.

Download Now!

Developers can download the source-code from our GitHub repository using the link at the bottom of the page. Regular users can download the executable file here. The download is a zipped file- you will need to extract this and run the .jar file. Make sure the .jar file and .txt file that come out of the zip, are both in the same folder. You may find the user manual below particularly useful to you when playing the game.

Game Manual

We have created a user manual for the game. This game manual is freely downloadable in pdf form and contains all the information you might need to get up and running with Off the Rails, as well as how to play.

The game manual is aimed at beginner users and contains information on how run the game from the executable .jar file rather than the source code. In contrast, the source code is provided as is, with no warranty or support guides.


Framework Features

The current source code has been built specifically to make scalability and extra functionality incredibly easy to add to the game. The Easy to Implement Features section below details some of these features that we have designed all our classes to work with.

Easy to Implement Features:

To make the game more competitive and strategy-based, we have designed the game so far to support the addition of a fault generation. Both junctions and trains java classes have the ability to develop faults, if such an engine was written. This would mean a train would be unmoveable, or a junction could not be travelled through until repaired.

The game already has a working rewards system- when a goal is completed, the player is rewarded with points and money. In a future version of the project, we envision the player being able to spend this money in a store. This store will contain the option for players to upgrade their trains- to move further in a turn, or become more reliable (once the fault generation has been completed). The player will also be able to buy new trains and expand their empire- add new trains to a player is effectively already supported using the Player.buyNewTrain() method.

The game at this stage is for two players, however, by simply changing a small number of values in the source code, the game can work for more players little effort.

To make the game more interactive, another easy feature to add is allowing the user to choose their start/home station. Currently the player's start location is set by the GameEngine class when the player is initialised, but it would be easily possible for the user to set this before the game starts.