Contracts Uncovered

Why Contracts?

Contracts offered to the player.

Routing the trains through a railway network according to a timetable is keystone of Rail Route. As everybody understands that a delayed train is not good, the timetable is a good base for any scoring or economy model.  (Throughput would be the other for some heavy duty cargo scenarios.) In our first demos, you can try playing that level with a fixed rail network and a predefined timetable.

But as we already mentioned, our game will allow you to build your own network as well as evolve your technology to manage more trains that go faster. With fixed schedule, train would have unavoidable delays in the beginning of the game because of low-capacity single tracks and “slow” rails. With the same schedule later in the game, it would be very easy to catch up delays made by horrible mistakes just thanks to “fast” rails and many parallel connections. The campaign mode needs an evolving timetable that matches current state of art in any phase of the game.

How They Work?

Prototype train with partially recorded timetable.

So we introduce contracts to overcome the pre-defined timetable by building a timetable dynamically as the game progresses.

Each contract has two phases: trial train phase and operational trains phase. During the trial, the player routes a “prototype” train to reach given stations so a timetable is recorded for all subsequent operational trains for this contract.

The player obtains payments for routing the operational trains and is penalized for their delays. Operational trains are scheduled with fixed period of one hour period (so the minute component of their timetable matches). For now there is a given number of operational trains for each contract so the contract eventually expires and the player has to agree on a new one (with a new trial). Payment for each train is offered based on average speed of the prototype.

Initiating the trial in manual mode.

In a manual mode, the player selects a contract offer and chooses a track to run the prototype train from; when successful, he either accepts or declines final contract conditions. In the beginning (during the first hour of the game time), it is easier to just let the game accept all contracts automatically, because there is no existing traffic to collide with. Once there is quite full there, the player can turn off Auto-Accept Contracts, the toggle is in Contracts panel, to select contracts by own.

Legal notice: each contract can be rejected without penalization any time before its first operational train arrives. Rejection after this point is subject to a substantial fine (not implemented yet).

Contracts are procedural content actually – they are generated randomly. They appear at random times, are offered for random time, train types, transit modes and stations are random as well as payments and penalizations. Tuning the parameters of this magic box for the resulting timetable to appear as realistic as possible is itself an endless game for us!

How They Look Like?

Contracts are generated for 3 main types of trains, each having its own specifics:

  • InterCity: fastest train; either passes the network, stopping at one of the most prominent passenger stations, or originates / terminates in the coach yard.
  • Commuter: medium speed train; stops at every station it visits; either comes from the outside and terminates at some passenger station, or converts from* such train and heads to the outside
  • Freight: slowest train; most variable route – comes from outside or appears (magically for now) at some freight station, heads to the outside or disappears (again, magically) at some freight station, stops or does not stop at some other station.

* It is a good idea to match each incoming train with an outgoing train, otherwise the stations will be full of idle trains soon!

To blend all types, majority of stations is not dedicated exclusively to passenger or to cargo transport – for each type of train above, they have distinct “attraction numbers” controlling how often they will be chosen for given contract type.

What They Still Miss?

There is still a lot of work ahead:

  • Real timetables optimise transits from long-haul trains to commuter trains and vice versa – commuters usually arrive to the main station before long-hauls and depart after them.
  • In the game, all station tracks are equal, but in reality some have passenger platforms and some have loading platforms adjacent to cargo buildings. In these days it is considered suboptimal to let foreign businessmen disembark where some livestock was unloaded just minutes ago – it should be in the game too!
  • As mentioned above, some freight trains appear / disappear magically in the middle of the station track what seems unrealistic. There should be a system of some industrial spurs, a marshalling (aka classification) yard (or two) and some binding between number of incoming / outgoing cars – or even some form of marshalling gamification!

The next release (coming this week) will demonstrate how contracts work on a quite big (still static) plan counting 19 stations.