OpenRacing WIP

Revision as of 12:41, 22 June 2009 by Jeko (talk | contribs)

Tasks & Plans

Achieving OTI

This is little thinking about torcs/openracing interdependencies... The goal of this thinking is to simplify the code, by getting rid of as much C++ as possible, especially if it is useless.

the present

  • The only hard dependency that OR does have on Torcs' C++ code is simuv2 (simuv2 works with tTrack, tCarElt and tSituation).
    • This in turn create a dependency over torcs track plugin, which is required to load a tTrack properly.
  • The robot interface depends on tCarElt for compatibility with Torcs AI, this can be dropped for now, we can find a cleaner solution later on.
    • The robot itself is responsible for loading the car informations (an XML GfParm file), which file is then used by the simulator.
  • RaceManager inits tCarElt using informations given by the Robot's XML, then associate the Car with the Robot.


the questions

What is it the robot which decide the features of his car? It seems more natural to me to build a car, then put a driver into the car (instead of the opposite).

Old tasks

Ogre renderer

  • Automatic car 3D model conversion. (can be called "automatic AC3D to Ogre conversion").
  • Automatic track 3D model conversion from Torcs-NG's data (starting from trackgen). Should warn about unsupported geometry and such.
  • Make a camera follows a car (from behind) : DONE.

Core engine

  • Load a complete track using C++ plugin : DONE.
  • Initialize OgreDotNet graphic plugins to display the track : DONE.
  • Load cars / physics engine : DONE.
  • Load a C++ driver / create C# interface : DONE.


  • Compile libsimulator from unmodified Torcs-NG repository. No hurry for this. They aren't going to start using our code soon, anyway.


  • Implement user controlled vehicle : DONE.
  • Load sharpy's driver, make it run a car : Keith will do

User interface

  • Make a GUI designed for our needs (load a track, evaluate drivers, run simulation in background, ...) : WIP
  • Port to MyGUI's C# interface : DONE.
  • Work on the installation process

Merging Imre's work



  • Identify hardcoded stuffs : WIP
    • -> LD_LIBRARY_PATH=/home/mulder/projects/openracing/cleaned/src/libsimulator/.libs
    • src/ode/OdeLoader.cs -> mCtx.RegisterResourcePath("/home/mulder/projects/trunk/track/Barcelona/");
    • my_config doesn't have to be in the repository
    • src/core/RaceManager.cs -> InitStartingGrid
    • src/graphic/OScene.cs -> mCtx.RegisterResourcePath("/home/mulder/projects/openracing/cleaned/data/tracks/road/icy");
    • src/ode/OdeMesh.cs -> XmlTextReader reader = new XmlTextReader("/home/mulder/projects/openracing/cleaned/data/tracks/road/icy/Mesh.mesh.xml");
  • Full merge
  • Clean


Bellow, you'll find some screenshots showing work in progress of Ogre renderer and GUIs.