Offroad Racing (2006)

Car simulation with unlimited movement across a huge landscape with realistic physics and ability of player to switch different vehicles (like in GTA). The main goal was to learn how to implement my own physics engine and advanced scene manager. I also used this project as a part of my Bachelor thesis.

Main features:

  • Large landscape - heightmap resolution 2550x2550 (map size 5x5km).
  • As a map editor is used open-source game OpenTTD.
  • Physics engine uses rigid bodies and spring systems (calculated by 4th order Runge-Kutta integration method).
  • Scene manager uses regular grids and bounding sphere hierarchies.
  • Collision response system uses penalty force method to achieve maximum level of realism.
  • Tyre simulation model uses Pacejka method to guarantee skid realism.
  • Six different surface types (each has different influence on vehicle driving behaviour).
  • Transmission simulation - calculates transfer of force from engine to wheels.
  • Several fully configurable vehicles.
  • Multiplatform (Linux and Windows).


Landscape is composed from six types of surface, several types of static objects (trees) and roads. Terrain mesh is created from 6.5 milions vertices calculated from a heightmap file. Player has full freedom to move across the landscape with any vehicle (or by foot), scene manager ensures real-time loading of close terrain segments and static objects to memory. Landscape can be created in OpenTTD open-source game and then converted to Offroad map file.


Engine contains several types of cars each with different driving parameters. Player is allowed to switch between them during the simulation (like in GTA). Parameters of each car type are stored in text config file which can be easily edited. The list of main parameters includes suspension strength and damping, engine power, transmission ratios, Pacejka tyre parameters and many others.


Back to Projects