Procedural Racetracks

This BSc dissertation project deals with the procedural generation of race tracks, integrated with the racing game TORCS, a 15 year old project written in C that is perfect for this project. This work was published at the EUROSIS GameOn '14 conference. It aims to:

  • Create fun race tracks
  • Loads tracks in realtime
  • Use a model that can be tailored to different preferences

TORCS plays host to many different research projects, including those related to the procedural generation of race tracks. Many of these projects focus on accepting user input to create their track model, generating different experiences based on how the player is performing in-game. This project takes a different approach, built on the premise that racing games which have proved popular for years are well-received because of the challenge set to the player that is constant and repeatedly conforms to the player's expectations, which allows the player to face a challenge and experience fun through engaging in a challenge and overcoming it.

Based on this premise, the project uses a model of existing race tracks to generate new tracks for the player. Existing tracks in TORCS are analysed for the difficulty and frequency of different types of corners and straight segments. This model is then used to create a new track for the player in realtime when the "Random" track is selected in the TORCS track selection screen. The video below demonstrates quickly generating a series of race tracks: