# TORCS

TORCS (The Open Racing Car Simulator) ist eine freie Autorennsimulation, verfügbar für Linux, FreeBSD, Mac OS X, und Microsoft Windows. Das Programm ist in C++ implementiert und wird unter der Open-Source-Lizenz GNU GPL bereitgestellt. TORCS ist auf die Entwicklung von KI-Rennfahrern ausgelegt, Spieler können aber auch selbst fahren und ein Fahrzeug mit der Tastatur, Maus oder einem Lenkrad und Pedalen steuern. Die bekannteste Abspaltung von Torcs ist Speed Dreams. Die aktuelle Version von Speed Dreams ist 2.2.1.

## Inhalte

Der Simulator enthält Modelle von diversen Hochleistungsfahrzeugen, Formel-1- und Geländefahrzeugen. Sie sind nach Leistungsklasse und Aufbau des Antriebsstranges systematisiert. Mit Hilfe von Fanerweiterungen lässt sich der Umfang beliebig vergrößern.
In Version 1.3.1 sind viele verschiedene Strecken der Kategorien road (Straßenstrecken), dirt (Rallycrossstrecken) und oval (Ovalstrecken) enthalten. Unter anderem finden sich Nachbauten der Strecken von Monza, Suzuka und Adelaide sowie sehr viele fiktive Strecken. Über das Internet lassen sich noch viele weitere Strecken als Add-On beziehen, so zum Beispiel Brands Hatch, Le Mans oder der Laguna Seca Raceway. Es existieren auch jeweils ein Editor zum Erstellen eigener Strecken und zum Erstellen eigener Fahrzeuge.
Die von der Software kontrollierten Fahrer (Computergegner) werden innerhalb des Projekts als Robots bezeichnet. Die Eigenschaften und das Verhalten eines Robots werden über einen Teil des Quelltextes festgelegt. Eigene Robots können in C oder C++ programmiert werden.

## Entwicklung
### Geschichte

Die Entwicklung von TORCS wurde 1997 von Eric Espié und Christophe Guionneau begonnen. Zu Beginn war die Simulation zweidimensional, der Name des Projekts war Racing Car Simulator (RCS). RARS (Robot Auto Racing Simulator) wurde am Anfang als Inspiration verwendet. Nachdem Espié und Guionneau eine 3dfx-Grafikkarte erworben hatten, entwickelten sie die erste 3D-Version des Simulators unter Verwendung von OpenGL und benannten das Projekt in Open Racing Car Simulator (ORCS) um (um Verwechslungen mit dem Revision Control System zu vermeiden). Nach weiteren Entwicklungen erhielt das Projekt seinen aktuellen Namen TORCS. Die erste Version (0.0.15) wurde am 11. September 1999 veröffentlicht. Im März 2005 wurde das Projekt an Bernhard Wymann übergeben.

### Ausstehende Funktionalität

Abgesehen von Wartung und Verbesserungen sind ein Netzwerk-Mehrspieler-Modus, eine verbesserte Physik-Engine, bessere Wagen-Innenansichten und die Aufzeichnung von Wiederholungen sowie Telemetrie vorgesehen.

### Abspaltungen

Von TORCS gibt es verschiedene Abspaltungen, zum Beispiel Speed Dreams (früher TORCS-ng genannt), pyTORCS (früher OpenRacing genannt) und GZRacing. Abspaltungen erfolgen zum Erreichen von Zielen, welche mit TORCS nicht vereinbar sind.
* Speed-Dreams-Logo, eine TORCS-Abspaltung
* TORCS 1.3.3 (links) vs Speed Dreams 2.0 mit Reflexionen (rechts)
* Speeddream-Screenshot eines Archer-R9

## Rezeption
### Kritiken

Das Linux Journal erwähnte TORCS als die beste Open-Source-Autorennsimulation in der Ausgabe vom 18. Oktober 2007. Besonders hervorgehoben wurden die Möglichkeiten zum Erstellen eigener Fahrzeuge, das realistische Fahrzeugverhalten sowie die Grafik.

### Wettbewerbe

Das TORCS Racing Board führt auf seiner Website Wettbewerbe für TORCS-Spieler durch. Dabei werden von den Spielern entwickelte KI-Rennfahrer gegeneinander ins Rennen geschickt. Dazu werden die KI-Rennfahrer zum TORCS Racing Board hochgeladen, die Rennen werden dann offline ausgeführt und die Resultate hochgeladen.
Fachbereiche der Julius-Maximilians-Universität Würzburg und Polytechnikum Mailand führen zwei weitere Wettbewerbe durch, das Simulated Car Racing Championship und das Demolition Derby Competition, beide Wettbewerbe verwenden modifizierte TORCS-Versionen.

### Verwendung in Forschung und Lehre

Wegen der Portabilität, Stabilität, Einfachheit, Modularität und Erweiterbarkeit wurde TORCS in vielen Forschungsprojekten verwendet, beispielsweise zur automatisierten Ermittelung von Fahrzeugeinstellungen, zur Verifikation von Fahrzeugkomponenten, zur Erforschung von Anwendungen neuronaler Netzwerke und vieles mehr. Seit 2008 wird TORCS auch für Projekte der IEEE Conference on Computational Intelligence and Games eingesetzt.