OpenRacing is a racing game, but it is also a simulator which aims to develop better artificial intelligence for human-driving assistance and driverless cars. It is based on the Torcs codebase, but is being methodically re-written into C#, ported to leverage the graphics engine Ogre, the physics engine ODE, the input system OIS, the widget API MyGui (which now has C# wrappers, at our request), and extended with a more general track model.
Then, we will have a clean and 10x smaller codebase for building smarter autonomous vehicles which can handle the complexities of urban scenarios, and can eventually navigate via the use of a vision recognition engine and simulated sensors like radar and GPS.
The work in progress is here.
OpenRacing hosted in Launchpad / Bzr
Source, etc. is here: Launchpad
Install the dependencies
These instructions assume Ubuntu. If you are running something else, your steps will vary slightly. Instructions here
Go into openracing's directory.
The script installs a few missing files and generate the usual configure script.
Then launch configure.
$ ./configure --with-ogredotnet=/full/path/to/ogredotnet-read-only/bin --with-myguinet=/full/path/to/mygui-or/Bin/Debug --with-tao=/full/path/to/tao/bin $ make
If everything got right, an openracing script should have been generated. You can launch it immediately or install OpenRacing into the system.
$ sudo make install
If it doesn't work, please complain to us so we can fix the bugs!
Using the Monodevelop project
For developers, a monodevelop project is now available, allowing to edit and launch C# parts of OpenRacing from a nice all-integrated GUI.
First, you must compile openracing as shown above. The compilation process generated for you a monodevelop.sh script.
But before to launch it there is a little hack to do...
Go to the src/ directory. A create link to Ode, OgreDotNet and MyGUI's DLLs. This is what I did on my system, please adapt it to yours:
$ ln -s /home/jeko/Sources/deps/taoframework-2.1.0/bin/Tao.Ode.dll $ ln -s /home/jeko/Sources/deps/ogredotnet/bin/Math3D.dll $ ln -s /home/jeko/Sources/deps/ogredotnet/bin/OgreDotNet.dll $ ln -s /home/jeko/Sources/deps/MyGUI-OR/Bin/Debug/MyGUI.dll
This makes sure monodevelop will find the necessary references needed to compile OpenRacing. (I tried hard to make this better, but it seems impossible)..
Then you can launch:
The scripts sets some environment variables (so that uninstalled shared libraries from OgreDotNet and MyGUI can be found for execution). Last hack before you're done: you must edit Config.cs file (which appears at the end of the file list):
public static string OPENRACING_DATA_PATH = "/home/jeko/Sources/openracing/data";
public static string OPENRACING_DATA_PATH = "/full/path/to/openracing/data";
You're done, happy hacking!