Building your own race-runner
The process of running a race is (deliberately) separate from the race server (although there’s a race-running in the code). This page describes how to go about creating your own. It doesn’t have to be in Python!
“Runner” versus “player”:
Remember the race runner is the software you use to determine the outcome of a race (“running” it). This is different from the race player which is application that replays the events of a race that were produced by the race runner.
This page is incomplete, and is currently being written! (2-Oct-2023)
Summary: inputs/process/output
Inputs
There are effectively two sources of data for the race:
-
global race/game specifications
You can see these in the form of the specs on the demo site — note how they are available in JSON format so your race-runner can -
specific details of this race and the buggy entrants
This is the race file (JSON format) you download from the race server
Process
The race runner takes the inputs and calculates the events that take place in the race, ultimately yielding its results. These include scrutineering the buggies that have been entered into the race and disqualifying those who do violate any race rules.
Outputs
The race runner produces an updated version of the race file — which now includes the results (for example, the position of each buggy) and the events that occurred.
Implementation details
This page is incomplete, and is currently being written! (6-Dec-2023)